Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Подскажите как реализовать, конвертация данных 2, перенос документа

Подскажите как реализовать, конвертация данных 2, перенос документа
Я
   wallkman2011
 
21.10.19 - 07:30
Всем привет.

Нужно для идентичных баз данных БП 3.0 написать правила обмена, где
из базы источника будет выгружаться документ "Отчет комитенту о продажах" в базу приемник "Поступление товаров и услуг".
Но тут столкнулся со сложностями, которые пока не знаю как решить.

1. в документе "Источник" есть 2 табличные части, нижняя ТЧ - это номенклатура и все что с ней связано, это все переносится нормально.
верхняя ТЧ - это поставщики, и там же есть нужные мне реквизиты: Дата счет фактуры, Номер счет фактуры.
Нужно эти 2 реквизита подставить в документ "Поступление товаров и услуг" в поля "Номер счета фактуры" и "Дата счета фактуры". Эти поля находятся внизу документа и они не являются реквизитами
объекта. Это просто поля на форме, нужно их каким то образом заполнить, и после чего зарегистрировать счет фактуру полученный.

т.е. чтобы при загрузке поступления товаров и услуг создалось 2 документа, приходная, и счет-фактура полученный.
первое что не пойму, это как получить данные табличной части и присвоить их в эти реквизиты.
А второе, это как вызывать обработчик, в результате которого создастся подчиненный документ "Счетфактура полученный".

если кто знает, подскажите пожалуйста, спасибо.
 
 
   wallkman2011
 
1 - 21.10.19 - 07:32
а вторая задача:
это на сумму вознаграждения создать второй документ поступления товаров и услуг.
т.е. в результате из отчета комитента в базе приемнике создадутся 2 документа приходных накладных, и счет фактуры к ним.
но мне бы пока с первой задачей разобраться.
   Йохохо
 
2 - 21.10.19 - 07:47
по 1. нужен двусторонний обмен, ПТиУ и с/ф просто нет еще
   wallkman2011
 
3 - 21.10.19 - 10:41
(2) Немного не понял, а зачем двусторонний? в базе источник ничего не должно создаваться.
   Smile 8D
 
4 - 21.10.19 - 13:21
(1) Создаете свое ПВД, в котором получаете запросом нужнын данные, формируете структуры исходящих данных и вызываете нужные ПКО.
(0) В ПКО вы можете заполнять данные из входящих данных, которые формируете кодом. Соответственно в этом коде вы можете получать любые данные откуда и как хотите, а затем передавать все это в ПКО.

Если понятия ПВД, ПКО и т.д. не знакомы, то для начала следует изучить какие-нибудь курсы по КД2. Сложно объяснить всю теорию конвертации в формате форума.
   Ёпрст
 
5 - 21.10.19 - 13:30
(0)
1. создаёте 2 пко, в первом, Отчет комитенту о продажах --->Поступление товаров, во втором Отчет комитенту о продажах ---->Счет фактура полученный
усё..

Или, передать дату и номер в параметры и в обработчике после загрузки искать сч.ф, если её нет, создавать, если есть, перезаполнить вх. дату и вх. номер
   wallkman2011
 
6 - 21.10.19 - 16:56
Я проходил курсы по К.Д. 2.1 
Но все равно не пойму как загрузить данные в реквизиты формы (дата и номер сч ф).
В К.Д. в структуре данных этих полей нет, а заполнить их нужно, т.к. иначе как я счет фактуру заполню то?

т.е. я так понял все равно придется создавать второе ПКО для "Отчет комитенту" - "Сч-ф"???
а то я думал, достаточно заполнить при выгрузке в поступлении товаров (который загрузился) два реквизита формы, после чего как то вызвать обработчик (имитация нажатия кнопки "Зарегистрировать счет фактуру), после чего она создалась бы на основании приехавшего поступления.
   Ёпрст
 
7 - 21.10.19 - 17:04
(6) п...ц
Какие на реквизиты формы ?
   Ёпрст
 
8 - 21.10.19 - 17:06
делать можно по-разному, можно через 2 пко, можно в одном.
В любом случае, нужно в Приёмнике слепить подчиненный документ счет-фактура... и оно само будет "светится" в реквизитах формы в поступлении товаров
   Smile 8D
 
9 - 21.10.19 - 17:22
(6) Подход по сути своей стандартный: чтобы выгрузить данные, их нужно получить, упаковать определенным образом, передать в базу получателя, загрузить. Соответственно, вариантов решения довольно много. Можно передавать данные в реквизитах, можно в параметрах и т.д. Удобнее всего, конечно, в реквизитах, особенно, учитывая, что базы аналогичные.
Если в структуре нет нужных реквизитов, а на форме они есть, то нужно по коду посмотреть как они заполняются в форме и в КД их получить аналогичным образом (либо они расчетные, что наврядли, либо хранятся в реквизитах с "неговорящими" именами, либо в каких-то других структурах, например, регистрах сведений).
   Smile 8D
 
10 - 21.10.19 - 17:23
+(9) Ну и разместить данные надо будет в том же месте, раз уж конфигурации идентичные.
   wallkman2011
 
11 - 22.10.19 - 02:17
Спасибо за советы, буду пробовать ))
   wallkman2011
 
12 - 23.10.19 - 03:57
Решил пойти по способу, создать 2 ПКО "Отчет комитенту" - "Поступление товаров услуг", 
"Отчет комитенту"- "Счет фактура полученный".

Подскажите как мне заполнить документ основание в документе "Счет фактура"??
документом основания в данном случае будет сам документ "Поступление товаров услуг", который выгрузился.
   Йохохо
 
13 - 23.10.19 - 06:09
(12) похоже ПТиУ должен быть и создан и _проведен_, перед тем как стать основанием сф и с двумя пко довольно грустно. Еще спросите буха про нумерацию сф в приемнике, перед тем как начнете обдумывать генерацию номера в источнике.
   Курцвейл
 
14 - 23.10.19 - 06:48
(12) Сделайте параметр у выгружаемого объекта.
Или в конце концов помещайте номер и дату СФ в комментарий документа.
При загрузке выделяйте данные из строки и создавайте СФ на основании поступления.
   wallkman2011
 
15 - 23.10.19 - 11:27
(13) Номер и дата счета фактуры - эти реквизиты в Источнике есть, а вот ссылка (вновь записанный документ), ее конечно же в источнике нет, а как получить ссылку вновь приехавшего документа, пока не пойму.
(14) данные в комментарий записать можно, а вот заполнить поля формы Дата счета фактуры и номер счета фактуры, а так же программно вызвать кнопку "Зарегистрировать сч-ф", не получается.

Это придется бухгалтерам заходить в приходную накладную, и вручную нажимать зарегистрировать, чтобы создать счет фактуру?
   Ёпрст
 
16 - 23.10.19 - 11:33
(12)
просто пишешь Значение = Источник в передВыгрузкой
   Йохохо
 
17 - 23.10.19 - 11:37
(15) я правильно понял из (0) что по "Отчет комитенту о продажах" надо создать РТиУ и сф которые закроют отчет комитенту?
   Курцвейл
 
18 - 23.10.19 - 12:45
(15) Так ты бы разобрал механизм работы этой команду в типовой БП.
Есть общий модуль с функцией поиска счет-фактуры полученной на основании поступления.

УчетНДСПереопределяемый.НайтиПодчиненныеСчетаФактурыПолученные()

Если функция возвращает пустое значение, выполняешь команду ввести на основании

СчетФактура = Документы.СчетФактураПолученный.СоздатьДокумент()
СчетФактура.Заполнить(Основание)
   wallkman2011
 
19 - 23.10.19 - 15:06
(16) Я пробовал так, не получается. Дело в том, что для документа "Счет фактура" источником является не отчет комитенту, а поступление товаров услуг, который создается в базе приемнике и ссылку нужно на него получить, а система получить ее не может, т.к. документ еще по сути в базу не записан.

(17) немного не так. Документ будет Поступление товаров услуг, и счет фактура полученный.
(18) Спасибо за функцию из общего модуля. Но я не знаю как ее и где вызвать в самой К.Д., я никогда не делал так. Чтобы в каком то обработчике, скорее всего после записи документа, вызвать уже кусок кода, который зарегистрирует сч-ф
   Ёпрст
 
20 - 23.10.19 - 15:21
(19) да ё.. всё так и будет, у вас ваш  отчет комитенту прилетает как поступление, в пко отчет комитенту - счет фактура будет преобразование док основания к приходу, ид тот же будет там
   Йохохо
 
21 - 23.10.19 - 15:37
(20) только номера с/ф все равно не будет в источнике, и ПТиУ
   Ёпрст
 
22 - 23.10.19 - 15:39
(21) почему не будет ? Тут из одного вида доков он лепит 2, двумя пко.. все данные есть
   Ёпрст
 
23 - 23.10.19 - 15:39
Можно и одно пко и кодом документ создавать
   Йохохо
 
24 - 23.10.19 - 15:46
(22) кроме нарастания номера сф всё
   wallkman2011
 
