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

Заполнение табличной части документа из справочника

Автор budaev, 19 дек 2022, 15:28

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

budaev

Здравствуйте. Есть документ "Назначение врача" в нем табличная часть с реквизитами "Номенклатура" и "Единица измерения". Я создал еще один справочник для шаблонов. Чтобы создать определенные шаблоны для заполнения табличной части. Подскажите пожалуйста в чем моя ошибка. Новичок в этом деле, пытаюсь разобраться


&НаСервере
Процедура ЗаполнитьПоШаблонуНаСервере(Наименование)

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

Запрос.УстановитьПараметр("Ссылка", Наименование);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

 Если ВыборкаДетальныеЗаписи.Следующий() Тогда
        НоваяСтрока = Объект.ТаблицаНазначений.Добавить();
        ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);
    КонецЕсли;
КонецПроцедуры


&НаКлиенте
Процедура ЗаполнитьПоШаблону(Команда)
ЗаполнитьПоШаблонуНаСервере(Объект.ШаблонНазначения);
КонецПроцедуры


LexaK

budaev, по идее так должно сработать
&НаСервере
Процедура ЗаполнитьПоШаблонуНаСервере(спрШаблон)
Если ЗначениеЗаполнено(спрШаблон) Тогда
//шаблон выбран, заполняем по нему
Объект.ТаблицаНазначений.Загрузить(спрШаблон.Товары.Выгрузить());
Иначе
//шаблон не задан, просто чистим  или еще что можно сделать
Объект.ТаблицаНазначений.Очистить();
КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ЗаполнитьПоШаблону(Команда)
    ЗаполнитьПоШаблонуНаСервере(Объект.ШаблонНазначения);
КонецПроцедуры

если помогло нажмите: Спасибо!

budaev


Теги:

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

Рейтинг@Mail.ru

Поиск