Как получить в запросе реквизит из составного типа данных?

1. Iskra 16.09.12 19:41 Сейчас в теме
Доброе время суток! Мучаюсь со следующей проблемой: есть регистр накопления, где регистратор является составным типом данных. Мне необходимо получить реквизит СтатьяДДС, в случае если тип документа регистратора Платежное поручение входящее. А в дальнейшем по этому реквизиту соединиться с регистром сведений. Я даже условие задала, чтобы отбирались только те записи где тип документа регистратора пл/п входящее. Статья ДДС выводится пустая, соответствие не находится :( Подкиньте, пожалуйста, идею.

Пример запроса:
ВЫБРАТЬ
РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.Организация,
РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.Контрагент,
НАЧАЛОПЕРИОДА(РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.ДатаОплаты, ДЕНЬ) КАК Дата,
РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.СуммаРегПриход,
РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.Регистратор,
ВЫБОР
КОГДА РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее
ТОГДА ВЫРАЗИТЬ(РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.Регистратор КАК Документ.ПлатежноеПоручениеВходящее).СтатьяДвиженияДенежныхСредств
КОГДА РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер
ТОГДА ВЫРАЗИТЬ(РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.Регистратор КАК Документ.ПриходныйКассовыйОрдер).СтатьяДвиженияДенежныхСредств
КОНЕЦ КАК СтатьяДДС,
СоответствиеСтатейДвиженияДенежныхСредствСтатьямОборотовПоБю­джетам.СтатьяОборотовПоБюджетам
ИЗ
РегистрНакопления.РасчетыПоРеализацииВУсловныхЕдиницахОрганизации.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоответствиеСтатейДвиженияДенежныхСредствСтатьямОборотовПоБю­джетам КАК СоответствиеСтатейДвиженияДенежныхСредствСтатьямОборотовПоБю­джетам
ПО (ВЫРАЗИТЬ(РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.Регистратор КАК Документ.ПлатежноеПоручениеВходящее).СтатьяДвиженияДенежныхСредств = СоответствиеСтатейДвиженияДенежныхСредствСтатьямОборотовПоБю­джетам.СтатьяДвиженияДенежныхСредств)
ГДЕ
РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.СчетОплаты = ЗНАЧЕНИЕ(ПланСчетов.ХозРасчетный.РасчетыСПокупателями)
И РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. m-serg74 46 16.09.12 19:46 Сейчас в теме
проблема обычно в том что в ПлатПор, есть ТЧ расшифровка платежа, и когда стоит галка "списком", тогда видно что это ТЧ, а когда строчка в ней одна-единственная, то создается впечатление, что СтатьяДДС в шапке документа заполнена, но это не так, в общем не оттуда читаешь СтатьюДДС
3. m-serg74 46 16.09.12 19:48 Сейчас в теме
в ПКО та же фигня вроде
4. Iskra 16.09.12 20:29 Сейчас в теме
точно :) сейчас проверю.
5. Iskra 16.09.12 21:37 Сейчас в теме
хм, но в составном типе запрещено обращаться к вложенным таблицам... Вопрос открыт.
6. m-serg74 46 17.09.12 01:09 Сейчас в теме
(5) Iskra, к вложенным вообще лажа обращаться, получай в временную таблицу данные из регистра, вторым пакетом соединяй с ТЧ этих регистраторов и вытаскивай СтатьиДДС, вот тут вопрос - если окажется в расшифровке несколько строк - что делать, и лишь после этого соединяй с рег. свед.
10. Iskra 17.09.12 09:59 Сейчас в теме
(6) m-serg74, в общем решила проблему, но другим путем: статью ДДС беру из РН "Движения ДС", связь по регистратору, работает :)
m-serg74; +1 Ответить
12. m-serg74 46 17.09.12 10:02 Сейчас в теме
(10) Iskra, ну... очень рад за тебя, а то что из регистра а не по документам, так вообще респект
7. dbaser 21 17.09.12 09:29 Сейчас в теме
Подобную проблему решал внутри запроса.
Нужно использовать команду запроса ВЫРАЗИТЬ(ПутьКПолю КАК ТИП)

смысл в том что эта команда работает своего рода как фильтр и выбирает только те записи где тип указанный в команде совпадает с типом значения в строке.

яндекс знает про эту команду все.

Еще это решение помогает вылечить сортировку списка в управляемых формах, которая не работает для реквизитов составного типа.
8. m-serg74 46 17.09.12 09:47 Сейчас в теме
(7) dbaser, чем это ей поможет?
9. Iskra 17.09.12 09:58 Сейчас в теме
dbaser, ВЫРАЗИТЬ(РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.Регистратор КАК Документ.ПлатежноеПоручениеВходящее).СтатьяДвиженияДенежныхСредств - хоть бы на запрос одним глазом глянули, проблема в другом...
11. m-serg74 46 17.09.12 10:00 Сейчас в теме
(9) Iskra, так что у тебя получилось? или нет...
13. Iskra 17.09.12 10:11 Сейчас в теме
(11) m-serg74, получилось, но только не через вложенную таблицу. Нужную мне статью ДДС беру из регистра накопления "Движения ДДС", движения по которому записываются параллельно с движениями по РН "Расчеты по реализации, бух. учет", связь по документу регистратору:
ВЫБРАТЬ
РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.Организация КАК Организация,
РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.Контрагент КАК Контрагент,
НАЧАЛОПЕРИОДА(РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.Период, ДЕНЬ) КАК Дата,
РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.СуммаРегПриход КАК СуммаРегПриход,
РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.Регистратор КАК Регистратор,
ДвиженияДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств
ИЗ
РегистрНакопления.РасчетыПоРеализацииВУсловныхЕдиницахОрганизации.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ДвиженияДенежныхСредств.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК ДвиженияДенежныхСредствОбороты
ПО РасчетыПоРеализацииВУсловныхЕдиницахОрганизацииОбороты.Регистратор = ДвиженияДенежныхСредствОбороты.Регистратор

Так работает ))) Спасибо)
14. m-serg74 46 17.09.12 10:24 Сейчас в теме
(13) Iskra, повнимательнее с этим регистром (РасчетыПоРеализацииВУсловныхЕдиницахОрганизации), там имеются "подводные камни", сам одно время с ним возился (дебиторку-кредиторку нужно было для бюджетирования выдергивать)... например, если есть ПП только по управл. учету в этом рег. их не будет, еще там фигня какая то была, там же еще есть РасчетыПоПриобретениюВУсловныхЕдиницахОрганизации, и они как то там хитро используются...
15. Iskra 17.09.12 11:56 Сейчас в теме
16. AlexO 136 12.03.16 22:01 Сейчас в теме
В общем, вопрос нерешаем - по реквизиту составного типа получить ТЧ регистратора НЕВОЗМОЖНО.
Максимум, чего я добился использованием ВЫБОР...КОГДА в источнике запроса (обошел все идиотские ограничения "нельзя обращаться к вложенной таблице через поле составного типа", синтаксис идеален, конструктор запроса на "ура" открывает) - это получил ошибку SDBL "Такого поля нет в базе" (дело на MS SQL происходило).
Так что - молодец 1С, что сама ввела непонятно что (составные типы, ТЧ, и ВЫРАЗИТЬ в запросе), работающее кое-как.
P/S/ Конечно, исключая вариант, когда у каждого типа составного реквизита - есть эта ТЧ: тогда все дело просто "скатывается" к варианту "обычного реквизита", и ТЧ получается стандартным путем.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот