Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 июн 2024, 02:00

Записать НаборЗаписей

Автор Sasha1C, 06 мая 2024, 16:58

0 Пользователей и 1 гость просматривают эту тему.

Sasha1C

Добырй день, есть проблема при выполнении кода. При отладке все движения принимают нужные значения, но ничего не попадает в регистр накопления ОстаткиКнигНовый, который имеет 2 измерения: НазваниеКниги- ссылка на одноименный справочник, книжный магазин- ссылка на одноименный справочник. А также 3 ресурса: количество, цена, сумма - все числовые. Может быть где-то моя конструкия не полная?   
НаборЗаписейРезерва = РегистрыНакопления.ОстатокКнигНовый.СоздатьНаборЗаписей();
НаборЗаписейРезерва.Отбор.Регистратор.Установить(ЭтотОбъект.Ссылка);

ВыборкаПолная = Запрос.Выполнить().Выбрать();
Пока ВыборкаПолная.Следующий() Цикл

Если ВыборкаПолная.Остаток < ВыборкаПолная.Списать Тогда
Отказ = Истина;
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Не хватает количества, есть =" + Строка(Ссылка)+ Символы.ПС + ВыборкаПолная.Остаток+ ", а списываем = " + ВыборкаПолная.Списать;
Сообщение.Сообщить();
Иначе
НужноСписать= ВыборкаПолная.Списать;
Выборка = ВыборкаПолная.Выбрать();

Пока Выборка.Следующий() Цикл

Если НужноСписать >= Выборка.Остаток Тогда
КоличествоСписать = Выборка.Остаток;
НужноСписать = НужноСписать - КоличествоСписать;
Иначе
КоличествоСписать = НужноСписать;
НужноСписать= 0;
КонецЕсли;

Движение = НаборЗаписейРезерва.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Шапка.Дата;
Движение.НазваниеКниги = ВыборкаПолная.НазваниеКниги;
Движение.Книжныймагазин = Шапка.КнижныйМагазин;
Движение.Количество = НужноСписать;
Движение.ЦенаПоставщика = ВыборкаПолная.ЦенаПоставщика;
Движение.Сумма = НужноСписать * ВыборкаПолная.ЦенаПоставщика;

Если НужноСписать = 0 Тогда
Прервать;
КонецЕсли;

КонецЦикла;

КонецЕсли;

КонецЦикла;
НаборЗаписейРезерва.Записывать = Истина;



Sasha1C

Прикрепляю момент отладки. Если надо могу полную функцию скинуть.

LexaK

Sasha1C, попробуйте явно вызвать команду записи,
//НаборЗаписейРезерва.Записывать = Истина;
НаборЗаписейРезерва.Записать();
если помогло нажмите: Спасибо!

Sasha1C

LexaK, Не помогло. Пробовал и такой вариант -НаборЗаписейРезерва.Записать(Истина); У меня есть сомнения по поводу того, что ТЧ попадает в НаборЗаписей, реквизиты точно попадают, а вот тЧ при детальном рассмотрении я не могу найти , хотя в отлдке Движения принимают верные значения. Подскажите пожалуйста, где искать ошибку?

Максим75

Sasha1C, да сделайте Вы просто, без этих наборов записей.

 Движение = Движения.ОстатокКнигНовый.Добавить();

ну и дальше по тексту оставляете.

Похожие темы (5)

Рейтинг@Mail.ru

Поиск