|
Обработка заполнения ТЧ в документе. |
☑ |
0
ЗлаяЗая
18.12.18
✎
11:10
|
Делаю внешнюю обработку заполнения ТЧ в документе.
При этом должна открыться таблица, в которую нужно вывести список номенклатуры из документа. Таблица открывается, а в нее ничего не переносится.
В модуле объекта:
Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) экспорт
Сообщить(Объект);
Форма = ПолучитьФорму("Форма");
Форма.Открыть();
КонецПроцедуры
в модуле формы
Процедура ПриОткрытии()
Сообщить("Док "+ДокументОбъект);
в модуле объекта выдает название документа, в котором работаю. а в модуле формы- нет.
Подскажите, пожалуйста, как надо сделать.
|
|
1
Михаил Козлов
18.12.18
✎
11:19
|
В форме в ДокументОбъект что? Может надо в Инициализировать ДокументОбъект = Объект?
|
|
2
Serg_1960
18.12.18
✎
11:24
|
(0) Вам бы сначала учебники почитать :(
Форма = Объект.ПолучитьФорму("Форма");
|
|
3
Serg_1960
18.12.18
✎
11:29
|
(1) Предполагаю что это из описания "Синтаксис-помощника" - там есть "ДокументМенеджер", "ДокументСсылка", "ДокументОбъект" :)
|
|
4
ЗлаяЗая
18.12.18
✎
11:36
|
(1) ДокументОбъект объявлен в реквизитах. В форме он как раз- ничто :( пусто
(2) если записать так, то ругается. Видимо потому, что объект- это документ, а у документа нет формы "Форма".
|
|
5
ЗлаяЗая
18.12.18
✎
11:37
|
"Форма" это во внешней обработке, которая и должна открыться
|
|
6
Serg_1960
18.12.18
✎
11:43
|
Ну,наверное, тогда типа так:
Форма = ПолучитьФорму("Форма");
Форма.ДокументОбъект = Объект;
Форма.Открыть();
|
|
7
Serg_1960
18.12.18
✎
11:48
|
PS: принято сразу сообщать версию платформы; управляемые формы или нет; конфигурацию и её версиюи прочую информацию.
Можно и не сообщать. Если Вас интересует сам процесс, а не результат.
|
|
8
Мимохожий Однако
18.12.18
✎
12:01
|
(0) Это для обычной формы. Какая конфигурация, леди?
|
|
9
ЗлаяЗая
18.12.18
✎
15:17
|
(6) открылось :)
А теперь дальше :)
Из документа вызывается внешняя обработка для заполнения ТЧ. Вызвали. Выгрузили в нее ТЧ документа. Изменили данные. Теперь нужно эти данные перенести в документ.
На экране открытый документ не изменяется.
Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) экспорт
Форма = ПолучитьФорму("Форма");
Форма.ДокументОбъект = Объект;
Форма.Открыть();
СС=Форма.СписокНом.Выгрузить();
Объект.Товары.Очистить();
Для каждого т ИЗ СС Цикл
НоваяСтрока=Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока,т);
НоваяСтрока.Цена=т.НоваяЦена;
КонецЦикла;
ФормаДок = Объект.ПолучитьФорму("ФормаДокумента");
Если ФормаДок.Открыта() тогда
сообщить("форма открыта");
ФормаДок.Прочитать();
ФормаДок.Обновить();
КонецЕсли;
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой