Доброе утро, форумчане. Помогите, пожалуйста. В конвертации недавно. При создании правила выгрузки документа в ОперациюБух не получается выгрузить Субконто. Опиралась на статью https://infostart.ru/1c/articles/120035/, но при выгрузке появляется ошибка (в прикрепленной картинке) - Значение не является значением объектного типа (ИмяТипа). Происходит это в момент анализа Строки субконто (СтрокаТаблицыЗначений). В статье советуют использовать соответствие как ключ коллекции субконто. Вот на него и ругается программа.
(1) Не скрою, я ожидал от вас подобной темы. Я предлагаю пойти совершенно другим путем. Сразу скажу, что сам ни разу не писал правил для документа Операция и то, что я предлагаю не использовал.
Мы выгружаем ссылочные объекты, участвующие на стороне БП в субконто, каждый тип в свой параметр отдельно и с указанием стороны. А уже при загрузке записывать из параметров в проводку:
(2)не нужно ничего прописывать, нужно указать имя ПКО в зависимости от типа значения и все.
Даже в статье, на которую ссылается ТС, написана какая-то дичь, как по-мне......
(3) Дело в том что у РБ в КД нет отдельных полей Субконто Дт1, Дт2, Дт3 и Кт1, Кт2, Кт3 и нужно собирать в коллекцию СубконтоДт и СубконтоКт под каждый счет отдельно в определенном порядке, как предусмотрено на принимающей стороне. В результате кода придется написать очень много.
(5)Я сформировала соответствие - , где ключом была ссылка на ПВХ, который будет задействован со стороны приемника. И на это и ругается система при выгрузке. Продоваал и через Наименование, и через Код
(3)Я буду очень рада, если это направление развить, но как правильно сказал RustamZz, у нас в конфигурации - это коллекции СубконтоДт и СубконтоКт. И как в таком случае , сработает ли такое решение?
(2) RustamZz, дело в том, что у меня документ из ЗУПа выгружает проводки, а проводки бывают с разными счетами, и соответственно, с разными Субконто и их количество тоже разное. Потому это усложняет поиск решения. Пыталась коллекцию субконто передавать в параметр, как это показывал Гилев в своем видео - программа ругается.
(13) У нас очень строго с безопасностью и защитой информации. Дождусь руководства, спрошу, если можно будет, то покажу... в любом случае спасибо... приятно, когда чувствуется поддержка... вот :)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Ссылка КАК Ссылка,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетДт КАК СчетДт,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетКт КАК СчетКт,
| СУММА(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Сумма) КАК Сумма,
| ЕСТЬNULL(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СодержаниеПроводки, """") КАК СодержаниеПроводки,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Ссылка.Организация КАК Организация,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Ссылка.Ответственный КАК Ответственный,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт1) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт1) = ТИП(Справочник.Контрагенты)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт1
| КОНЕЦ КАК СубконтоДТ1,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт2) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт2) = ТИП(Справочник.Контрагенты)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| КОГДА ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.А70_1)
| ТОГДА ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт2
| КОНЕЦ КАК СубконтоДТ2,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт3) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт3) = ТИП(Справочник.Контрагенты)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт3
| КОНЕЦ КАК СубконтоДТ3,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт1) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт1) = ТИП(Справочник.Контрагенты)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт1
| КОНЕЦ КАК СубконтоКТ1,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт2) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт2) = ТИП(Справочник.Контрагенты)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| КОГДА ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.А70_1)
| ТОГДА ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт2
| КОНЕЦ КАК СубконтоКТ2,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт3) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт3) = ТИП(Справочник.Контрагенты)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт3
| КОНЕЦ КАК СубконтоКТ3
|ПОМЕСТИТЬ ВТ_Проводки
|ИЗ
| Документ.ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете КАК ОтражениеЗарплатыВРеглУчетеОтражениеВУчете
|ГДЕ
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
|
|СГРУППИРОВАТЬ ПО
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетДт,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетКт,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Ссылка,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Ссылка.Организация,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Ссылка.Ответственный,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт1) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт1
| КОНЕЦ,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт3) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛИца.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт3
| КОНЕЦ,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт1) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт1
| КОНЕЦ,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт2) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт2
| КОНЕЦ,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт3) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт3
| КОНЕЦ,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт1) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт1) = ТИП(Справочник.Контрагенты)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт1
| КОНЕЦ,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт3) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт3) = ТИП(Справочник.Контрагенты)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт3
| КОНЕЦ,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт1) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт1) = ТИП(Справочник.Контрагенты)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт1
| КОНЕЦ,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт3) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт3) = ТИП(Справочник.Контрагенты)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт3
| КОНЕЦ,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт2) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт2) = ТИП(Справочник.Контрагенты)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| КОГДА ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.А70_1)
| ТОГДА ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт2
| КОНЕЦ,
| ВЫБОР
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт2) = ТИП(Справочник.ФизическиеЛица)
| ТОГДА ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
| КОГДА ТИПЗНАЧЕНИЯ(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт2) = ТИП(Справочник.Контрагенты)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| КОГДА ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.А70_1)
| ТОГДА ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ПустаяСсылка)
| ИНАЧЕ ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоКт2
| КОНЕЦ,
| ЕСТЬNULL(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СодержаниеПроводки, """")
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_Проводки.Ссылка КАК Ссылка,
| ВТ_Проводки.СчетДт КАК СчетДт,
| ВТ_Проводки.СчетКт КАК СчетКт,
| СУММА(ВТ_Проводки.Сумма) КАК Сумма,
| ЕСТЬNULL(ВТ_Проводки.СодержаниеПроводки, """") КАК СодержаниеПроводки,
| ВТ_Проводки.Организация КАК Организация,
| ВТ_Проводки.Ответственный КАК Ответственный,
| ВТ_Проводки.СубконтоДТ1 КАК СубконтоДТ1,
| ВТ_Проводки.СубконтоДТ2 КАК СубконтоДТ2,
| ВТ_Проводки.СубконтоКТ1 КАК СубконтоКТ1,
| ВТ_Проводки.СубконтоКТ2 КАК СубконтоКТ2
|ИЗ
| ВТ_Проводки КАК ВТ_Проводки
|
|СГРУППИРОВАТЬ ПО
| ВТ_Проводки.Ссылка,
| ВТ_Проводки.СчетДт,
| ВТ_Проводки.СчетКт,
| ВТ_Проводки.Организация,
| ВТ_Проводки.СубконтоКТ2,
| ВТ_Проводки.СубконтоКТ1,
| ВТ_Проводки.СубконтоДТ2,
| ВТ_Проводки.Ответственный,
| ВТ_Проводки.СубконтоДТ1,
| ЕСТЬNULL(ВТ_Проводки.СодержаниеПроводки, """")
|ИТОГИ
| СУММА(Сумма),
| МАКСИМУМ(Организация),
| МАКСИМУМ(Ответственный)
|ПО
| Ссылка,
| СчетДт,
| СчетКт";
Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(Дата(2022,01,01)));
Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(Дата(2022,01,31)));
РезультатЗапроса = Запрос.Выполнить();
(12)nomad_irk , простите, но я вот с каким вопросом. В вашем коде вы помимо сравнения на тип справочника еще и проверяете и счета, но счета могут быть и 70-е, и 73й, и 69-й, у которых есть субконто ДТ Физлицо. Может , это лишнее условие? Иначе код раздуется еще на много больше строк?
(16)По факту, я смогла выгрузить субконто. Но при этом выгружается Субконто только, если я создаю не Соответствие, а Структуру с ключом предопределенного наименования ПВХ. Так что, в общем , эта задача решена. Спасибо.