|
Вопрос по внешней обработке таб. части документа (модифицированность объекта)
| ☑ |
0
Saari
13.09.16
✎
15:30
|
Сделал внешнюю обработку по заполнению табличной части документа по условию. В модуле обработки прописал процедуру Инициализировать(), в теле которой вызвал функцию по анализу данных и заполнению табличной части.
Обнаружил, что даже если тело процедуры Иницализировать() оставить пустым (никаких значений в реквизитах в документе не изменяется), то после вызова внешней обработки из документа документ становится измененным (появляется * в заголовке окна документа и при закрытии появляется вопрос о сохранении изменений).
Как сделать так, что если данные в документе не меняются (из обработки по заполнению таб. части), то и признака измененности не было бы?
|
|
1
Лефмихалыч
13.09.16
✎
15:31
|
значит данные меняется где-то еще
|
|
2
Saari
13.09.16
✎
15:37
|
Вот модуль внешней обработки:
Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПоле) Экспорт
КонецПроцедуры
Все. Нет формы обработки, в модуле обработки тоже ничего больше нет.
Но при вызове ее из документа по кнопке "Заполнить" получаю, что документ становится измененным.
|
|
3
Nuobu
13.09.16
✎
15:43
|
Когда создаётся форма, то эти кнопки создаются программно. В процедуре создания (в УТП это УниверсальныеМеханизмы.СформироватьПодменю (строка 339)) есть создание кнопки:
Кнопка = Кнопки.Добавить(бла, бла, бла);
// еще какой-то код
Кнопка.ИзменяетДанные = СтрокаКнопок.ИзменяетДанные;
Последняя строка заполняется тут:
УниверсальныеМеханизмы.ПолучитьДеревоКнопокЗаполненияТабличныхЧастей():
ДобавитьСтрокуВДеревоКнопок(СтрокаПодменю, "ЗаполнениеТЧ"+НомерКнопки, ТипКнопкиКоманднойПанели.Действие, ВыборкаДействий.Наименование, Действие , ВыборкаДействий.Ссылка, , , , , Истина)
Последний параметр (истина) это и есть "ИзменяетДанные".
|
|
4
Saari
14.09.16
✎
08:38
|
УТ 10.3, документ "Поступление товаров и услуг".
В форме документа на закладке "Товары" есть кнопка "Заполнить", у которой есть меню из нескольких пунктов. В свойстве каждого пункта этого меню есть отметка "Изменяет данные".
Я не нахожу где находится прописание пункта меню с вызовом внешней обработки по заполнению таб. части документа.
Видимо там нужно указать этот параметр? Подскажите, пожалуйста.
|
|
5
PaulBC
14.09.16
✎
08:51
|
Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт
.....
Объект.ПолучитьФорму().Модифицированность = Ложь;
КонецПроцедуры
|
|
6
Saari
14.09.16
✎
09:07
|
(5) Спасибо! Получилось.
|
|