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

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

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

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

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

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

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

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

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

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

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

СчетФактура = Документы.СчетФактураПолученный.СоздатьДокумент()
СчетФактура.Заполнить(Основание)
19 wallkman2011
 
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) кроме нарастания номера сф всё
25 wallkman2011
 
23.10.19
16:30
(20) К сожалению если просто написать Значение = Источник;
То документ основание не заполняется.

А когда вывожу через команду Сообщить(Источник);
То Ссылкой является документ "Отчет комитенту".
Наверное это потому что обработчик "Перед выгрузкой", в этот момент еще никакого поступления нет, т.к. отчет комитента даже не выгрузился еще.

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

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

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

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

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

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

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