Как получить связанные документы для списка документов в запросе ?
По теме из базы знаний
- Всякие полезности
- Получение списка родительских и подчиненных документов из структуры подчиненности
- Как сдать экзамен 1С:Специалист по платформе?
- Как работают управляемые формы и тонкий клиент 1С – взгляд "из-под капота"
- История одного админа в мире 1С. Как поиски причины тормозов 1С привели к созданию нового продукта
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СвязанныеДокументы.Ссылка КАК Ссылка
|ИЗ
| КритерийОтбора.СвязанныеДокументы(&Значение) КАК СвязанныеДокументы
|ГДЕ
| СвязанныеДокументы.Ссылка.Проведен";
Запрос.УстановитьПараметр("Значение", Значение);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Показать
как параметр виртуальной таблице список не передать(это же просто доп.индексы).
т.е. либо как советует (3)- выполнение программного кода перед запросом, что эквивалентно получению списка связанных документов до запроса,
либо писать запрос узко ориентированный под конкретные документы, соединяя по реквизитам-ссылкам
т.е. либо как советует (3)- выполнение программного кода перед запросом, что эквивалентно получению списка связанных документов до запроса,
либо писать запрос узко ориентированный под конкретные документы, соединяя по реквизитам-ссылкам
я делал отдельно под конкретные документы, по другому не получилось
для наглядности откройте общиекоманды - структура подчиненности
и ОбщаяФорма.СтруктураПодчиненности и ни где не увидите возможного списка значений в типовой как параметра ;) ну или если повезёт то увидите
и вот на это обратите внимание
ой а какая конфигурация то?
для наглядности откройте общиекоманды - структура подчиненности
и ОбщаяФорма.СтруктураПодчиненности и ни где не увидите возможного списка значений в типовой как параметра ;) ну или если повезёт то увидите
и вот на это обратите внимание
&НаСервере
Процедура СформироватьДеревьяДокументов()
ДеревоРодительскиеОбъекты.ПолучитьЭлементы().Очистить();
ДеревоПодчиненныеОбъекты.ПолучитьЭлементы().Очистить();
ВывестиРодительскиеОбъекты(ОбъектСсылка,ДеревоРодительскиеОбъекты);
ВывестиПодчиненныеОбъекты(ОбъектСсылка,ДеревоПодчиненныеОбъекты);
КонецПроцедуры
Показатьой а какая конфигурация то?
(6)
на данном этапе одним запросом не обойдешься.
либо программным кодом записываешь в таблицу значений пары (Документ,ссылкаНаПодчиненный) ,записываешь во временную таблицу и потом крутишь ее как хочешь в запросе,
либо не универсальное решение.
еще можешь сам поддерживать какой-нибудь регистр сведений
о ведь это не универсальное решение...
на данном этапе одним запросом не обойдешься.
либо программным кодом записываешь в таблицу значений пары (Документ,ссылкаНаПодчиненный) ,записываешь во временную таблицу и потом крутишь ее как хочешь в запросе,
либо не универсальное решение.
еще можешь сам поддерживать какой-нибудь регистр сведений
Из типовой УТ 11.3
не?
&НаСервере
Функция ОбъектыПоКритериюОтбора(ЗначениеКритерияОтбора)
Если Метаданные.КритерииОтбора.СвязанныеДокументы.Тип.СодержитТип(ТипЗнч(ЗначениеКритерияОтбора)) Тогда
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| СвязанныеДокументы.Ссылка
|ИЗ
| КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) КАК СвязанныеДокументы";
Запрос.УстановитьПараметр("ЗначениеКритерияОтбора",ЗначениеКритерияОтбора);
Возврат Запрос.Выполнить().Выгрузить();
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
Показать
(8) ну так не только в ут
вот то же самое из БП
&НаСервере
Функция ОбъектыПоКритериюОтбора(ЗначениеКритерияОтбора)
Если Метаданные.КритерииОтбора.СвязанныеДокументы.Тип.СодержитТип(ТипЗнч(ЗначениеКритерияОтбора)) Тогда
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| СвязанныеДокументы.Ссылка
|ИЗ
| КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) КАК СвязанныеДокументы";
Запрос.УстановитьПараметр("ЗначениеКритерияОтбора",ЗначениеКритерияОтбора);
Возврат Запрос.Выполнить().Выгрузить();
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
Показатьвот то же самое из БП
ааа... для нескольких документов...
тогда правим текст запроса
для второго и последующих документов добавляем
Ну и параметры в цикле задаем.
тогда правим текст запроса
для второго и последующих документов добавляем
"ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
СвязанныеДокументы.Ссылка
ИЗ
КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора" + Счетчик + ") КАК СвязанныеДокументы"
Ну и параметры в цикле задаем.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот