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

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

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

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


&НаКлиенте
Процедура ЗаполнитьПоШаблону(Команда)
	ЗаполнитьПоШаблонуНаСервере(Объект.ШаблонНазначения);
КонецПроцедуры
Показать
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
2. svilsa 13 19.12.22 16:18 Сейчас в теме
Тут ошибка в запросе. Надо возможно убрать вообще соединение с таблицей ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.НазначениеВрача.ЛС_Назначения. Или ставить Левое соединение, но лучше убрать вообще и разобраться с этим.
6. svilsa 13 19.12.22 16:26 Сейчас в теме
(4) Вот в этом кусочке тоже ошибка:
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
        НоваяСтрока = Объект.ТаблицаНазначений.Добавить();
        ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);
    КонецЕсли; 


тут выбирается только 1 строка, а надо все. Надо заменить на цикл
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. DBV 19.12.22 16:22 Сейчас в теме
(1)
Запрос.УстановитьПараметр("Ссылка", Наименование);


В смысле наименование? В этой переменной хранится Наименование? то есть строка сравнивается со ссылкой?
5. bba27 19.12.22 16:26 Сейчас в теме
(3) Хотел сделать ссылку на наименование шаблона
7. DBV 19.12.22 16:27 Сейчас в теме
2. svilsa 13 19.12.22 16:18 Сейчас в теме
Тут ошибка в запросе. Надо возможно убрать вообще соединение с таблицей ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.НазначениеВрача.ЛС_Назначения. Или ставить Левое соединение, но лучше убрать вообще и разобраться с этим.
4. bba27 19.12.22 16:24 Сейчас в теме
(2)
т ошибка в запросе. Надо возможно убрать вообще соединение с таблицей ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.НазначениеВрача.ЛС_Назначения. Или ставить Левое


Вроде вышло. Только заполняет одну номенклатуру вместо всего списка. Подскажите, где мог упустить
Прикрепленные файлы:
6. svilsa 13 19.12.22 16:26 Сейчас в теме
(4) Вот в этом кусочке тоже ошибка:
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
        НоваяСтрока = Объект.ТаблицаНазначений.Добавить();
        ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);
    КонецЕсли; 


тут выбирается только 1 строка, а надо все. Надо заменить на цикл
8. bba27 19.12.22 16:38 Сейчас в теме
(6) Спасибо большое, все получилось
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот