Проблема с переносом Субконто документа в Операцию Бух при выполнении Конвертации данных 2.1

1. militisa 10.08.22 07:31 Сейчас в теме
Доброе утро, форумчане. Помогите, пожалуйста. В конвертации недавно. При создании правила выгрузки документа в ОперациюБух не получается выгрузить Субконто. Опиралась на статью https://infostart.ru/1c/articles/120035/, но при выгрузке появляется ошибка (в прикрепленной картинке) - Значение не является значением объектного типа (ИмяТипа). Происходит это в момент анализа Строки субконто (СтрокаТаблицыЗначений). В статье советуют использовать соответствие как ключ коллекции субконто. Вот на него и ругается программа.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
12. nomad_irk 76 10.08.22 10:03 Сейчас в теме
(11) Я бы попробовал сделать так:

............
Проводка = Хозрасчетный.Добавить();
Проводка.СчетДт = ВыборкаДетальныеЗаписи.СчетДт;
Проводка.СчетКт = ВыборкаДетальныеЗаписи.СчетКт;
Проводка.Сумма = ВыборкаДетальныеЗаписи.Сумма;

СубконтоДт = Новый Соответствие;
Если ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоДт1) = Тип("СправочникСсылка.ФизическиеЛица")
             И (ВыборкаДетальныеЗаписи.СчетДт.Принадлежит(ПланыСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда)
              ИЛИ  ВыборкаДетальныеЗаписи.СчетДт = ПланыСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда)) Тогда
СубконтоДт.Вставить("РаботникиОрганизации", ВыборкаДетальныеЗаписи.СубконтоДт1);
......
Показать



В общем смысл в том, чтобы не создавать ПКО для ПВХ, а использовать предопределенные имена ПВХ.ВидыСубконтоХозрасчетные

Если не получится, то как указано в статье, добавить ПКО для ПВХ.ВидыСубконтоХозрасчетные и искать нужный вид по коду базы-приемника.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 10.08.22 09:08 Сейчас в теме
(1) Не скрою, я ожидал от вас подобной темы. Я предлагаю пойти совершенно другим путем. Сразу скажу, что сам ни разу не писал правил для документа Операция и то, что я предлагаю не использовал.
Мы выгружаем ссылочные объекты, участвующие на стороне БП в субконто, каждый тип в свой параметр отдельно и с указанием стороны. А уже при загрузке записывать из параметров в проводку:
БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка["СубконтоДт"], "СтатьиЗатрат", СтрокаПараметров.СтатьяЗатратДт);
БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка["СубконтоДт"], "Контрагенты",  СтрокаПараметров.КонтрагентДт);
БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка["СубконтоДт"], "ФизическиеЛица", СтрокаПараметров.ФизЛицоДт);
Прикрепленные файлы:
3. nomad_irk 76 10.08.22 09:11 Сейчас в теме
(2)не нужно ничего прописывать, нужно указать имя ПКО в зависимости от типа значения и все.
Даже в статье, на которую ссылается ТС, написана какая-то дичь, как по-мне......
Прикрепленные файлы:
4. RustamZz 10.08.22 09:21 Сейчас в теме
(3) Дело в том что у РБ в КД нет отдельных полей Субконто Дт1, Дт2, Дт3 и Кт1, Кт2, Кт3 и нужно собирать в коллекцию СубконтоДт и СубконтоКт под каждый счет отдельно в определенном порядке, как предусмотрено на принимающей стороне. В результате кода придется написать очень много.
5. nomad_irk 76 10.08.22 09:29 Сейчас в теме
(4)да ладно: сформировать структуру с видом субконто + его значением - пару строк кода
9. militisa 10.08.22 09:41 Сейчас в теме
(5)Я сформировала соответствие - , где ключом была ссылка на ПВХ, который будет задействован со стороны приемника. И на это и ругается система при выгрузке. Продоваал и через Наименование, и через Код
Прикрепленные файлы:
7. militisa 10.08.22 09:38 Сейчас в теме
(3)Я буду очень рада, если это направление развить, но как правильно сказал RustamZz, у нас в конфигурации - это коллекции СубконтоДт и СубконтоКт. И как в таком случае , сработает ли такое решение?
6. militisa 10.08.22 09:34 Сейчас в теме
(2) RustamZz, дело в том, что у меня документ из ЗУПа выгружает проводки, а проводки бывают с разными счетами, и соответственно, с разными Субконто и их количество тоже разное. Потому это усложняет поиск решения. Пыталась коллекцию субконто передавать в параметр, как это показывал Гилев в своем видео - программа ругается.
8. nomad_irk 76 10.08.22 09:38 Сейчас в теме
(6)у вас есть обработка выгрузки данных, в нем написан текст запроса и обработка результата построчно
показывайте чего там наделали.
10. militisa 10.08.22 09:42 Сейчас в теме
(8)сейчас все покажу, пока писала предыдущую реплику, не видела эту :)
13. RustamZz 10.08.22 10:13 Сейчас в теме
(6) Если вы можете предоставить правила с этим документом и несколькими справочниками, я покажу свою идею.
15. militisa 10.08.22 11:39 Сейчас в теме
(13) У нас очень строго с безопасностью и защитой информации. Дождусь руководства, спрошу, если можно будет, то покажу... в любом случае спасибо... приятно, когда чувствуется поддержка... вот :)
11. militisa 10.08.22 09:43 Сейчас в теме
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Ссылка КАК Ссылка,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетДт КАК СчетДт,
| ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетКт КАК СчетКт,
| СУММА(ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Сумма) КАК Сумма,
| ЕСТЬ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)));
РезультатЗапроса = Запрос.Выполнить();

ВыборкаСсылка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаСсылка.Следующий() Цикл

ИсходящиеДанные = Новый Структура;
Ссылка = ВыборкаСсылка.Ссылка;
Дата = ВыборкаСсылка.Ссылка.Дата;
ИсходящиеДанные.Вставить("Дата", Дата);
ИсходящиеДанные.Вставить("Организация", ВыборкаСсылка.Организация);
ИсходящиеДанные.Вставить("Ответственный",ВыборкаСсылка.Ответственный);
ИсходящиеДанные.Вставить("СуммаОперации",ВыборкаСсылка.Сумма);
ИсходящиеДанные.Вставить("Содержание", "Перенос операций: ЗП");
ИсходящиеДанные.Вставить("Комментарий", "Загружено ЗУП (Хьюмен систем)");
ИсходящиеДанные.Вставить("Хозрасчетный", Новый ТаблицаЗначений);

Хозрасчетный = ИсходящиеДанные.Хозрасчетный;
Хозрасчетный.Колонки.Добавить("СубконтоДт");
Хозрасчетный.Колонки.Добавить("СубконтоКт");
Хозрасчетный.Колонки.Добавить("Сумма");
Хозрасчетный.Колонки.Добавить("СчетДт");
Хозрасчетный.Колонки.Добавить("СчетКт");
Хозрасчетный.Колонки.Добавить("Содержание");

ВыборкаДетальныеЗаписи = ВыборкаСсылка.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

Если Не ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.СодержаниеПроводки) Тогда
Продолжить;
КонецЕсли;

Проводка = Хозрасчетный.Добавить();
Проводка.СчетДт = ВыборкаДетальныеЗаписи.СчетДт;
Проводка.СчетКт = ВыборкаДетальныеЗаписи.СчетКт;
Проводка.Сумма = ВыборкаДетальныеЗаписи.Сумма;

СубконтоДт = Новый Соответствие;
Если ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоДт1) = Тип("СправочникСсылка.ФизическиеЛица") Тогда
СубконтоДт.Вставить(Новый Структура("Наименование", "РаботникиОрганизаций"), ВыборкаДетальныеЗаписи.СубконтоДт1);
ИначеЕсли ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоДт1) = Тип("СправочникСсылка.Контрагенты") Тогда
СубконтоДт.Вставить(Новый Структура("Наименование", "Контрагенты"), ВыборкаДетальныеЗаписи.СубконтоДт1);
ИначеЕсли ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоДт1) = Тип("СправочникСсылка.СтатьиЗатрат") Тогда
СубконтоДт.Вставить(Новый Структура("Наименование", "НоменклатурныеГруппы"), ВыборкаДетальныеЗаписи.СубконтоДт1);
ИначеЕсли ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоДт1) = Тип("СправочникСсылка.ПлатежиВФонды")
или ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоДт1) = Тип("СправочникСсылка.ПлатежиВБюджет") Тогда
СубконтоДт.Вставить(Новый Структура("Наименование", "ВидыПлатежейВГосБюджет"), ВыборкаДетальныеЗаписи.СубконтоДт1);
КонецЕсли;

Если ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоДт2) = Тип("СправочникСсылка.ФизическиеЛица") Тогда
СубконтоДт.Вставить(Новый Структура("Наименование", "РаботникиОрганизаций"), ВыборкаДетальныеЗаписи.СубконтоДт2);
ИначеЕсли ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоДт2) = Тип("СправочникСсылка.Контрагенты") Тогда
СубконтоДт.Вставить(Новый Структура("Наименование", "Контрагенты"), ВыборкаДетальныеЗаписи.СубконтоДт2);
ИначеЕсли ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоДт2) = Тип("СправочникСсылка.СтатьиЗатрат") Тогда
СубконтоДт.Вставить(Новый Структура("Наименование", "НоменклатурныеГруппы"), ВыборкаДетальныеЗаписи.СубконтоДт2);
ИначеЕсли ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоДт2) = Тип("СправочникСсылка.ПлатежиВФонды")
или ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоДт2) = Тип("СправочникСсылка.ПлатежиВБюджет") Тогда
СубконтоДт.Вставить(Новый Структура("Наименование", "ВидыПлатежейВГосБюджет"), ВыборкаДетальныеЗаписи.СубконтоДт2);
КонецЕсли;

Проводка.СубконтоДт = СубконтоДт;