25 - 23.10.19 - 16:30
(20) К сожалению если просто написать Значение = Источник;
То документ основание не заполняется.
А когда вывожу через команду Сообщить(Источник);
То Ссылкой является документ "Отчет комитенту".
Наверное это потому что обработчик "Перед выгрузкой", в этот момент еще никакого поступления нет, т.к. отчет комитента даже не выгрузился еще.

Может что не так пишу, я пару картинок приложил
http://zalil.su/3891583

Как будет возможность просмотрите плиз
   Ёпрст
 
26 - 23.10.19 - 16:32
(25) ну а ПКО то кто будет указывать ????
   Ёпрст
 
27 - 23.10.19 - 16:33
поставь этому реквизиту, что выгружается по правилу ПКО Отчтет-Приход твой.. и всё.
   wallkman2011
 
28 - 23.10.19 - 16:41
(27) Спасибо ))) и правда счет фактура создался, правда пока выглядит вот в таком виде:
Ссылка на файл:http://zalil.su/4780444
Но это скорее всего потому что дату сч-ф и номер сч-ф не передал
   wallkman2011
 
29 - 23.10.19 - 16:42
(27) А может быть у вас есть возможность помочь доделать обмен до ума?
Я ваши работы оплачу.
   wallkman2011
 
30 - 23.10.19 - 16:44
Через универсальную обработку выгрузил 2 ПКО

Отчет комитенту - поступление товаров услуг (товары)
Отчет комитенту - поступление товаров услуг (услуги)

Все ТЧ заполняются как надо, но в одном документе, т.е. второй документ не создается.

Порыскал в интернете, оказывается что УИД выгружается один и тот же, и чтобы при загрузке создался второй документ, нужно переопределять УИД.
 
 Рекламное место пустует
   Ёпрст
 
31 - 23.10.19 - 16:45
(30) да так и есть, а чего не в один документ запихать и товары и услуги ?
   hhhh
 
32 - 23.10.19 - 16:45
(30) да, сними в пко галку поиск по уникальному идентификатору. только по полям поиска
   Ёпрст
 
33 - 23.10.19 - 16:46
(32) я б так не делал.. :)
   Ёпрст
 
34 - 23.10.19 - 16:47
поменяют ключевые поля поиска и привет котёнку..
А так, 2 дока тоже не к чему, услуги и товары в одном доке вполне норм
   Ёпрст
 
35 - 23.10.19 - 16:48
Если документОснование не загружается, посмотреть на очередность правил, чтою пко с приходом раньше создавалось
   wallkman2011
 
36 - 23.10.19 - 17:01
(32) да я так и сделал, снял галку поиск по УИД, оставил дату и номер, документ второй создался.
Разными документами нужно отражать потому, что первый документ, тот что на товары, это мы отчитываемся за товары как агенты, и счет фактура которую регистрируем на основании - это реквизиты из документа "Отчет комитенту": http://zalil.su/6062017
А второй документ на наши услуги, там счет фактуру будем регистрировать вот эту:
http://zalil.su/8359592

(35) Да все верно, первое ПКО, то что я указываю для ПКС, оно раньше, и приоритет у него выше
   wallkman2011
 
37 - 23.10.19 - 17:03
А вообще это правильно, что у меня создано 4 ПКО
Отчет - Поступление (Товары)
Отчет - Сч-ф полученный (Товары)
Отчет - Поступление (Вознаграждение)
Отчет - Сч-ф Полученный (вознаграждение)
и я их все выгружаю?
   Ёпрст
 
38 - 23.10.19 - 17:06
(36) дата и номер..это зло, или в источнике или в приёмнике изменишь дату и всё, привет котёнку - поимеешь новые документы в приёмнике
   Ёпрст
 
39 - 23.10.19 - 17:06
достаточно время подвигать
   unbred
 
40 - 23.10.19 - 17:07
что тебе мешает все документы грузить, а не только Отчёт Комитенту? будет у тебя и Основание и СФ с кралями и преферансом.
   wallkman2011
 
41 - 23.10.19 - 17:13
(40) да я просто спросил не является ли это ошибкой, значит буду выгружать все 4 ПКО.

К сожалению документ основание так и не присваивается счет фактуре созданной.
А когда из документа Сч-ф пытаюсь вручную выбрать документ основание, то вылазит сообщение
http://zalil.su/3913691
   wallkman2011
 
42 - 23.10.19 - 17:14
(39), согласен, нужно искать другой способ
   unbred
 
43 - 23.10.19 - 17:17
(41) присвой сам. передВыгрузкой источник.Основание = объект.
ну или что-то в этом духе.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.