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

1C 8.3. Что здесь не так? Почему товар не сохраняется в табличную часть?

Автор gulnyr, 02 июн 2023, 09:16

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

gulnyr

Код:
Запрос = Новый Запрос();

Запрос.Текст="
|Выбрать РезервированиеЗаказовПокупателя.Ссылка КАК Ссылка,
|РезервированиеЗаказовПокупателя.Номенклатура КАК Номенклатура,
|РезервированиеЗаказовПокупателя.Количество КАК Количество,
|РезервированиеЗаказовПокупателя.МестоРазмещения КАК МестоРазмещения,
|РезервированиеЗаказовПокупателя.ЗаказПокупателя КАК ЗаказПокупателя
|Из Документ.РезервированиеЗаказовПокупателя.Товары Как РезервированиеЗаказовПокупателя
|ГДЕ РезервированиеЗаказовПокупателя.Ссылка.Номер=&Номер";                                                     

Запрос.УстановитьПараметр("Номер","ВС00000065");

ЗапросРезервированиеЗаказовПокупателя = Запрос.Выполнить().Выбрать();

Пока ЗапросРезервированиеЗаказовПокупателя.Следующий() Цикл 

ОбъектРезерв = ЗапросРезервированиеЗаказовПокупателя.Ссылка.ПолучитьОбъект();

СтрокаСоставаРезервирования = ОбъектРезерв.Товары.Добавить();
СтрокаСоставаРезервирования.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Фильтр масл DSL 2.2 [TRANSIT) GOODWILL");
СтрокаСоставаРезервирования.ЗаказПокупателя = Документы.ЗаказПокупателя.НайтиПоНомеру("ВС00005988",ТекущаяДата());
СтрокаСоставаРезервирования.Количество = 5;
СтрокаСоставаРезервирования.МестоРазмещения = Справочники.СкладыКомпании.НайтиПоНаименованию("Основной склад компании");

ОбъектРезерв.Записать();

КонецЦикла;

До этого работало, а сейчас не заполняет табличную часть. Что здесь не то? С отладчиком прошелся, все переменные заполняет.

gulnyr

gulnyr, Только что проверил. Оказывается если не добавишь в табличную часть хоть один товар, то программно не заполнится.
Почему так происходит? Как сделать так, чтобы табличная часть заполнилась даже тогда, когда там ничего нет?

LexaK

gulnyr, ни запрос, ни цикл не нужен, просто такой код выполняйте


ОбъектРезерв = Документы.РезервированиеЗаказовПокупателя.НайтиПоНомеру("ВС00000065",ТекущаяДата()).ПолучитьОбъект();

СтрокаСоставаРезервирования = ОбъектРезерв.Товары.Добавить();
СтрокаСоставаРезервирования.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Фильтр масл DSL 2.2 [TRANSIT) GOODWILL");
СтрокаСоставаРезервирования.ЗаказПокупателя = Документы.ЗаказПокупателя.НайтиПоНомеру("ВС00005988",ТекущаяДата());
СтрокаСоставаРезервирования.Количество = 5;
СтрокаСоставаРезервирования.МестоРазмещения = Справочники.СкладыКомпании.НайтиПоНаименованию("Основной склад компании");

ОбъектРезерв.Записать();
если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск