Имя: Пароль:
1C
1С v8
Конвертация субконто в 2 справочника
,
0 Mr_SlavaN
 
14.05.17
14:56
Всем доброго дня!

Есть ERP в которой на сч.26 и сч.91.02 используется один вид субконто.
Нужно перенести обороты в БП 3.0, но в ней на этих счетах разные виды субконто (и соответственно справочники)

Перенос сделал произвольным алгоритмом в проводки док.ОперацияБух.
Создал 2 ПКО для конвертации.
При выгрузке 26 счёта всё прекрасно работает.
При выгрузке 91.02 в поле субконто название отображается правильно, но самого значения нет.

Посмотрел файл выгрузки - везде используется ПКО с 26 счёта.

Подскажите, в каком месте (ПКО или ПКС) сделать подмену ПКО, если в проводке используется сч.91.02?
1 Franchiser
 
гуру
14.05.17
16:06
Обработчик ПриЗагрузке к субконтоДт,  СубконтоКт:
Нужно переопределить переменную ИмяПкоВидСубконто
2 Franchiser
 
гуру
14.05.17
16:19
Имя пко обычно автоматически подбирается исходя из типа значения в субконто.  ИменаПКо нужно называть как имена типов.
3 Franchiser
 
гуру
14.05.17
16:22
Хотя нет,  имена не имеют значения,  если есть несколько пко под 1 тип,  то берется пко с наибольшим приоритетом
4 Mr_SlavaN
 
14.05.17
17:22
(1) Т.е. в ПКО привязанному к определению вида субконто прописать условие выбора по виду субконто?
Но там нет данных о счёте и опереться в выборе уже не на что.

Появилась мысль.
Т.к. алгоритм заполнения у меня произвольный, то поля СубконтоДт и СубконтоКт представляют из себя соответствия, где ключ - вид субконто, а значение - значение субконто.
Теоретически, можно вместо вида субконто подставить произвольную строку, например, "Субконто9102".
Тогда в ПКО по видам субконто можно поставить условие типа:
Если Источник.Ключ = "Субконто9102" тогда ИмяПКОВидСубконто = <ИмяПравильногоПКО>

Пойду попробую проверить...
5 Franchiser
 
гуру
14.05.17
17:31
(4) имяпковидсубконто это пко для синхронизации ПВХ видсубконтозозоасчетный.  Если у тебя предопределенное субконто,  то должно и так работать,  если нет,  то нужно включить синхронизацию свойств ПВХ,  например,  по наименованию,  а не создавать еще одно пко для пвх.
6 Franchiser
 
гуру
14.05.17
17:34
Пко ПриЗагрузке вызывается столько раз,  сколько у тебя в структуре есть видов субконто на счете
7 Franchiser
 
гуру
14.05.17
17:36
Какие у тебя субконто на 91.02 в отличии на 26? Все предопределенные,  или созданные в режиме предприятия?
8 Franchiser
 
гуру
14.05.17
17:41
Думаю тебе нужно просто правильно написать в выгрузке имя ключа для субконто на 91.02. А уже в пко для пвх подменять при необходимости ИмяПКО,  возможно потребуется передавать из ПКС СубктнтоДт,  СубконтоКт исходящие данные,  для определения что это по счету 91.02
9 Franchiser
 
гуру
14.05.17
17:46
Кстати ИмяПКо в зависимости от значения можно определить там же в ПКС при загрузке субконтодт,  субконтокт если не ошибаюсь
10 Mr_SlavaN
 
14.05.17
17:49
(7) Все предопределённые
на 26 - "Статьи затрат", частью которого является пвх.СтатьиРасходов
на 91.02 - "Прочие доходы и расходы", частью которого тоже является пвх.СтатьиРасходов.
Основной выбор значений и там, и там идёт как раз из этого пвх.

(8) вот тут немного не понял. Имя ключа - это имя ПКО?
У меня сейчас есть 2 ПКО с одним источником и разными приёмниками, но используется только 1

