Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как получить данные из табличной части документа
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
aby_2503
Наверное, этот вопрос уже поднимался тут неоднократно, но я все же спрошу еще раз. Заранее говорю, что в Гугле ничего похожего не нашел. Есть документ с табличной частью, где пять столбцов. Необходимо, чтобы программа брала значение из первого столбца каждой строки таблицы, это значение сравнивало с определенным реквизитом в справочнике и если есть совпадение, тогда в пятый столбец табличной части вносился другой реквизит элемента справочника. Проблема в том, что не получается для каждой строки таблицы получить значение в первом столбце - перепробовал все что знаю(а знаю пока немного). Пытался сделать вот так - не получается:
//Здесь я пытаюсь получить данные строки табличной части
        СтрокаСДанными=ЭлементыФормы.Товары.ТекущиеДанные;
//Здесь мы ищем в справочнике Клиенты элемент, у которого реквизит "НомСчетчика"=первому столбцу таблицы"Номенклатура"
    ДанныеСсылка=Справочники.Клиенты.НайтиПоРеквизиту("НомСчетчика",СтрокаСДанными.Номенклатура);
//Здесь мы записываем в пятый столбец таблицы значение адреса из Клиенты
    ОформлениеСтроки.Ячейки.Абонент.УстановитьТекст(ДанныеСсылка.Адрес);
MATEVI
Обработчик ПриПолученииДанных Вызывается при получении данных табличным полем

Процедура ПриПолученииДанных(Элемент, ОформленияСтрок)
Для Каждого Строка Из ОформленияСтрок Цикл

//Здесь мы ищем в справочнике Клиенты элемент, у которого реквизит "НомСчетчика"=первому столбцу таблицы"Номенклатура"
ДанныеСсылка=Справочники.Клиенты.НайтиПоРеквизиту("НомСчетчика",Строка.ДанныеСтроки.Номенклатура.НомСчетчика); //???????
Строка.Ячейки.Абонент.УстановитьТекст(ДанныеСсылка.Адрес);

КонецЦикла;
    
КонецПроцедуры
awp
Цитата(aby_2503 @ 21.11.11, 8:29) необходимо зарегистрироваться для просмотра ссылки
Наверное, этот вопрос уже поднимался тут неоднократно, но я все же спрошу еще раз. Заранее говорю, что в Гугле ничего похожего не нашел. Есть документ с табличной частью, где пять столбцов. Необходимо, чтобы программа брала значение из первого столбца каждой строки таблицы, это значение сравнивало с определенным реквизитом в справочнике и если есть совпадение, тогда в пятый столбец табличной части вносился другой реквизит элемента справочника. Проблема в том, что не получается для каждой строки таблицы получить значение в первом столбце - перепробовал все что знаю(а знаю пока немного). Пытался сделать вот так - не получается:
//Здесь я пытаюсь получить данные строки табличной части
        СтрокаСДанными=ЭлементыФормы.Товары.ТекущиеДанные;
//Здесь мы ищем в справочнике Клиенты элемент, у которого реквизит "НомСчетчика"=первому столбцу таблицы"Номенклатура"
    ДанныеСсылка=Справочники.Клиенты.НайтиПоРеквизиту("НомСчетчика",СтрокаСДанными.Номенклатура);
//Здесь мы записываем в пятый столбец таблицы значение адреса из Клиенты
    ОформлениеСтроки.Ячейки.Абонент.УстановитьТекст(ДанныеСсылка.Адрес);


Юзайте процедуру ПриВыводеСтроки
Zaval
Цитата(awp @ 21.11.11, 9:31) необходимо зарегистрироваться для просмотра ссылки
Юзайте процедуру ПриВыводеСтроки


Так можно делать, если пятый столбец "для посмотреть".
Если же пятый столбец нужно записать в документ, то...
Обработает только видимые на экране строки. Остальные будут обработаны только при прокрутке всей ТЧ.
WKBAPKA
вопрос конечно поставлен оригинально...
Кто мешает перебрать строки документа, сравнить и записать то что нужно? неужто религия?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.