0
Гений 1С
гуру
14.05.22
✎
18:33
|
Я добавил вычисляемое поле и в схеме СКД указал его тип, но не могу выводить реквизиты.
В итоге вывожу их через функцию.
СертификатНоменклатуры(Номенклатура, Характеристика)
СертификатНоменклатуры(Номенклатура, Характеристика, "ДатаНачалаСрокаДействия")
СертификатНоменклатуры(Номенклатура, Характеристика, "ДатаОкончанияСрокаДействия")
Мне надо два реквизита, это вызывает дублирование вычислений. Как избежать?
Функция СертификатНоменклатуры(Номенклатура, Характеристика) Экспорт
З = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| Т.Ссылка КАК Ссылка,
| Т.Наименование КАК Наименование,
| Т.ДатаОкончанияСрокаДействия КАК ДатаОкончанияСрокаДействия,
| Т.ДатаНачалаСрокаДействия КАК ДатаНачалаСрокаДействия
|ИЗ
| Справочник.СертификатыНоменклатуры КАК Т
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ОбластиДействияСертификатовНоменклатуры КАК Р
| ПО (Р.СертификатНоменклатуры = Т.Ссылка)
|ГДЕ
| Р.Номенклатура = &Номенклатура
| И Р.Характеристика = &Характеристика
|
|УПОРЯДОЧИТЬ ПО
| Т.ДатаОкончанияСрокаДействия УБЫВ");
З.УстановитьПараметр("Номенклатура", Номенклатура);
З.УстановитьПараметр("Характеристика", Характеристика);
Выборка = З.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
//Возврат "" + Выборка.Наименование + " " + Формат(Выборка.ДатаНачалаСрокаДействия, "ДФ=dd.MM.yy") + "-" + Формат(Выборка.ДатаОкончанияСрокаДействия, "ДФ=dd.MM.yy");
Возврат Выборка.Ссылка;
КонецЕсли;
КонецФункции
Функция СертификатНоменклатурыРеквизит(Номенклатура, Характеристика, Реквизит) Экспорт
Значение = СертификатНоменклатуры(Номенклатура, Характеристика);
Если ЗначениеЗаполнено(Значение) Тогда
Возврат Значение[Реквизит];
КонецЕсли;
КонецФункции
|
|
7
Trance_1C
19.05.22
✎
11:01
|
(0) А если добавить это поле в запрос с пустым значением (в поля компоновки тоже добавить), а затем переопределить его в вычисляемых полях, реквизиты должны появиться
|
|