|
Присвоить значение табличной части вновь созданного элемента справочника | ☑ | ||
---|---|---|---|---|
0
Sidius
18.08.20
✎
10:22
|
Прошу не бить ногами по лицу, только учусь.
Рисую простенькую программу, аля: приход, расход, списание В документе прихода формирую партию (справочник.Партия) &НаСервере Процедура ПередЗакрытиемНаСервере() Для Каждого Строчка Из Объект.Товар Цикл Если НЕ ЗначениеЗаполнено(Строчка.Партия) = Истина Тогда НоваяПартия = Справочники.Партия.СоздатьЭлемент(); // Создаем элемент справочника НоваяПартия.Владелец = Строчка.Номенклатура; НоваяПартия.Наименование = ""+Строчка.Цена+"/"+Строчка.Серия; НоваяПартия.Цена = Строчка.Цена; НоваяПартия.Серия = Строчка.Серия; НоваяПартия.СрокГодности = КонецДня(Строчка.СрокГодности); НоваяПартия.ВидФинансирования = Объект.ВидФинансирования; Если НЕ ЗначениеЗаполнено(Строчка.SGTIN) = Истина Тогда НоваяПартия.SGTIN = Строчка.SGTIN; КонецЕсли; НоваяПартия.СуммаНДС = Строчка.СуммаНДС; НоваяПартия.Записать(); // записали в справочник Строчка.Партия = Справочники.Партия.НайтиПоКоду(НоваяПартия.Код,,,Строчка.Номенклатура); //ЭтаФорма.Партия = Справочники.Партия.НайтиПоКоду(НоваяПартия.Код,,,Строчка.Номенклатура); КонецЕсли; КонецЦикла; КонецПроцедуры Партия Создается, но как заставить Эту партию встать в табличную часть не соображу = Справочники.Партия.НайтиПоКоду(НоваяПартия.Код,,,Строчка.Номенклатура); Вот тут затык |
|||
1
Momus
18.08.20
✎
10:28
|
Строчка.Партия = НоваяПартия.Ссылка
|
|||
2
Sidius
18.08.20
✎
10:31
|
(1) Не прокатило, все равно пусто
|
|||
3
Sidius
18.08.20
✎
10:33
|
Прогоняю отладчиком, присваивается, но в документе не сохраняется
|
|||
4
Momus
18.08.20
✎
10:34
|
(2) ну так ты обновляешь данные формы, а не объект с товарами. Нужно в конце процедуры записать объект - владельца формы
|
|||
5
Momus
18.08.20
✎
10:35
|
(4)
Об = РеквизитФормыВЗначение("Объект"); Об.Записать(); |
|||
6
Momus
18.08.20
✎
10:37
|
Обновляй ТЧ товаров в событии при записи, а не при закрытии
|
|||
7
Sidius
18.08.20
✎
10:38
|
(5) Дай бог тебе здоровья. Спасибо
(6) Спасибо учту |
|||
8
Sidius
18.08.20
✎
10:47
|
Эээ...Теперь при записи ругается
Об = РеквизитФормыВЗначение("Объект"); по причине: Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных Чего не так? |
|||
9
Sidius
18.08.20
✎
10:48
|
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Для Каждого Строчка Из Объект.Товар Цикл Если НЕ ЗначениеЗаполнено(Строчка.Партия) = Истина Тогда НоваяПартия = Справочники.Партия.СоздатьЭлемент(); // Создаем элемент справочника НоваяПартия.Владелец = Строчка.Номенклатура; НоваяПартия.Наименование = ""+Формат(Строчка.Цена, "ЧДЦ=3")+"/"+Строчка.Серия; НоваяПартия.Цена = Строчка.Цена; НоваяПартия.Серия = Строчка.Серия; НоваяПартия.СрокГодности = КонецДня(Строчка.СрокГодности); НоваяПартия.ВидФинансирования = Объект.ВидФинансирования; Если НЕ ЗначениеЗаполнено(Строчка.SGTIN) = Истина Тогда НоваяПартия.SGTIN = Строчка.SGTIN; КонецЕсли; НоваяПартия.СуммаНДС = Строчка.СуммаНДС; НоваяПартия.Записать(); // записали в справочник Строчка.Партия = НоваяПартия.Ссылка; Об = РеквизитФормыВЗначение("Объект"); Об.Записать(); //Строчка.Партия = Справочники.Партия.НайтиПоКоду(НоваяПартия.Код,,,Строчка.Номенклатура); КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
10
Жан Пердежон
18.08.20
✎
11:15
|
ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
в ТекущийОбъект пиши что тебе надо |
|||
11
Жан Пердежон
18.08.20
✎
11:17
|
но самая идея - всё равно на вынос
|
|||
12
Lexandr
18.08.20
✎
11:24
|
Использовать установку реквизитов "при записи" - это ошибка. Ибо объект уже записан в базу и тут ты пытаешься его еще изменить. В синтаксис помощнике есть же всё. Описание: ПриЗаписи (OnWrite)
Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи. |
|||
13
DJ Anthon
18.08.20
✎
11:27
|
надо писать в ПередЗаписью
|
|||
14
lodger
18.08.20
✎
11:28
|
(0) такие штуки, обычно, в модуле объекта делаются.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |