• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

1С 8.2 Заполнение табличной части программно

  • Автор темы SaschaL
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

SaschaL

Добрый день!
есть проблема , конфигурация самописная на 1С 8.2, интерфейс управляемый.
Есть документ который заполняется путем подбора из справочника товаров. Иногда возникает такая необходимость что нужно автоматически заполнить документ данными из некой группы справочника.

Все данные извлекаются из справочника в серверной процедуре. Подскажите как из серверной процедуры заполнить табличную часть данными из справочника.

Навоял вот такой код:

Код:
&НаКлиенте
Процедура СобрНоменкл(Команда)
СобратьМатериалы();
КонецПроцедуры

&НаСервере
Процедура СобратьМатериалы()
Для каждого Стр из Объект.Продукция цикл
ТекСтрока = Стр.Продукция;
Сообщить(ТекСтрока);
Для Каждого стрМ из ТекСтрока.Спецификация цикл
НоваяСтрока = Объект.Материалы.Добавить(); 
НоваяСтрока.Номенклатура = СтрМ.Номеклатура;			
КонецЦикла;
КонецЦикла;
КонецПроцедуры


Даю пояснения. В документе 2 табличных части Одна из них продукция, вторая Материалы.
Смысл такой из табличной части продукция выбирается по циклу продукция, нахотящаяся данной табличной части. У каждого вида продукции имеется (Тип Справочник.Изделия) имеется табличная часть, в которой находятся затраты на эту продукцию. Табличная часть называется Спецификация, обхожу её по циклу, все нормально данные извлекаются, теперь необходимо закинуть эти затраты в Табличную часть Материалы, которая находится в этом документе при добавлении программно выдается ошибка что "Поле объекта не обнаружено (Номенклатура)" и указывает на строку
НоваяСтрока.Номенклатура = СтрМ.Номеклатура;

не может найти в заполняемой табличной части реквизит Номенклатура, как впрочем и все остальные, хотя пустая строка создается.

Не могу понять в чем тут дело.
 
U

unknown181538

Не понятно... а какая номенклатура не обнаружена из НоваяСтрока или из СтрМ?
 
S

SaschaL

Не понятно... а какая номенклатура не обнаружена из НоваяСтрока или из СтрМ?

Не обнаружена НоваяСтрока, все что связано с СтрМ выполняется, по всяком случае выводить и в отладчике и в Сообщение если такое использовать
 
U

unknown181538

Может все ее реквизиты созданы только на форме?
 
G

Guest

а как программно заполнить табличную часть справочника данными из регистра? есть регистр сведений "АналогиНоменклатуры" и справочник "Номенклатура". При открытии справочника из регистра в табличную часть "Номенклатуры" заносятся данные по определенному значению измерения "Продукция". Мне нужно, чтобы оно выгружало данные еще и в случае, если значение "Продукция" равно пустой строке.
Код:
Если НЕ ПустаяСтрока(АналогиНоменклатуры.Отбор.Продукция)Тогда
ЭлементыФормы.АналогиНоменклатуры.Значение.Отбор.Продукция.Установить(Ссылка);
Иначе ................??
КонецЕсли;
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!