Имя: Пароль:
1C
1С v8
Обработка по заполнению табличных частей документа модифицирует документ
0 Администратор 1С
 
26.04.12
11:52
Здравсвуйте,
Есть обработка по заполнению табличных частей документа, которая не меняет ничего в документе, но при ее запуске в форме документа сразу же устанавливается признак модифицируемости документа (*). Вот кусок кода:

Процедура Инициализировать Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта)    Экспорт
    Перем КоэфЦены;
    МетаданныеДок=Объект.метаданные();
    Если Не ВвестиЧисло(КоэфЦены,"Введите коэффицент",10,4) Тогда
        Возврат;
    ИначеЕсли КоэфЦены<=0 Тогда
        Возврат;
    КонецЕсли;
......    
При появлении модального окна, у формы документа уже стоит "*".
При отладки этой обработки с помощью обработки по отладке таких обработок, признак модифицирумости не устанавливается.
Вопрос: Как  использовать обработки по заполнению табл. частей не модифицируя документ?
1 Администратор 1С
 
26.04.12
12:12
up
2 daim-1
 
26.04.12
12:16
Здравствуйте! Проблема состоит в том, что у кнопки установлен флаг "Изменяет данные". Хоть в соообщении явно не указано, предположу, что речь идет о дополнительных внешних обработках. Так вот, если в модуле УниверсальныеМеханизмы убрать этот флаг при программном создании кнопок, модифицированность объекта не будет меняться. В общем случае было бы неплохо определять, меняет обработка объект или нет и каким-то образоом привязать это к процедуре программного формирования кнопок. Платформа таким образом "перестраховывается" - ага, кнопка изменяет данные, дай-ка я поставлю флаг модифицированности на всякий случай. Как-то так вот.
3 Администратор 1С
 
26.04.12
12:55
(2) В точку! Огромное спасибо!
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан