Добрый день, у меня весьма глупый, наверное вопрос, но я новичок и никак не могу разобраться. Буду рад помощи и подсказкам более опытных специалистов.
Задача: добавить в отчет "Ведомость расчета с поставщиками" связанную заявку на закупку (заявка на закупку реализована отдельно - в расширении, менять это я не могу). На данный момент вид отчета - на Рисунке 1. Я так понимаю, что это совершенно стандартный отчет.
В рамках расширения в ЗаказПоставщика добавлен реквизит знз_ЗаявкаНаЗакупку. Соответственно надо вывести в отчет для каждого ОбъектРасчетов (из тех, что являются ЗаказПоставщика) соответствующий знз_ЗаявкаНаЗакупку (если знз_ЗаявкаНаЗакупку у него есть) (связь 1 к 1).
Не понимаю, как реализовать это структурно и в коде*. Наборы Данных на Рисунках 2 (то, как выглядит запрос в РасчетыПоСрокам - запрос одинаковый у всех 4 стандартных) и 3 (Запрос внутри набора данных Заявки - добавленный мной).
* - Понимаю, что нужно дабавить отдельную функцию для ТекстЗапроса для Набора Данных "Заявки", но не понимаю, как верно составить запрос для нее.
Пожалуйста, не ругайтесь и не отсылайте читать учебник, пробовал, но не смог найти, как именно "допилить" отчет. Заранее спасибо за любую помощь.
Задача: добавить в отчет "Ведомость расчета с поставщиками" связанную заявку на закупку (заявка на закупку реализована отдельно - в расширении, менять это я не могу). На данный момент вид отчета - на Рисунке 1. Я так понимаю, что это совершенно стандартный отчет.
В рамках расширения в ЗаказПоставщика добавлен реквизит знз_ЗаявкаНаЗакупку. Соответственно надо вывести в отчет для каждого ОбъектРасчетов (из тех, что являются ЗаказПоставщика) соответствующий знз_ЗаявкаНаЗакупку (если знз_ЗаявкаНаЗакупку у него есть) (связь 1 к 1).
Не понимаю, как реализовать это структурно и в коде*. Наборы Данных на Рисунках 2 (то, как выглядит запрос в РасчетыПоСрокам - запрос одинаковый у всех 4 стандартных) и 3 (Запрос внутри набора данных Заявки - добавленный мной).
* - Понимаю, что нужно дабавить отдельную функцию для ТекстЗапроса для Набора Данных "Заявки", но не понимаю, как верно составить запрос для нее.
Пример реализации в коде текста запроса для РасчетыПоСрокам |
---|
ТекстЗапроса = " |ВЫБРАТЬ РАЗРЕШЕННЫЕ | АналитикаУчета.Организация КАК Организация, | АналитикаУчета.Партнер КАК Партнер, | АналитикаУчета.Контрагент КАК Контрагент, | АналитикаУчета.Договор КАК Договор, | АналитикаУчета.НаправлениеДеятельности КАК НаправлениеДеятельности, | АналитикаУчета.КлючАналитики КАК КлючАналитики |ПОМЕСТИТЬ ВТ_АналитикаУчетаПоПартнерам |ИЗ | РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаУчета |ГДЕ | АналитикаУчета.Партнер <> ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие) |{ГДЕ | АналитикаУчета.Организация.* КАК Организация, | АналитикаУчета.Партнер.* КАК Партнер, | АналитикаУчета.Контрагент.* КАК Контрагент, | АналитикаУчета.Договор.* КАК Договор, | АналитикаУчета.НаправлениеДеятельности.* КАК НаправлениеДеятельности, | (АналитикаУчета.Партнер В | (ВЫБРАТЬ | ОтборПоСегментуПартнеров.Партнер | ИЗ | ОтборПоСегментуПартнеров | ГДЕ | ОтборПоСегментуПартнеров.ИспользуетсяОтборПоСегментуПартнеров = &ИспользуетсяОтборПоСегментуПартнеров))} | |ИНДЕКСИРОВАТЬ ПО | КлючАналитики |; |ВЫБРАТЬ РАЗРЕШЕННЫЕ | АналитикаУчета.Организация КАК Организация, | АналитикаУчета.Партнер КАК Партнер, | АналитикаУчета.Контрагент КАК Контрагент, | АналитикаУчета.Договор КАК Договор, | АналитикаУчета.НаправлениеДеятельности КАК НаправлениеДеятельности, | РасчетыПоСрокам.ОбъектРасчетов КАК ОбъектРасчетов, | ВЫБОР &ДанныеОтчета | КОГДА 4 | ТОГДА РасчетыПоСрокам.Валюта | КОГДА 2 | ТОГДА &ВалютаУправленческогоУчета | ИНАЧЕ АналитикаУчета.Организация.ВалютаРегламентированногоУчета | КОНЕЦ КАК Валюта, | ЗНАЧЕНИЕ(Справочник.ОбъектыРасчетов.ПустаяСсылка) КАК КорОбъектРасчетов, | ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка) КАК КорПоставщик, | ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК КорОрганизация, | ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) КАК КорКонтрагент, | ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка) КАК КорДоговор, | РасчетыПоСрокам.РасчетныйДокумент КАК РасчетныйДокумент, | РасчетыПоСрокам.ДатаВозникновения КАК ДатаВозникновения, | РасчетыПоСрокам.ДатаПлановогоПогашения КАК ДатаПлановогоПогашения, | | NULL КАК Регистратор, | РасчетыПоСрокам.Регистратор КАК РегистраторРасчетов, | РасчетыПоСрокам.ПериодСекунда КАК ПериодСекунда, | | &ПоляРесурсовОстаткиОбороты | |ИЗ | РегистрНакопления.РасчетыСПоставщикамиПоСрокам.ОстаткиИОбороты({&НачалоПериода}, {&КонецПериода}, Авто, , | АналитикаУчетаПоПартнерам В | (ВЫБРАТЬ | ВТ_АналитикаУчетаПоПартнерам.КлючАналитики | ИЗ | ВТ_АналитикаУчетаПоПартнерам)) КАК РасчетыПоСрокам | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_АналитикаУчетаПоПартнерам КАК АналитикаУчета | ПО РасчетыПоСрокам.АналитикаУчетаПоПартнерам = АналитикаУчета.КлючАналитики |ГДЕ | &ЕстьРесурсЭтогоЗапроса | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Расчеты.Организация КАК Организация, | Расчеты.Партнер КАК Партнер, | Расчеты.Контрагент КАК Контрагент, | Расчеты.Договор КАК Договор, | Расчеты.НаправлениеДеятельности КАК НаправлениеДеятельности, | Расчеты.ОбъектРасчетов КАК ОбъектРасчетов, | Расчеты.Валюта КАК Валюта, | Расчеты.КорОбъектРасчетов КАК КорОбъектРасчетов, | Расчеты.КорПоставщик КАК КорПоставщик, | Расчеты.КорОрганизация КАК КорОрганизация, | Расчеты.КорКонтрагент КАК КорКонтрагент, | Расчеты.КорДоговор КАК КорДоговор, | Расчеты.РасчетныйДокумент КАК РасчетныйДокумент, | Расчеты.ДатаВозникновения КАК ДатаВозникновения, | Расчеты.ДатаПлановогоПогашения КАК ДатаПлановогоПогашения, | | Расчеты.Регистратор КАК Регистратор, | Расчеты.РегистраторРасчетов КАК РегистраторРасчетов, | Расчеты.ПериодСекунда КАК ПериодСекунда, | | &ПоляРесурсовРасчеты | |ИЗ ( | ВЫБРАТЬ | АналитикаУчета.Организация КАК Организация, | АналитикаУчета.Партнер КАК Партнер, | АналитикаУчета.Контрагент КАК Контрагент, | АналитикаУчета.Договор КАК Договор, | АналитикаУчета.НаправлениеДеятельности КАК НаправлениеДеятельности, | РасчетыПоСрокам.ОбъектРасчетов КАК ОбъектРасчетов, | ВЫБОР &ДанныеОтчета | КОГДА 4 | ТОГДА РасчетыПоСрокам.Валюта | КОГДА 2 | ТОГДА &ВалютаУправленческогоУчета | ИНАЧЕ АналитикаУчета.Организация.ВалютаРегламентированногоУчета | КОНЕЦ КАК Валюта, | РасчетыПоСрокам.КорОбъектРасчетов КАК КорОбъектРасчетов, | ЕСТЬNULL(РасчетыПоСрокам.КорАналитикаУчетаПоПартнерам.Партнер, | ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка)) КАК КорПоставщик, | ЕСТЬNULL(РасчетыПоСрокам.КорАналитикаУчетаПоПартнерам.Организация, | ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)) КАК КорОрганизация, | ЕСТЬNULL(РасчетыПоСрокам.КорАналитикаУчетаПоПартнерам.Контрагент, | ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)) КАК КорКонтрагент, | ЕСТЬNULL(РасчетыПоСрокам.КорАналитикаУчетаПоПартнерам.Договор, | ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)) КАК КорДоговор, | РасчетыПоСрокам.РасчетныйДокумент КАК РасчетныйДокумент, | РасчетыПоСрокам.ДатаВозникновения КАК ДатаВозникновения, | РасчетыПоСрокам.ДатаПлановогоПогашения КАК ДатаПлановогоПогашения, | | РасчетыПоСрокам.ДокументРегистратор КАК Регистратор, | РасчетыПоСрокам.Регистратор КАК РегистраторРасчетов, | РасчетыПоСрокам.Период КАК ПериодСекунда, | | &ПоляРесурсовДанныеРегистра | | ИЗ | РегистрНакопления.РасчетыСПоставщикамиПоСрокам КАК РасчетыПоСрокам | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_АналитикаУчетаПоПартнерам КАК АналитикаУчета | ПО РасчетыПоСрокам.АналитикаУчетаПоПартнерам = АналитикаУчета.КлючАналитики | {ГДЕ | РасчетыПоСрокам.Период МЕЖДУ &НачалоПериода И &КонецПериода}) КАК Расчеты | |СГРУППИРОВАТЬ ПО | Расчеты.Организация, | Расчеты.Партнер, | Расчеты.Контрагент, | Расчеты.Договор, | Расчеты.НаправлениеДеятельности, | Расчеты.ОбъектРасчетов, | Расчеты.Валюта, | Расчеты.КорОбъектРасчетов, | Расчеты.КорПоставщик, | Расчеты.КорОрганизация, | Расчеты.КорКонтрагент, | Расчеты.КорДоговор, | Расчеты.РасчетныйДокумент, | Расчеты.ДатаВозникновения, | Расчеты.ДатаПлановогоПогашения, | Расчеты.Регистратор, | Расчеты.РегистраторРасчетов, | Расчеты.ПериодСекунда |ИМЕЮЩИЕ | (&ОтборыВыбранныхПолей) |"; |
Пожалуйста, не ругайтесь и не отсылайте читать учебник, пробовал, но не смог найти, как именно "допилить" отчет. Заранее спасибо за любую помощь.
Прикрепленные файлы:



По теме из базы знаний
- 115 полезностей по курсу СКД Евгения Гилёва
- Оборотно-сальдовая ведомость
- Расшифровка отчета Расчет страховых взносов (с 2017г.) для ЗУП, УПП, ЗиКБУ: Раздел 1, Раздел 2, Раздел 3 (с навигацией по ФИО).
- Иерархическая нумерация в отчете СКД с помощью макета поля
- По-настоящему свои макеты в отчетах СКД. Исследование процесса компоновки и генерация кода отчета
Найденные решения
>>Понимаю, что нужно дабавить отдельную функцию для ТекстЗапроса для Набора Данных "Заявки"
Отдельный набор "Заявки" не нужен. Не в том смысле, что не обязателен, а зачем он вообще нужен, как такая мысль могла в голову прийти.
>>Соответственно надо вывести в отчет для каждого ОбъектРасчетов (из тех, что являются ЗаказПоставщика)
Если объект расчетов ссылается на договор, ничего делать не надо?
Технически, конечно, объект расчетов это справочник, который ссылается на другой объект. В настройках отчета у "Объекта расчетов" есть поле "Объект" — нераскрываемый.
По описанию задачи нужно дополнительное поле в отчете — "ОбъектРасчетов.Объект.знз_ЗаявкаНаЗакупку"
Можешь попробовать добавить вычисляемое поле
Отдельный набор "Заявки" не нужен. Не в том смысле, что не обязателен, а зачем он вообще нужен, как такая мысль могла в голову прийти.
>>Соответственно надо вывести в отчет для каждого ОбъектРасчетов (из тех, что являются ЗаказПоставщика)
Если объект расчетов ссылается на договор, ничего делать не надо?
Технически, конечно, объект расчетов это справочник, который ссылается на другой объект. В настройках отчета у "Объекта расчетов" есть поле "Объект" — нераскрываемый.
По описанию задачи нужно дополнительное поле в отчете — "ОбъектРасчетов.Объект.знз_ЗаявкаНаЗакупку"
Можешь попробовать добавить вычисляемое поле
ВЫБОР
КОГДА ТипЗначения(ОбъектРасчетов.Объект) = Тип("Документ.ЗаказПоставщику")
ТОГДА ОбъектРасчетов.Объект.знз_ЗаявкаНаЗакупку
ИНАЧЕ ПредопределенноеЗначение("Документ.знз_ЗаявкаНаЗакупку.ПустаяСсылка")
КОНЕЦ
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
>>Понимаю, что нужно дабавить отдельную функцию для ТекстЗапроса для Набора Данных "Заявки"
Отдельный набор "Заявки" не нужен. Не в том смысле, что не обязателен, а зачем он вообще нужен, как такая мысль могла в голову прийти.
>>Соответственно надо вывести в отчет для каждого ОбъектРасчетов (из тех, что являются ЗаказПоставщика)
Если объект расчетов ссылается на договор, ничего делать не надо?
Технически, конечно, объект расчетов это справочник, который ссылается на другой объект. В настройках отчета у "Объекта расчетов" есть поле "Объект" — нераскрываемый.
По описанию задачи нужно дополнительное поле в отчете — "ОбъектРасчетов.Объект.знз_ЗаявкаНаЗакупку"
Можешь попробовать добавить вычисляемое поле
Отдельный набор "Заявки" не нужен. Не в том смысле, что не обязателен, а зачем он вообще нужен, как такая мысль могла в голову прийти.
>>Соответственно надо вывести в отчет для каждого ОбъектРасчетов (из тех, что являются ЗаказПоставщика)
Если объект расчетов ссылается на договор, ничего делать не надо?
Технически, конечно, объект расчетов это справочник, который ссылается на другой объект. В настройках отчета у "Объекта расчетов" есть поле "Объект" — нераскрываемый.
По описанию задачи нужно дополнительное поле в отчете — "ОбъектРасчетов.Объект.знз_ЗаявкаНаЗакупку"
Можешь попробовать добавить вычисляемое поле
ВЫБОР
КОГДА ТипЗначения(ОбъектРасчетов.Объект) = Тип("Документ.ЗаказПоставщику")
ТОГДА ОбъектРасчетов.Объект.знз_ЗаявкаНаЗакупку
ИНАЧЕ ПредопределенноеЗначение("Документ.знз_ЗаявкаНаЗакупку.ПустаяСсылка")
КОНЕЦ
(2) lone_mayson, добрый день,
Спасибо за ваш ответ. Все заработало. В целом, да, согласен с вами, если данный объект уже выбран в запросах, то писать еще один запрос - бессмысленно, не знаю, что меня привело к этому решению, скорее всего просто слабое понимание СКД и огромный для новичка по составу отчет.
В любом случае, все работает. Благодарю за помощь, хорошего дня!
Спасибо за ваш ответ. Все заработало. В целом, да, согласен с вами, если данный объект уже выбран в запросах, то писать еще один запрос - бессмысленно, не знаю, что меня привело к этому решению, скорее всего просто слабое понимание СКД и огромный для новичка по составу отчет.
В любом случае, все работает. Благодарю за помощь, хорошего дня!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот