обновление данных табличной части при записи документа
По теме из базы знаний
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2
- Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы
- Загрузка чеков ФНС в документы 1С:БП, 1С:УНФ, 1С:ERP, 1С:КА и 1С:УТ
- Дружелюбный интерфейс итогов в диалоге табличных частей, для Управляемых форм.
- Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
Форма = ЭтаФорма;
Если Форма.Элементы.Найти("ТоварыПереноситьГалочкаТест") = Неопределено Тогда
Реквизиты = Новый Массив;
Реквизиты.Добавить(Новый РеквизитФормы("ПереноситьГалочкаТест", Новый ОписаниеТипов("Булево"), "Объект.Товары" , "Переносить галочка тест", Ложь));
Форма.ИзменитьРеквизиты(Реквизиты);
ВставитьПеред = Форма.Элементы.Найти("ТоварыОбособленно");
НовыйЭлементФормы = Форма.Элементы.Вставить("ТоварыПереноситьГалочкаТест", Тип("ПолеФормы"), Форма.Элементы.Товары, ВставитьПеред);
НовыйЭлементФормы.Вид = ВидПоляФормы.ПолеФлажка;
НовыйЭлементФормы.ПутьКДанным = "Объект.Товары.ПереноситьГалочкаТест";
КонецЕсли;
Форма = ЭтаФорма;
Если Форма.Элементы.Найти("ТоварыПереноситьГалочкаТест") = Неопределено Тогда
Реквизиты = Новый Массив;
Реквизиты.Добавить(Новый РеквизитФормы("ПереноситьГалочкаТест", Новый ОписаниеТипов("Булево"), "Объект.Товары" , "Переносить галочка тест", Ложь));
Форма.ИзменитьРеквизиты(Реквизиты);
ВставитьПеред = Форма.Элементы.Найти("ТоварыОбособленно");
НовыйЭлементФормы = Форма.Элементы.Вставить("ТоварыПереноситьГалочкаТест", Тип("ПолеФормы"), Форма.Элементы.Товары, ВставитьПеред);
НовыйЭлементФормы.Вид = ВидПоляФормы.ПолеФлажка;
НовыйЭлементФормы.ПутьКДанным = "Объект.Товары.ПереноситьГалочкаТест";
КонецЕсли;
(11) в обработчике модуля формы ПередЗаписьюНаСервере сохраняете куда нибудь нужные данные.
В обработчике ПослеЗаписиНаСерере восстанавливаете.
ПослеЗаписиНаСервере перечитывает данные из объекта в данные формы. Вот в него можно вклиниться.
Но это не делает эти данные записанными в базу.
В обработчике ПослеЗаписиНаСерере восстанавливаете.
ПослеЗаписиНаСервере перечитывает данные из объекта в данные формы. Вот в него можно вклиниться.
Но это не делает эти данные записанными в базу.
(11)Нет. При выполнении записи реквизит формы Объект преобразуется в документ объект, и далее документ объект записывается в базу. У документа объекта в табличной части есть только реквизиты, которые заданы в метаданных.
После того как документ объект записан, в После записи на сервере он загружается в объект формы, и т.к. у документа-объекта нет реквизитов формы в табличной части, то они очищаются.
Это стандартное поведение платформы.
Как в 13 посоветовали - сохраняйте Перед записью на сервере, и После записи на сервере заполняйте обратно ваш реквизит формы.
Но после закрытия формы эти данные пропадут.
После того как документ объект записан, в После записи на сервере он загружается в объект формы, и т.к. у документа-объекта нет реквизитов формы в табличной части, то они очищаются.
Это стандартное поведение платформы.
Как в 13 посоветовали - сохраняйте Перед записью на сервере, и После записи на сервере заполняйте обратно ваш реквизит формы.
Но после закрытия формы эти данные пропадут.
Я создавал реквизит с типом хранилище значений и его использовал, не знаю подойдет ои под вашу задачу
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Ключ.Пустая() Тогда
СтраныПоиска = Неопределено;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ТекущийОбъект.СписокСтранХЗ = новый ХранилищеЗначения(СтраныПоиска);
ТекущийОбъект.СписокИБХЗ = новый ХранилищеЗначения(СписокИнформационныхБаз);
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
СтраныПоиска = ТекущийОбъект.СписокСтранХЗ.Получить();
СписокИнформационныхБаз = ТекущийОбъект.СписокИБХЗ.Получить();
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот