Как в при вводе строки узнать, было ли копирование или нет? #24263


#0 by totem
Вопрос как для формы списка справочника, так и для формы документа.
#1 by Волшебник
В модуле объекта есть предопределенная процедура ПриКопировании
#2 by totem
Это в v7?
#3 by 111
см. в синтакс-помощнике ВводНового(<ПризнакКопирования>,<ОбъектКопирования>)
#4 by Дурочка 1С
Синтаксис: ВводНового(<ПризнКопирования>,<ОбъектКопирования>) Назначение: Предопределенная процедура при интерактивном вводе нового элемента справочника. Параметры: <ПризнКопирования> - признак того, что объект введен копированием. Число: 1 - объект введен копированием, 0 - просто новый объект. Данный признак может быть использован для анализа необходимости инициализации реквизитов нового объекта. <ОбъектКопирования> - объект, который был скопирован. Замечание: Данная процедура может располагаться только в программных модулях форм справочника.
#5 by Кортес
А для табличной части документа?
#6 by Дурочка 1С
А ты любопытный! Шалун!
#7 by totem
- повторяю: при вводе строки в форме списка справочника либо при вводе строки в форме документа.
#8 by Дурочка 1С
КонецПроцедуры Синтаксис: ПриОкончанииРедактированияСтроки(<НовСтр>) Назначение: Предопределенная процедура при окончании редактирования строки многострочной части документа. Параметры: <НовСтр> - флаг новой строки. Число: 1 - если произошло окончание ввода новой строки, 0 - если произошло окончание редактирования существующей строки.
#9 by Дурочка 1С
Не тупи.
#10 by Кортес
Процитируешь весь СП? А зачем? А по делу?
#11 by Кортес
#12 by Дурочка 1С
(Кортес) см.
#13 by Кортес
Очень внимательно выслушаю пояснения к
#14 by totem
Други мои, зачем по вашему есть ПриВводеСтроки? Правильно - потому что есть СтатусВозврата. Задача: хочу отказатся от ввода строки, если она была копирована.
#15 by Кортес
Тебе всё объяснит Дурочка. До свиданья, с Рождеством наступающим.
#16 by Дурочка 1С
1С:Предприятие Версия 7.7 Описание встроенного языка. Часть1. Прочесть 2 (два) раза. Можно копировать пустые строки документов. Разве нет?
#17 by totem
Вообще обрисую задачу серьезно: В форме документа ввод новой строки необходимо сделать "в диалоге", для чего создана спец.обработка, передача параметров, тра-ля-ля. Так вот, единственной дыркой в этом методе является эта самая: не могу при вооде строки определить ни признак копирования, ни объект копирования. 1С:Дурочке - спасибо за юмор, но хочется большего.
#18 by Art-soft
Да она ж дурочка
#19 by 1111111111
ВводНового - всегда СтатусВозврата А потом открываешь свою обработку, модально, и по результатам ее работы добавляешь или не добавляешь строку - НоваяСтрока... Это, конечно, если копирование надо просто запретить. Т.к. тут что F9, что Ins -будет одинаково
#20 by Дурочка 1С
(tem:to) Клоун-юморист, если ты отключаешь стандартный ввод строки (непонятно зачем?), то чего ты хочешь от преопределенных функций?
#21 by totem
в форме документа ВводНового - это для документа, а не строки не спрашивайте меня, зачем мне это нужно, и я не скажу, куда вам идти :) Объясните мне, клоуну, что значит "отключаешь стандартный ввод строки".
#22 by 1111111111
Да, оговорился, ПриВводеСтроки конечно же...
#23 by Дурочка 1С
>> В форме документа ввод новой строки необходимо сделать "в диалоге", для чего создана спец.обработка, передача параметров, тра-ля-ля. Объясните мне, что значит "тра-ля-ля"?
#24 by totem
Сдаюсь. В табличной части документа порядка 30-ти реквизитов, мало того, есть реквизиты, для которых ну очень нужно использовать флажки, переключатели, многострочные тексты, картинки и т.д. И это только часть необходимости. Всем. Что мне нужно от Вас, други мои: 1. Не приводить описания процедур из СП, поскольку я знаю его наизусть. 2. Не спрашивать меня, зачем это нужно. 3. Согласится, что стандартными методами решить задачу невозможно. 4. Предложить интересный вариант решения, зачем я сюда и обратился.
#25 by totem
Сдаюсь. В табличной части документа порядка 30-ти реквизитов, мало того, есть реквизиты, для которых ну очень нужно использовать флажки, переключатели, многострочные тексты, картинки и т.д. И это только часть необходимости. Всем. Что мне нужно от Вас, други мои: 1. Не приводить описания процедур из СП, поскольку я знаю его наизусть. 2. Не спрашивать меня, зачем это нужно. 3. Согласиться, что стандартными методами решить задачу невозможно. 4. Предложить интересный вариант решения, зачем я сюда и обратился.
#26 by Если
при начале ввода строки очистить все реквизиты, то скопированная строка ничем абсолютно не будет отличаться от введенной по Ins и можно считать ее просто новой... или стоит цель непременно уничтожать строки, введенные копированием?
#27 by 1111111111
Скажи, пожалуйста, тебе надо просто _запретить_ копирование, или все-таки нужно знать, было копирование или нет?
#28 by totem
Нужно знать, было ли копирование, что-бы засунуть реквизиты объекта копирования в тот самый "диалог строки"
#29 by totem
Кстати, объект копирования при вводе строки известен, это - текущая строка.
#30 by Дурочка 1С
#31 by А если
пустую строку скопировали -  работа с ней будет отличаться от введенной по Ins или нет? Проблемы по-моему никакой нет, Кортеса читай.
#32 by totem
читайте 17 и 24
#33 by 1111111111
То, что в для определения, скопировали или нет, подходит?
#34 by 427
если ты сделаешь скрытую колонку, которую можно заполнить только программно при программном вводе - по ней и определяй...
#35 by Кортес
Мне всё еще не понятно, что пит хотел сказать в . Пояснений я от него так и не услышал.
#36 by totem
33) При вводе/начале_редактирования строки СтатусВозврата и открывается в модальном режиме диалог для заполнения реквизитов строки. Таким образом, новая строка появляется (либо изменяется существующая) после того, как в этом диалоге юзер нажал кнопку ОК, и до ПриРедактированиеНовойСтроки дело не доходит. Рассматривал вариант, когда не отменяешь ввод новой строки и вместе со стандартным вводом открываешь диалог, но в этом случае нужно предусмотреть отказ от новой строки пользователем (удаление не записанной новой строки), чего я так и не добился.
#37 by 1111111111
#38 by Дурочка 1С
За пивом, то есть кого послать? Нету? Ну, так сам сходи. Рассол, говорят, помогает, пирамидон. Да, мало ли рецептов. Ты главное лечись, лечись. Не запускай.
#39 by totem
Восхищен. Итак, вопрос "как в при вводе строки узнать, было ли копирование или нет" на моем конкретном примере свелся к решению вопроса "как удалить новую не введенную строку", оригинальное решение 1111111111 я лично проверил и рекомендую в базу знаний. P.S. Скрытая колонка вовсе не обязательна, но тоже оригинально.
#40 by Дурочка 1С
Можно для блондинок помедленнее? Почему скрытая колонка (заполненная только программно) при копировании не копируется? Что я не правильно делаю?
#41 by Кортес
Хамишь.
#42 by Дурочка 1С
Издеваешься.
#43 by Кортес
Рекомендовать в БЗ можно, только галиматья какая-то. Решение через жиоппу того, о чем не спрашивалось в .
#44 by totem
В базу знаний я рекомендую следующее: Что касается общего решения, соглашусь, его я пока не увидел.
#45 by Дурочка 1С
Дурдом полный. При любом вводе строки идем в ПриЗакрытии, удаляем введенную строку (зачем давать вводить, чтобы тут же удалять? - напоминает мисту). Дальше еще веселее: >> Если ЭтоНеНоваяСтрока=1 Тогда //Это та колонка, что в Это та колонка от удаленной строки? Хотелось бы полюбоваться на это, особенно, когда удаленная строка была единственной. >>ККК=Тут пихаем параметры для скопированной строки; Кабы знать с какой строки она скопирована, слушали бы мы тебя.
#46 by totem
Скрытый реквизит должен повторять номер строки. Тогда ПриРедактированииНовойСтроки можно узнать, какой строки это копия, или просто новая строка, если скрытый реквизит =0. Правда, потребуется помудохаться с контролем порядка в табличной части.
#47 by totem
Особенно при интерактивной сортировке по колонке.
#48 by Дурочка 1С
Клоун, чего ты изобретаешь, сам не знаешь чего? Не давай вводить стандартной процедурой и подбором. Повесь на форму две кнопки "Новая строка" и "Копировать строку".
#49 by Кортес
Общих решений не бывает...
#50 by totem
У Вас исть идея?
#51 by totem
Вероятно, Вы бы так и сделали. Однако настолько примитивные решения мне стыдно будет показать даже своей заднице.
#52 by 427
а славно то как народ на три рубля покупается...
#53 by Совершенство
Решение на поверхности.
#54 by 1111111111
В магазине игрушек вчера видел: Ценник --------------------- ---------------------
#55 by totem
>>При любом вводе строки идем в ПриЗакрытии Процедура ПриРедактированииНовойСтроки   ККК=Тут пихаем параметры из новой/скопированной строки;
#56 by Ёжик в тумане
Мне больше нравится "Смерть на батарейках" - 50 р.
#57 by Дурочка 1С
Те же яйца, вид сбоку. Сам то не видишь, свинтопрульный?
#58 by Правильного
решения никто не дал
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С