(9) В том то и печаль, что я не могу в ПКС проверить даже какой счёт в текущей проводке, не то что переопределить ПКО :(
11 Franchiser
 
гуру
14.05.17
17:55
Правильно я понимаю,  что из erp ты конвертируешь пвх статьи расходов->ПВХ Статьи Затрат,  и пвх статьи расходов - > пвх ПДиР
12 Mr_SlavaN
 
14.05.17
17:56
(11) да
13 Mr_SlavaN
 
14.05.17
17:57
чувствую что туплю, но не могу понять где
14 Franchiser
 
гуру
14.05.17
17:59
Имя ключа это название вида субконта в приемнике
15 Franchiser
 
гуру
14.05.17
18:01
Для проверки счета можно использовать структуру с параметрами
16 Franchiser
 
гуру
14.05.17
18:08
Ну или Входящие Данные для передачи значения между ПКС одного ПКО,  если счетдт и счеткт расположен выше
17 Franchiser
 
гуру
14.05.17
18:13
На этапе выгрузки ты можешь анализировать счет и подменять для 9102 ключ в структуре на ПрочиеДоходыИРасходы?
18 Mr_SlavaN
 
14.05.17
18:15
(14) может я не в том ПКО пытаюсь определиться?
В ERP на 91.01 вид субконто один, на 91.02 - другой. Но БП они загружаются в один справочник.
Может быть мне надо проверять в ПКО для субконто сч.91.01? Ведь вид субконто приёмника у них один и тот же...
19 Franchiser
 
гуру
14.05.17
18:21
Я не знаю как у тебя сделано: можно сделать произвольный алгоритм в ПВД и там формировать структуры субконтоДт,  СубконтоКт и создавая переменную ВыборкаДанных,  а можно делать в пкс непосредственно при конвертации проводок в правиле ОперацияБух.  Если у тебя произвольный алгоритм в ПВД,  там и делай подмену ключа
20 Mr_SlavaN
 
14.05.17
18:23
(18) Не помогло.(
(17) Или я с головой поссорился, или в ПКС в обработчике ПередВыгрузкой нельзя проверить другой реквизит объекта.
Скорее всего первое.
(18) Спасибо за помощь! Завтра буду грызть гранит науки в эту сторону.
21 Franchiser
 
гуру
14.05.17
18:29
Для начала у тебя должно быть 2 ПКО по конвертации 2х справочников в 1.  Они есть?  Во вторых в пкс субконтодт или субконтокт нужно описать проверку на счет и подменять имяпко,  при этом имена ключей должны быть правильные,  ну или должно быть настроено их соотвествие  в правиле синхронизации пвх.
22 Franchiser
 
гуру
14.05.17
18:33
(20) чтобы использовать реквизит объекта испольщу структуру Параметры или структуру ВходящиеДанные в ПКС СчетДт/СчетКт
23 Mr_SlavaN
 
14.05.17
18:36
(21) Есть ПКО для конвертации пвх.СтатьиДоходов в спр.ПрочиеДоходыРасходы. Есть ПКО для конвертации пвх.СтатьиРасходов в спр.ПрочиеДоходыРасходы. И есть ПКО для конвертации пвх.СтатьиРасходов в спр.СтатьиЗатрат (это по 26 счёту)

При выгрузке вместо 2-го ПКО везде используется 3-е. 1-е всегда отрабатывает правильно.

В ПКС СубконтоДт/Кт пробовал написать конструкцию
  Если Источник.СчетДт = ПланыСчетов.Хозрасчетный.ПрочиеРасходы Тогда
      ИмяПКОВидСубконто = "СтатьиРасходовПрочиеДоходыИРасходы";
  КонецЕсли;

Вываливается в ошибку типа "СчетДт не является объектом"
Вместо "Источник" пробовал "ВходящиеДанные" т.к. из ПВД в ПКО передаются они - аналогичная ошибка
24 Franchiser
 
гуру
14.05.17
18:52
Статьи Расходов это точно ПВХ?  Может это справочник,?
25 Franchiser
 
гуру
14.05.17
18:58
В ПКС СчетДт добавь
ВХОДЯЩИЕданные = новый структура;
ВходящиеДанные. Вставить("этосч9102", Истина)

В Пкс СубконтоДт
Если ВходящиеДанные. Этосч9102 тогда
Имяпко="твойпкосправочника"
Конецесли;
26 Mr_SlavaN
 
14.05.17
19:15
(24) Только что посмотрел ещё раз в ERP.
сч26 - СтатьиЗатрат. Состав субконто - СправочникСсылка.Номенклатура, ПланВидовХарактеристикСсылка.СтатьиРасходов, СправочникСсылка.ВидыРаботСотрудников
сч91 - ПрочиеДоходыИРасходы. Состав субконто - ПланВидовХарактеристикСсылка.СтатьиРасходов, ПланВидовХарактеристикСсылка.СтатьиДоходов
В состав пвх.СтатьиРасходов входят - СправочникСсылка.ОбъектыЭксплуатации, СправочникСсылка.МаркетинговыеМероприятия, ДокументСсылка.ПоступлениеТоваровУслуг, СправочникСсылка.Номенклатура, СправочникСсылка.СтатьиКалькуляции, ДокументСсылка.ЗаказПоставщику, ДокументСсылка.ЗаказНаПроизводство, СправочникСсылка.НематериальныеАктивы, ДокументСсылка.ВводОстатков, ПеречислениеСсылка.АналитикаКурсовыхРазниц, СправочникСсылка.Организации, СправочникСсылка.СтруктураПредприятия, ДокументСсылка.ЗаявкаНаВозвратТоваровОтКлиента, СправочникСсылка.ДоговорыКредитовИДепозитов, ДокументСсылка.РеализацияУслугПрочихАктивов, ДокументСсылка.ПеремещениеТоваров, ДокументСсылка.ЗаказНаСборку, СправочникСсылка.ПретензииКлиентов, ДокументСсылка.РеализацияТоваровУслуг, ПеречислениеСсылка.ВидыОперацийПоЗарплате, СправочникСсылка.Партнеры, СправочникСсылка.ПрочиеАктивыПассивы, ДокументСсылка.ПоступлениеУслугПрочихАктивов, ДокументСсылка.АктВыполненныхРабот, ДокументСсылка.ЗаказНаПеремещение, ДокументСсылка.СборкаТоваров, СправочникСсылка.СделкиСКлиентами, СправочникСсылка.НаправленияДеятельности, СправочникСсылка.Кассы, ДокументСсылка.ПередачаТоваровМеждуОрганизациями, СправочникСсылка.ФизическиеЛица, ДокументСсылка.ЗаказКлиента, СправочникСсылка.Проекты, ПеречислениеСсылка.ВидыОбязательногоСтрахованияСотрудников, ДокументСсылка.ЗаказДавальца, СправочникСсылка.Склады, СправочникСсылка.ПрочиеРасходы
Всё содержащее в названии слово "Документ" отбрасываю на уровне начала выгрузки субконто ибо не требуется.
Для всех остальных справочников и перечислений есть ПКО (проверю ещё раз, но, вроде бы, создавал все).
27 Mr_SlavaN
 
14.05.17
19:16
(25) Спасибо за пояснение!
Не знал что из одного ПКС можно что-то передавать в другое через ВходящиеДанные
28 Franchiser
 
гуру
14.05.17
19:26
Соответствие пвх можно настроить на закладке значения в пко ВидСубконтоХозрасчнтные,  тут не нужно делать подмен в коде,  нужно подменять ИмяПКО в зависимости от счета в твоем случае
29 Franchiser
 
гуру
14.05.17
19:32
(23) ошибка потому что Источник -  это элемент структуры,  содержащей Ключ + Значение. Если входящие данные у тебя приходят уже из других правил,  то тогда объялять отдельно не нужно,  дополняешь их в ПКС СчетДт/СчетКт.
30 Franchiser
 
гуру
14.05.17
19:34
Вот доступны ли ВходящиеДанные в ПриЗагрузке не помню,  если что используй структуру Параметры
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн