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