Программно записать серийники

  • Автор темы Автор темы Спартак
  • Дата начала Дата начала
С

Спартак

Всем доброго времени суток! Необходимо написать обработку для переноса документов Реализация Т и У из УТ в УТ.
Написал, вроде все работает, но есть проблема...
Открываем загруженный документ. встаем на любую номенклатуру и жмем "Серийные номера".

1.JPG

Открывается обработка. Там показываются ВСЕ серийники, которые были в исходном документе. Но если в этой обработке Закрыть или закрыть форму обработки крестом, то при следующем открытии этой обработки все серийники из нее пропадают. Если в форме обработки нажать ОК, то все сохраняется и дальше все правильно отображается.

2.JPG

Подскажите, в чем может быть проблема??
 
Смторите, что происходит при записи документа.
 
как ни странно, но документ записывается B)
Код:
док = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
док.Дата = ТекущаяДата ();
док.Организация = Справочники.Организации.НайтиПоКоду("000000001");
док.Склад = СкладРеализация;
док.ОтражатьВУправленческомУчете = Истина;
Для Каждого стр Из ТабТовары Цикл
Если (стр.ВидДок = "2") И (стр.НомерДок = НомерДок) Тогда
СтрДок = док.Товары.Добавить();
СтрДок.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(стр.Номенклатура);
СтрДок.СерияНоменклатуры = Справочники.СерииНоменклатуры.НайтиПоКоду(стр.Серия);
СтрДок.Количество = Число (стр.Количество);
СтрДок.Цена = Число (стр.Цена);
СтрДок.Сумма = СтрДок.Количество * СтрДок.Цена;
СтрДок.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
СтрДок.Коэффициент = 1;
СтрДок.ЕдиницаИзмерения = СтрДок.Номенклатура.ЕдиницаХраненияОстатков;
КонецЕсли;
КонецЦикла;
Для Каждого стр Из ТабСерийники Цикл
Если (стр.ВидДок = "2") И (стр.НомерДок = НомерДок) Тогда
СтрСер = док.СерийныеНомера.Добавить();
СтрСер.СерийныйНомер = Справочники.СерийныеНомера.НайтиПоКоду(стр.Серийник);
СтрСер.КлючСвязи = стр.Ключ;
КонецЕсли;
КонецЦикла;
док.Контрагент = ЗаписатьКонтрагента (НомерДок);
док.Записать();
 
Еще не понятно, зачем вы это пишите, если есть универсальная обработка?
 
потому что это всего лишь маленький кусок того переноса, что надо сделать. плюс не каждый документ переносится в документ такого же типа плюс все это должно делаться по расписанию :) тут очень много зхаморочек
 
Смотрите, как отбирает обработка серийники, и что она делает при закрытии - найдете, что забыли.
 
решил проблему.
Код:
СтрДок.КлючСвязи = СтрДок.НомерСтроки;
СтрДок.КлючСтроки= СтрДок.НомерСтроки;
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab