Есть справочник «Оборудование»
Состоящий из реквизитов:
Код «Стандартный реквизтит»
Реквизит1
Реквизит2
….
Табличная Часть2.ТипКомплектующих
Табличная Часть2.СерийныйКомплектующего
……..
Есть справочник «Комплектующие»
Состоящий из
ТабличнаяЧасть1.ДубльТипКомплектующих
СерийныйОбъектаМонтирования (справочникСссылка.Код «Стандартный реквизтит» )
СерийныйКомплектующего.
Необходимо чтобы при сохранении в справочнике «Оборудование» происходило заполнение Табличная Часть2 согласно текущему значению Код «Стандартный реквизтит».
Мой код.
Но данный код не совсем корректный заполнение не происходит, однако если закомментировать часть кода:
то заполнение происходит всей номенклатурой справочника «Комплектующие», из этого можно сделать вывод что «касяк» имено в критерии отбора, но где именно у меня ошибка я найти немого. Прошу Вашей помощи господа.
Состоящий из реквизитов:
Код «Стандартный реквизтит»
Реквизит1
Реквизит2
….
Табличная Часть2.ТипКомплектующих
Табличная Часть2.СерийныйКомплектующего
……..
Есть справочник «Комплектующие»
Состоящий из
ТабличнаяЧасть1.ДубльТипКомплектующих
СерийныйОбъектаМонтирования (справочникСссылка.Код «Стандартный реквизтит» )
СерийныйКомплектующего.
Необходимо чтобы при сохранении в справочнике «Оборудование» происходило заполнение Табличная Часть2 согласно текущему значению Код «Стандартный реквизтит».
Мой код.
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
ЗаполнитьТабЧасть2(Объект.Код);
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьТабЧасть2(Код)
Запрос = Новый Запрос;
Запрос.Текст =
" ВЫБРАТЬ
| Комплектующие.СерийныйКомплектующего как СерийныйКомплектующего,
| Комплектующие.СерийныйОбъектаМонтирования как СерийныйОбъектаМонтирования,
|Комплектующие.ДубльТипКомплектующих как ТипКомплектующих
| ИЗ
|Справочник.Комплектующие.ТабличнаяЧасть1 КАК Комплектующие
|ГДЕ
| Комплектующие.СерийныйОбъектаМонтирования = &Код";
Запрос.УстановитьПараметр("Код",Код);
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи =Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
НовСтр =Объект.ТабличнаяЧасть2.Добавить();
ЗаполнитьЗначенияСвойств(НовСтр, ВыборкаДетальныеЗаписи);
КонецЦикла;
КонецПроцедуры
ПоказатьНо данный код не совсем корректный заполнение не происходит, однако если закомментировать часть кода:
// |ГДЕ
// | Комплектующие.СерийныйОбъектаМонтирования = &Код";
// Запрос.УстановитьПараметр("Код",Код);
то заполнение происходит всей номенклатурой справочника «Комплектующие», из этого можно сделать вывод что «касяк» имено в критерии отбора, но где именно у меня ошибка я найти немого. Прошу Вашей помощи господа.
По теме из базы знаний
- В «1С:ЗУП КОРП 3.1» тормоза (медленная работа) в журналах документов при использовании критериев отбора
- Решение проблемы быстродействия в ERP на рабочем примере
- Расширения (проблемы и решения)
- Анализ проблем производительности по динамике мониторинга RAS 1C
- Пример пошагового решения проблемы производительности на базе Postgres SQL с картинками
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Надо посмотреть в отладчике или просто командой Сообщить(...), что за Код задается внутри в пареметре, когда ничего не выводится и что за тот же Код(СерийныйОбъектаМонтирования) выводится в цикле Пока.., когда все заполняется.
Возможно эти Коды в двух случаях совсем не одно и то же.
Может, передача параметра в процедуру не работает.
Прошу Вашей помощи господа.
Надо посмотреть в отладчике или просто командой Сообщить(...), что за Код задается внутри в пареметре, когда ничего не выводится и что за тот же Код(СерийныйОбъектаМонтирования) выводится в цикле Пока.., когда все заполняется.
Возможно эти Коды в двух случаях совсем не одно и то же.
Может, передача параметра в процедуру не работает.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот