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

Вывод запроса)

Автор Анатолий Анпилогов, 12 янв 2016, 08:41

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

Анатолий Анпилогов

Я начинающий программист, не могу найти ошибку, может она и очевидная!
При открытии документа необходимо чтобы поле Номенклатура в Таблице Товары заполнилось содержимым из Справочника.Номенклатура.Наименование
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Запрос = Новый Запрос;
Запрос.Текст = ("ВЫБРАТЬ
             | Номенклатура.Наименование
             |ИЗ
             | Справочник.Номенклатура КАК Номенклатура");
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Для Каждого ТЗ Из РезультатЗапроса Цикл
Элементы.ТоварыНоменклатура = ТЗ.Наименование;
КонецЦикла;

КонецПроцедуры

cska-fanat-kz

какой сакральный смысл в этой глупости?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

TerverVl

Как звучит задание в оригинале?
Речь идёт о строке табличной части документа и её реквизите "Номенклатура" или
о свойстве "Заголовок" элемента формы?
Ну и чтобы хоть что-то работало должно быть так:
Цитировать
Элементы.ТоварыНоменклатура.Заголовок = ТЗ.Наименование;
Хотя смысла такой формулировке задания нет. Как из в выгрузке РезультатаЗапроса в ТаблицуЗначений.
Чтобы это имело хоть какой-то смысл, запрос должен возвращать единственное значение, например группу(Родителя) номенклатуры из первой строки табличной части
и уже далее подставлять её как заголовок для колонки.

Анатолий Анпилогов

Цитата: TerverVl от 12 янв 2016, 15:06
Как звучит задание в оригинале?


Конфа самописная. Есть документ ВводНачОстатков и Справочник Номенклатура. При создании на сервере документа, необоходимо заполнение его таблицы содержимым справочника (Справочник.Номенклатура.Наименование)

cska-fanat-kz

Прям обязательно при создании на сервере? или все таки по кнопке "Заполнить по справочнику"?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

TerverVl

Тогда так:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                 |    Номенклатура.Ссылка КАК Номенклатура
                 |ИЗ
                 |    Справочник.Номенклатура КАК Номенклатура";

    Объект.Товары.Загрузить(Запрос.Выполнить().Выгрузить());
       
КонецПроцедуры

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

Анатолий Анпилогов

Спасибо Помогло)
Добавлено: 13 янв 2016, 09:37


А как по этой таблице рассчитать СуммуДокумента, значение которой потом можно передать в реквизит?

cska-fanat-kz

сумма документа в ПередЗаписью() рассчитывается
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

TerverVl

И лучше это сделать в модуле объекта, не формы.

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
СуммаДокумента = Товары.Итог("Сумма");
КонецПроцедуры

Анатолий Анпилогов

Цитата: TerverVl от 13 янв 2016, 09:46
И лучше это сделать в модуле объекта, не формы.

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
СуммаДокумента = Товары.Итог("Сумма");
КонецПроцедуры


Все хорошо) Только надо было вызвать как объекты) И нормально пошло)


Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Объект.СуммаДокумента = Объект.Товары.Итог("Сумма");
КонецПроцедуры

Теги:

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

Рейтинг@Mail.ru

Поиск