СубконтоКт = Новый Соответствие;
Если ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоКт1) = Тип("СправочникСсылка.ФизическиеЛица") Тогда
СубконтоКт.Вставить(Новый Структура("Наименование", "РаботникиОрганизаций"), ВыборкаДетальныеЗаписи.СубконтоКт1);
ИначеЕсли ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоКт1) = Тип("СправочникСсылка.Контрагенты") Тогда
СубконтоКт.Вставить(Новый Структура("Наименование", "Контрагенты"), ВыборкаДетальныеЗаписи.СубконтоКт1);
ИначеЕсли ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоКт1) = Тип("СправочникСсылка.СтатьиЗатрат") Тогда
СубконтоКт.Вставить(Новый Структура("Наименование", "НоменклатурныеГруппы"), ВыборкаДетальныеЗаписи.СубконтоКт1);
ИначеЕсли ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоКт1) = Тип("СправочникСсылка.ПлатежиВФонды")
или ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоКт1) = Тип("СправочникСсылка.ПлатежиВБюджет") Тогда
СубконтоКт.Вставить(Новый Структура("Наименование", "ВидыПлатежейВГосБюджет"), ВыборкаДетальныеЗаписи.СубконтоКт1);
КонецЕсли;

Если ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоКт2) = Тип("СправочникСсылка.ФизическиеЛица") Тогда
СубконтоКт.Вставить(Новый Структура("Наименование", "РаботникиОрганизаций"), ВыборкаДетальныеЗаписи.СубконтоКт2);
ИначеЕсли ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоКт2) = Тип("СправочникСсылка.Контрагенты") Тогда
СубконтоКт.Вставить(Новый Структура("Код", "00005"), ВыборкаДетальныеЗаписи.СубконтоКт2);
ИначеЕсли ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоКт2) = Тип("СправочникСсылка.СтатьиЗатрат") Тогда
СубконтоКт.Вставить(Новый Структура("Наименование", "НоменклатурныеГруппы"), ВыборкаДетальныеЗаписи.СубконтоКт2);
ИначеЕсли ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоКт2) = Тип("СправочникСсылка.ПлатежиВФонды")
или ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоКт2) = Тип("СправочникСсылка.ПлатежиВБюджет") Тогда
СубконтоКт.Вставить(Новый Структура("Код", "00022"), ВыборкаДетальныеЗаписи.СубконтоКт2);
КонецЕсли;

Проводка.СубконтоКт = СубконтоКт;

Проводка.Содержание = ВыборкаДетальныеЗаписи.СодержаниеПроводки;

КонецЦикла;


КонецЦикла;

ВыгрузитьПоПравилу(Ссылка, , ИсходящиеДанные, ,"ВыгрузкаПроводокИзЗУП_в_БП");
12. nomad_irk 76 10.08.22 10:03 Сейчас в теме
(11) Я бы попробовал сделать так:

............
Проводка = Хозрасчетный.Добавить();
Проводка.СчетДт = ВыборкаДетальныеЗаписи.СчетДт;
Проводка.СчетКт = ВыборкаДетальныеЗаписи.СчетКт;
Проводка.Сумма = ВыборкаДетальныеЗаписи.Сумма;

СубконтоДт = Новый Соответствие;
Если ТипЗнч(ВыборкаДетальныеЗаписи.СубконтоДт1) = Тип("СправочникСсылка.ФизическиеЛица")
             И (ВыборкаДетальныеЗаписи.СчетДт.Принадлежит(ПланыСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда)
              ИЛИ  ВыборкаДетальныеЗаписи.СчетДт = ПланыСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда)) Тогда
СубконтоДт.Вставить("РаботникиОрганизации", ВыборкаДетальныеЗаписи.СубконтоДт1);
......
Показать



В общем смысл в том, чтобы не создавать ПКО для ПВХ, а использовать предопределенные имена ПВХ.ВидыСубконтоХозрасчетные

Если не получится, то как указано в статье, добавить ПКО для ПВХ.ВидыСубконтоХозрасчетные и искать нужный вид по коду базы-приемника.
14. militisa 10.08.22 11:37 Сейчас в теме
(12) Извините, отвлекалась по работе. Попробую сделать, как Вы написали, отпишусь.
16. militisa 10.08.22 12:31 Сейчас в теме
(12)nomad_irk , простите, но я вот с каким вопросом. В вашем коде вы помимо сравнения на тип справочника еще и проверяете и счета, но счета могут быть и 70-е, и 73й, и 69-й, у которых есть субконто ДТ Физлицо. Может , это лишнее условие? Иначе код раздуется еще на много больше строк?
Прикрепленные файлы:
17. nomad_irk 76 10.08.22 13:06 Сейчас в теме
(16)Все правильно, но у 69 счета нет субконто вида "РаботникиОрганизации", у 73 - есть, значит его так же можно включить в проверку
Используя цикл
Для НомерСубконто = 1 По 3 Цикл 

можно немного сократить код обработки субконто
18. militisa 10.08.22 17:17 Сейчас в теме
(16)По факту, я смогла выгрузить субконто. Но при этом выгружается Субконто только, если я создаю не Соответствие, а Структуру с ключом предопределенного наименования ПВХ. Так что, в общем , эта задача решена. Спасибо.
Оставьте свое сообщение

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