1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

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

Тема в разделе "Базы данных и администрирование", создана пользователем SaschaL, 14 мар 2011.

Статус темы:
Закрыта.
  1. SaschaL

    SaschaL Гость

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

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

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

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

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

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

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

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    Не понятно... а какая номенклатура не обнаружена из НоваяСтрока или из СтрМ?
     
  3. SaschaL

    SaschaL Гость

    Репутация:
    0
    Не обнаружена НоваяСтрока, все что связано с СтрМ выполняется, по всяком случае выводить и в отладчике и в Сообщение если такое использовать
     
  4. unknown181538

    unknown181538 НеГуру

    Репутация:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    1.417
    Симпатии:
    0
    Может все ее реквизиты созданы только на форме?
     
  5. Гость

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

Поделиться этой страницей