обновление данных табличной части при записи документа

1. aidaakylkyzy 30.11.22 11:51 Сейчас в теме
При открытии формы документа заказа клиента, программно создается колонка с фложком в табличной части. Если поставить истина в этой колонке и записать или сохранить документ не закрывая его, флажок становится ложью. Как сохранить данные колонки при записи документа?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Guyer 20 30.11.22 11:54 Сейчас в теме
Если этот флажок - это реквизит ТЧ, то он сохраняется в объекте, а если это просто колонка то она никак не сохранится
3. aidaakylkyzy 30.11.22 11:57 Сейчас в теме
(2)
Форма = ЭтаФорма;

Если Форма.Элементы.Найти("ТоварыПереноситьГалочкаТест") = Неопределено Тогда


Реквизиты = Новый Массив;
Реквизиты.Добавить(Новый РеквизитФормы("ПереноситьГалочкаТест", Новый ОписаниеТипов("Булево"), "Объект.Товары" , "Переносить галочка тест", Ложь));
Форма.ИзменитьРеквизиты(Реквизиты);

ВставитьПеред = Форма.Элементы.Найти("ТоварыОбособленно");
НовыйЭлементФормы = Форма.Элементы.Вставить("ТоварыПереноситьГалочкаТест", Тип("ПолеФормы"), Форма.Элементы.Товары, ВставитьПеред);
НовыйЭлементФормы.Вид = ВидПоляФормы.ПолеФлажка;
НовыйЭлементФормы.ПутьКДанным = "Объект.Товары.ПереноситьГалочкаТест";

КонецЕсли;
4. RustamZz 30.11.22 12:02 Сейчас в теме
(3) Повторю предыдущее сообщение
она никак не сохранится
8. user5300 1000 30.11.22 12:51 Сейчас в теме
(3) А так не пробовали ?:

Новый РеквизитФормы(,,,,Истина)
9. aidaakylkyzy 30.11.22 12:55 Сейчас в теме
10. user5300 1000 30.11.22 12:59 Сейчас в теме
(9) Тогда костыль...
Выгрузить таблицу перед записью и загрузить после записи (Модифицированность = ложь)

Но какой смысл ? при закрытии\открытии формы - снова будут пустые галки
12. aidaakylkyzy 30.11.22 13:02 Сейчас в теме
(10) А мне и не нужно при закрытии и открытии, а только при записи
5. aidaakylkyzy 30.11.22 12:31 Сейчас в теме
(2)Вроде реквизит табличной части да? Но после записи, и в объекте не сохраняется данные
6. user1863362 30.11.22 12:35 Сейчас в теме
(5)
Вроде реквизит табличной части да?

Новый РеквизитФормы

По русски, вроде ж написано, не?
7. Sashares 34 30.11.22 12:36 Сейчас в теме
(5)Вы создаете реквизит формы. Реквизиты формы нигде сами по себе не хранятся.
11. aidaakylkyzy 30.11.22 13:01 Сейчас в теме
(7) я не закрываю саму форму, а записываю. Где-то в типовой конфигурации, наверное, есть функция которая обновляет ТЧ при записи документа? Или я ошибаюсь?
13. spacecraft 30.11.22 13:17 Сейчас в теме
(11) в обработчике модуля формы ПередЗаписьюНаСервере сохраняете куда нибудь нужные данные.
В обработчике ПослеЗаписиНаСерере восстанавливаете.
ПослеЗаписиНаСервере перечитывает данные из объекта в данные формы. Вот в него можно вклиниться.
Но это не делает эти данные записанными в базу.
15. Sashares 34 30.11.22 13:52 Сейчас в теме
(11)Нет. При выполнении записи реквизит формы Объект преобразуется в документ объект, и далее документ объект записывается в базу. У документа объекта в табличной части есть только реквизиты, которые заданы в метаданных.
После того как документ объект записан, в После записи на сервере он загружается в объект формы, и т.к. у документа-объекта нет реквизитов формы в табличной части, то они очищаются.
Это стандартное поведение платформы.
Как в 13 посоветовали - сохраняйте Перед записью на сервере, и После записи на сервере заполняйте обратно ваш реквизит формы.
Но после закрытия формы эти данные пропадут.
14. igor63 30.11.22 13:24 Сейчас в теме
Я создавал реквизит с типом хранилище значений и его использовал, не знаю подойдет ои под вашу задачу

 &НаСервере
 Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 
	 Если Параметры.Ключ.Пустая() Тогда
		 СтраныПоиска = Неопределено;
	 КонецЕсли;
 КонецПроцедуры   
 
 &НаСервере
 Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) 	
	 ТекущийОбъект.СписокСтранХЗ = новый ХранилищеЗначения(СтраныПоиска);
	 ТекущийОбъект.СписокИБХЗ = новый ХранилищеЗначения(СписокИнформационныхБаз);
 КонецПроцедуры           
 
 &НаСервере
 Процедура ПриЧтенииНаСервере(ТекущийОбъект)	 
	 СтраныПоиска = ТекущийОбъект.СписокСтранХЗ.Получить();
	 СписокИнформационныхБаз = ТекущийОбъект.СписокИБХЗ.Получить();
 КонецПроцедуры
Показать
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день