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

Программно добавить "Содержание" в товарную часть

Автор Артур С, 27 сен 2016, 11:18

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

Артур С

Ситуация следующая - формирую документ (счет), из данных вычитанных из XML. При попытке в товарной части добавить содержание к услуге ничего не происходит. Вот код:

Для i = 0 По  Таблица.Количество()-1 Цикл
СтрокаДокумента = Док.Товары.Добавить();
СтрокаДокумента.Номенклатура = НаименованиеНоменклатурыXML;
СтрокаДокумента.Содержание   = НаименованиеНоменклатурыПолноеXML;
...
КонецЦикла;
Док.Записать();

Перед кодом все переменные вычитаны. Многоточие - это продолжение записи по строке - количество, цена, сумма. Документ формируется, но только нет "Содержания". Сама номенклатура сформирована ранее, вид номенклатуры = "Услуги", в общем, с ней все хорошо. Если зайти в сформированный документ и "перевыбрать" вид номенклатуры, то содержание появится в товарной части. В чем может быть проблема?

LexaK

но если это услуга попробуйте помещать ее в ТЗ Услуги

СтрокаДокумента = Док.Услуги.Добавить();
если помогло нажмите: Спасибо!

Артур С

Цитата: LexaK от 27 сен 2016, 12:15
но если это услуга попробуйте помещать ее в ТЗ Услуги

СтрокаДокумента = Док.Услуги.Добавить();

Забыл сказать, что это БП 3.0
Там (в счете покупателю) закладки "Услуги" уже второй год нету.

has

Чему после этой строки содержание равно?
СтрокаДокумента.Содержание   = НаименованиеНоменклатурыПолноеXML;

LexaK

возможно это НаименованиеНоменклатурыПолноеXML - может быть ссылкой, попробуйте тогда так

СтрокаДокумента.Содержание = "" + НаименованиеНоменклатурыПолноеXML; //неявное преобразование к Строке
если помогло нажмите: Спасибо!

Артур С

Цитата: has от 27 сен 2016, 15:13
Чему после этой строки содержание равно?
СтрокаДокумента.Содержание   = НаименованиеНоменклатурыПолноеXML;
Равно значению переменной "НаименованиеНоменклатурыПолноеXML". Там просто строка.
Добавлено: 02 окт 2016, 17:35


Судя по всему, вот этот код не виноват:
Для i = 0 По  Таблица.Количество()-1 Цикл
СтрокаДокумента = Док.Товары.Добавить();
СтрокаДокумента.Номенклатура = НаименованиеНоменклатурыXML;
СтрокаДокумента.Содержание   = НаименованиеНоменклатурыПолноеXML;
...
КонецЦикла;
Док.Записать();

Как изначально я написал в теме, что если зайти в сформированный документ, в котором у услуги нет содержания и просто перевыбрать номенклатуру, то содержание появится.
Номенклатура создается ранее. Выбор вида номенклатуры следующий:
НоменклОбъект.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Услуги");
Проверял отладчиком, что хранится в "НоменклОбъект.ВидНоменклатуры" - там всё как надо. "Услуги" в виде ссылки. Годом ранее, когда у справочника "Виды номенклатуры" был реквизит "Код" всё работало нормально. После очередных перемен с услугами в БП 3.0 пришлось использовать метод "НайтиПоНаименованию". Некоторое время работало безупречно. Последние пару месяцев - никак. Не знаю, на что грешить...

Теги:

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

Рейтинг@Mail.ru

Поиск