План обмена синхронизация данных через универсальный формат ошибка

Универсальный формат данных

Я

  

Psih1

14.07.16 — 15:21

Настраиваю выгрузку из УТ 11.2 в БП 3.0 через универсальный формат.

Необходимо настроить перенос контрагентов не перезаписывая существующие элементы. Раньше в правилах была галочка «не замещать существующие объекты в приемнике при загрузке». Как теперь это можно реализовать?

  

luter-89

1 — 14.07.16 — 15:37

(0) Ну так верни галку)

  

Psih1

2 — 14.07.16 — 15:43

(1) Вот подскажи, пожалуйста, где в КД 3.0 эта галочка??

  

luter-89

3 — 14.07.16 — 15:49

(2) А, КД 3.0 не видел в глаза

  

Psih1

4 — 14.07.16 — 16:10

На сколько я понял, теперь все настройки находятся в модуле «МенеджерОбменаЧерезУниверсальныйФормат». Просмотрел все что связано со справочниками, но ничего похожего на замещение не нашел.

  

luter-89

5 — 14.07.16 — 16:21

  

Psih1

6 — 14.07.16 — 16:42

Это конечно сильно помогло, особенно, когда сегодня нужно выгрузить данные, что бы не затереть контрагентов.

  

luter-89

7 — 14.07.16 — 16:45

(6) Ну, извини, тема не особо информативная

  

zippygrill

8 — 14.07.16 — 16:47

  

Psih1

9 — 14.07.16 — 16:51

(8) Списибо! Получается это нужно при записи в бухгалтерии писать. А я надеялся, что можно в УТ при отправке как то сделать

  

zippygrill

10 — 14.07.16 — 17:32

Да

  

Mikhail Volkov

11 — 14.07.16 — 17:59

(8) Эта картинка из КД3?

  

Mikhail Volkov

12 — 15.07.16 — 13:52

При обмене УТ11.2 с БП3.0 появилась ошибка:

Ошибка выполнения обработчика.

{ОбщийМодуль.УчетНДСКлиентСервер.Модуль(231)}: Преобразование значения к типу Булево не может быть выполнено

    Если УчетАгентскогоНДС Тогда

Это при загрузке документа Списание с расчетного счета, смотрел его в УТ11.2 вроде нормальный, договор — тоже, никакого Учета Агентского НДС. Куда копать

  

vicof

13 — 15.07.16 — 14:00

Стек вызовов не?

  

Mikhail Volkov

14 — 15.07.16 — 14:38

(13) т.е.?

  

Mikhail Volkov

15 — 16.07.16 — 03:21

Уже была тема Ошибка в обработчике ПослеЗагрузкиОбъекта по данному вопросу, но не решена…

  

zippygrill

16 — 17.07.16 — 01:55

(15) переопредели реквизит структуры ЗначенияРеквизитов.УчетАгентскихУслуг = Ложь; и юзай внешние правила пока 1с не починит и чтобы не снимать с поддержки модуль менеджерОбмена

  

Mikhail Volkov

17 — 18.07.16 — 12:01

(16) В копии БП включил возможность редактирования конфигурации, в ОбщийМодуль.УчетНДСКлиентСервер.СтавкаНДСВДоговореКонтрагента() вставил строчку:

УчетАгентскогоНДС = ?(УчетАгентскогоНДС = Неопределено, Ложь, УчетАгентскогоНДС);

вроде ошибка более не проявляется. Но с рабочей базой этого делать не желательно. В УТ давно включена возможность редактирования конфигурации, может лучше в ней поправить «правила обмена», вот только где именно? На сколько мне известно в УТ11.2 уже не используются правила обмена, написанные в КД2.1, а нечто другое — из КД3.0. Раньше этим не приходилось еще заниматься.

  

zippygrill

18 — 19.07.16 — 11:31

(17) Выгрузить модуль и форматы обмена из БП в КД и правь что я тебе писал в (16) для ПКО Списание с РС в событиях загрузки.

  

Mikhail Volkov

19 — 20.07.16 — 08:54

Еще прикол: попросили помочь настроить обмен УТ11.2 с БП3.0. Иду в «Синхронизация данных», жму «Настроить синхронизацию данных», выбираю «Через универсальный формат данных/БП 3.0». Указываю «Прямое подключение…» (Com), каталог БП3.0, логин, пароль, жму «Далее» — выдает: Синхронизация данных между программами уже была настроена ранее!? Приехали — кроме «Отмена» ничего не нажать! Да, пытались ранее неудачно, и что теперь, где эта настройка, чтобы удалить ее совсем?

  

Cyberhawk

20 — 20.07.16 — 09:25

(19) Позвать программиста не предлагать?

  

Mikhail Volkov

21 — 20.07.16 — 09:32

(20) Меня позвали… и что новую пустую БП3.0 создавать?

  

zippygrill

22 — 20.07.16 — 09:43

(21) Не надо никакую новую БП создавать.

Тут у тебя также когда настраиваешь синхр? http://screencast.com/t/8dTyRGHUIgNY

  

Mikhail Volkov

23 — 20.07.16 — 09:47

(22) Ну да, жму «Настроить синхронизацию данных», выбираю «Через универсальный формат данных/БП 3.0». Указываю «Прямое подключение…» (Com), каталог БП3.0, логин, пароль, жму «Далее» — выдает: Синхронизация данных между программами уже была настроена ранее!? Приехали — кроме «Отмена» ничего не нажать!

  

Cyberhawk

24 — 20.07.16 — 09:50

(21) Сколько платят за решение вопроса?

  

Mikhail Volkov

25 — 20.07.16 — 10:01

(24) Пока не спрашивал.

+(23) Снял копию БП3.0, в «Синхронизация с программой УТ11» нажал «Удалить эту настройку», теперь там картинка (22). А в УТ11 все также «Синхронизация данных между программами уже была настроена ранее» — где он ее нашел? Почему ее не показывает?

  

Mikhail Volkov

26 — 20.07.16 — 10:02

+ как ее запустить?

  

zippygrill

27 — 20.07.16 — 10:17

заново создай

  

Mikhail Volkov

28 — 20.07.16 — 10:42

(27) Более никак? Похоже, сделали настройку, что-то в ней накосячали, ее удалили, а новую создать не дает!?

  

Mikhail Volkov

29 — 20.07.16 — 12:39

+(28) Оказывается ситуация возникла следующим образом: была одна УТ на несколько организаций, и несколько БП, обмены были настроены с фильтрацией по организациям. Теперь из УТ сделали РИБ, из каждой периферийной базы УТ хотят настроить обмен со своей УТ. Создают новую настройку, она цепляется за БП, видит в ней, что настройка обмена уже есть, и не создает новую. В результате ни новой, ни старую не запустить!? Как быть?

  

Mikhail Volkov

30 — 20.07.16 — 12:41

(29) *со своей БП (не УТ).

  

Mikhail Volkov

31 — 20.07.16 — 17:39

(27) Создал пустую БП, указал ее в настойке обмена УТ. Настройка создалась. Далее в параметрах подключения вместо пустой БП указал рабочую БП. Нажал «Синхронизировать»: пошла «Синхронизация данных с БП 3.0» Шаг 1 из 2. Загрузка данных — висит 2-й час на 0%, хотя мне на фиг ничего из БП в УТ загружать не нужно!?

  

Mikhail Volkov

32 — 21.07.16 — 04:01

+(31) Ночь прошла, а процесс все также 0%. УТ что-то ждет из БП, а БП не выгружает… и правильно делает, изначально обмен планировался односторонним. Вот только при создании Com-обмена не увидел, где указывается, что обмен односторонний?

  

PaulBC

33 — 21.07.16 — 05:16

(32) Обмен в любом случае двусторонний — УТ должна получить от БП подтверждение о получении данных. Просто в настройках отправки данных из БП надо выбрать «Не отправлять».

Кстати, по ошибке из (15): было такое, выяснилось, что если наименование договора длиннее 50 символов, то договор не загружается в БП. Сократил наименование, ошибка ушла.

  

Mikhail Volkov

34 — 21.07.16 — 06:01

(33) > Просто в настройках отправки данных из БП надо выбрать «Не отправлять».

Да, в БП еще старая настройка «Не отправлять», но новая настройка в УТ (настроил на пустую БП, а после в параметрах подключения указал рабочую БП) похоже об этом не знает, и ждет данных от БП!?

  

Mikhail Volkov

35 — 21.07.16 — 06:03

(33) > если наименование договора длиннее 50 символов, то договор не загружается в БП. Сократил наименование, ошибка ушла.

Спс, попробую

  

Mikhail Volkov

36 — 21.07.16 — 10:55

Сдается мне, что счетчики пакетов выгрузки загрузки не синхронизированы. Где их посмотреть?

  

Mikhail Volkov

37 — 21.07.16 — 13:49

Обработка РегистрацияИзмененийДляОбмена82 (управляемое приложение).epf показывает в УТ нулевые счетчики. Сбросил в ноль в БП — не помогло. Жму в УТ «Синхронизировать», и процесс ожидания: Шаг 1 из 2. Загрузка данных…

  

Mikhail Volkov

38 — 22.07.16 — 11:56

С ошибкой «Синхронизация данных между программами уже была настроена ранее» разобрался, ситуация с обменом крайне запущена. Обмен с БП3.0 настраивался, когда УТ была в редакции 11.1, соответственно в БП использовался план обмена ОбменУправлениеТорговлейБухгалтерияПредприятия30. А теперь — СинхронизацияДанныхЧерезУниверсальныйФормат. Настройка перенесена как-то криво!? Обычно, когда задействуешь план обмена сперва создается предопределенный ЭтотУзел для источника, потом уже добавляются узлы для баз обмена. А тут настройка обмена перенесена прямо в ЭтотУзел, с кодом (префиксом) базы моей УТ!?

Вроде вычистил все старые настройки обмена, новую теперь создал без проблем. После ее создания пошла выгрузка из УТ в БП, но из-за косяков в документах была прервана. Косяки исправили, запустил синхронизацию, и опять: процесс ожидания: Шаг 1 из 2. Загрузка данных!? Почему загрузка вместо выгрузки?

  

Mikhail Volkov

39 — 22.07.16 — 13:41

Там же нашел кнопку «Синхронизировать, задав дополнительные параметры», можно, например, задать период выгрузки, выгрузка идет! Даже пишет: Синхронизация завершена, Не удалось получить данные, Данные успешно отправлены! Но по ссылке Подробно попадаю в Журнал регистрации: Фоновое задание — Выполнено, Отправка данных; Объектов обработано: 632, Тонкий клиент — Выполнено, Отправка данных; Объектов обработано: 0. И опять в БП ничего не пришло!?

  

Быдло замкадное

40 — 22.07.16 — 14:01

ахренеть какая жесть эта КД 3.0…

  

zippygrill

41 — 22.07.16 — 14:26

(40) нормальная конфа :)

  

Mikhail Volkov

42 — 22.07.16 — 15:09

В журнале регистрации БП обнаружил: COM-соединение, Событие: Обмен данными.СинхронизацияДанныхЧерезУниверсальныйФормат.Получение данных, Комментарий: Получатель из сообщения обмена не соответствует ожидаемому — что это может значить?

  

Mikhail Volkov

43 — 23.07.16 — 05:19

(41) Это если знать ее хорошо. Косяки в правилах обмена всегда будут. В КД2.1 их можно быстро поправить. В сложных случаях можно использовать Универсальный обмен данными в формате XML, чтобы разобраться где косяк. А когда используется Универсальный формат данных, как?

(42) Разобрался, префиксы (коды) баз обмена не корректно были заданы.

  

МимохожийОднако

44 — 23.07.16 — 08:29

Сталкивался недавно с ошибкой, частично похожую на (12). Открыл КД3, загрузил туда правила, начал смотреть…Запутался.

Плюнул и в копиях включил обмен с отладкой. Оказалось всё проще и дело не в правилах. Была ошибка в базе, в данных. Нашёл больной объект через отладчик, поправил значения в сбойном реквизите и обмен пошёл без ошибок. Т.е. я не менял правила, они оказались верными. Только поправил неверные данные. Прелесть КД3 в том, что можно через отладчик откопать ошибку.

  

Mikhail Volkov

45 — 24.07.16 — 06:02

(44) Открой секрет как отладчиком найти ошибку, возникающую при загрузки данных в БП, запущенную через Com-соединение? Ошибку (42) долго искал, вставлял Сообщить, СообщитьПользователю о значения переменных — ни помогло!? Только, когда стал писать их в ЖР, выяснялось, что теперь введен контроль адресации пакетов (от кого кому) по префиксам баз (кодам узлов)!? Я еще могу понять этот контроль, когда использовались старые (КД2) правила, и загружались данные через Универсальный обмен данными в формате XML. Там можно ошибиться: выгрузил для одной БП, а грузишь в другую. Но когда грузишь через Com-соединение такое в принципе невозможно.

  

МимохожийОднако

46 — 24.07.16 — 06:26

(45)Для отладки можно включить режим обмена через файлы. Я в этом режиме смотрел.

  

Mikhail Volkov

47 — 24.07.16 — 07:46

(46) Это уже другой режим. А режим через Com-соединение поддается отладки?

  

hhhh

48 — 24.07.16 — 08:03

(47) это же элементарно, Ватсон

в папку с платформой, в bincfg вставляешь файлик comcntrcfg.xml следующего содержания

<config xmlns=»http://v8.1c.ru/v8/comcntrcfg»>;

    <debugconfig debug=»true»

    debuggerURL=»tcp://localhost»/>

</config>

всё. Отладка в com-сондинении включена. Радуешься.

  

Mikhail Volkov

49 — 24.07.16 — 10:54

(48) И процесс загрузки в БП остановится на заданной точке останова?

(44) Кстати, ошибка (12) в этот раз тоже была, в УТ открыл документ, указанный в нем договор (длинна наименования менее 15 символов, идея (33) не подтвердилась), подергал в нем галочку «Организация выступает налоговым агентом по НДС», перезаписал, повторил обмен — все нормально прошло. Явных ошибок в правилах нет, согласен. Но все равно это г@внокод, из-за которого пользователи к программистам обращаются. Для булево значения в приемник должно выгружаться либо Истина, либо Ложь, независимо заполнено оно в источнике, или Неопределено.

В КД2 технология г@внокода хорошо отлажена: выгрузил правил, загрузил в КД2, поправил ПКО, например:

Значение = ?(Источник.УчетАгентскогоНДС = Неопределено, Ложь, Источник.УчетАгентскогоНДС);

обратно в узел обмена правила загрузил — в конфигураторе ничего менять не надо (снимать с поддержки). А вот с КД3 пока не знаю как быть…

  

Mikhail Volkov

50 — 24.07.16 — 10:57

*технология исправления

  

hhhh

51 — 24.07.16 — 10:58

(49) насчет точки останова не уверен. но на ошибке останавливается

  

Mikhail Volkov

52 — 25.07.16 — 05:32

(51) Хоть что-то… но в моем случае (42) просто обмен не выполнялся из-за контроля адресации пакетов (от кого кому), так таковой ошибки не было.

Содержание:

1.       Подключаем документ в состав плана обмена 1С 8.3 в базе 1С:Бухгалтерия

2.       Настраиваем правила обмена для документа

В статье описан порядок действий для подключения типовых документов к механизму «Синхронизация данных через универсальный формат» (технология КД 3.0).

Термин «типовой» здесь имеет два значения:

1)      документ, который входит в состав типовой конфигурации 1С 8.3

2)      документ описан в одном из типовых XDTO-пакетов (важно в контексте статьи).

Например, есть две типовые конфигурации 1С 8.3: 1С:ERP Управление предприятием 2 и 1С:Бухгалтерия 3.0 (конкретные номера релизов значения не имеют). Между этими конфигурациями посредством механизма «Синхронизация данных через универсальный формат» организована передача документа «Счет-фактура полученный» в 1С 8.3 из ERP в Бухгалтерию. А нужна передача данного документа в обратную сторону, из Бухгалтерии в ERP (в типовых такой возможности нет).  

1.    Подключаем документ в состав плана обмена 1С 8.3 в базе 1С:Бухгалтерия

В исходной типовой базе 1С:Бухгалтерия такого вида документа в списке регистрации изменений нет:

Чтобы его туда добавить, достаточно в конфигураторе этот документ включить в состав плана обмена 1С 8.3 «СинхронизацияДанныхЧерезУниверсальныйФормат».

Если вы отключаете «Авторегистрацию» изменений документа в плане обмена, тогда данный документ необходимо дополнительно включить в состав «Источник» подписок на событие:

·         СинхронизацияДанныхЧерезУниверсальныйФорматРегистрацияДокумента

·         И СинхронизацияДанныхЧерезУниверсальныйФорматРегистрацияУдаления

Можно программную регистрацию изменений документа организовать самостоятельно.

Если подключение произведено верно, то «Счет-фактура полученный» в 1С 8.3 отобразится на форме регистрации изменений. 

2.    Настраиваем правила обмена для документа

Добавления документа в состав плана обмена 1С 8.3 недостаточно. Если зарегистрировать изменения документа в Бухгалтерской базе и вызвать процедуру обмена, то получим такое сообщение об ошибке:

«ПОД» — это правило обработки данных.

Все правильно: никаких «правил» мы еще не настраивали.

«Универсальный формат» подразумевает наличие двух комплектов правил:

·         Из базы-источника в универсальный формат

·         Из универсального формата в базу-приемник

В нашем случае типовая конфигурация ERP уже содержит в себе правила для приемки документа «Счет-фактура полученный» в 1С 8.3 из универсального формата. Поэтому нам достаточно настроить эти правила только в конфигурации Бухгалтерия 3.0 для отправки документа (в общем случае пришлось бы настраивать правила и для приемки документа в ERP).

Настроить правила обмена через универсальный формат можно:

·         вручную, внося изменения в общий модуль МенеджерОбменаЧерезУниверсальныйФормат13

·         с использованием конфигурации «Конвертация данных 3.0» (КД 3) и последующим переносом результатов настройки в общий модуль МенеджерОбменаЧерезУниверсальныйФормат13

В сети есть много информации о том, как выполнить настройку правил обмена КД 3.0, поэтому останавливаться на этом не будем.

Отмечу также, что настройку правил можно производить не в общем модуле, а во внешней обработке, которая подключается к механизму синхронизации. Описаний того, как это сделать в сети так же предостаточно.

Одним из признаков успешности настройки правил является присутствие нашего документа на ветке «AvailableObjectTypes» файла обмена:

Документ «СчетФактураПолученный» зарегистрирован на ветке «Sending» (отправка).

Для сравнения посмотрите на документ «СчетФактураВыданный». В типовой конфигурации 1С 8.3 Бухгалтерия 3.0 его выгрузка также изначально не предусмотрена, и ветка «Sending» для него – пустая.

Если типовой документ описан в XDTO-пакете, то для его включения в обмен через механизм «Синхронизация данных через универсальный формат» необходимо выполнить две процедуры:

1.       В конфигурации-источнике подключить документ в состав плана обмена «СинхронизацияДанныхЧерезУниверсальныйФормат» и настроить механизм регистрации изменений документа в этом плане обмена.

2.       Настроить правила обмена (КД 3.0):

a.       либо в общем модуле «МенеджерОбменаЧерезУниверсальныйФормат» (название модуля в разных конфигурациях может различаться – нужно уточнять),

b.       либо во внешней обработке, которая подключается к механизму синхронизации.

Данный способ универсален и пригоден для любых конфигураций и любых видов объектов (Документов, Справочников и т.п.).

Специалист компании ООО «Кодерлайн» 

Игорь Борисенко.

Универсальный формат данных

Я
   Psih1

14.07.16 — 15:21

Настраиваю выгрузку из УТ 11.2 в БП 3.0 через универсальный формат.

Необходимо настроить перенос контрагентов не перезаписывая существующие элементы. Раньше в правилах была галочка «не замещать существующие объекты в приемнике при загрузке». Как теперь это можно реализовать?

   luter-89

1 — 14.07.16 — 15:37

(0) Ну так верни галку)

   Psih1

2 — 14.07.16 — 15:43

(1) Вот подскажи, пожалуйста, где в КД 3.0 эта галочка??

   luter-89

3 — 14.07.16 — 15:49

(2) А, КД 3.0 не видел в глаза

   Psih1

4 — 14.07.16 — 16:10

На сколько я понял, теперь все настройки находятся в модуле «МенеджерОбменаЧерезУниверсальныйФормат». Просмотрел все что связано со справочниками, но ничего похожего на замещение не нашел.

   luter-89

5 — 14.07.16 — 16:21

   Psih1

6 — 14.07.16 — 16:42

Это конечно сильно помогло, особенно, когда сегодня нужно выгрузить данные, что бы не затереть контрагентов.

   luter-89

7 — 14.07.16 — 16:45

(6) Ну, извини, тема не особо информативная

   zippygrill

8 — 14.07.16 — 16:47

   Psih1

9 — 14.07.16 — 16:51

(8) Списибо! Получается это нужно при записи в бухгалтерии писать. А я надеялся, что можно в УТ при отправке как то сделать

   zippygrill

10 — 14.07.16 — 17:32

Да

   Mikhail Volkov

11 — 14.07.16 — 17:59

(8) Эта картинка из КД3?

   Mikhail Volkov

12 — 15.07.16 — 13:52

При обмене УТ11.2 с БП3.0 появилась ошибка:

Ошибка выполнения обработчика.

{ОбщийМодуль.УчетНДСКлиентСервер.Модуль(231)}: Преобразование значения к типу Булево не может быть выполнено

    Если УчетАгентскогоНДС Тогда

Это при загрузке документа Списание с расчетного счета, смотрел его в УТ11.2 вроде нормальный, договор — тоже, никакого Учета Агентского НДС. Куда копать

   vicof

13 — 15.07.16 — 14:00

Стек вызовов не?

   Mikhail Volkov

14 — 15.07.16 — 14:38

(13) т.е.?

   Mikhail Volkov

15 — 16.07.16 — 03:21

Уже была тема Ошибка в обработчике ПослеЗагрузкиОбъекта по данному вопросу, но не решена…

   zippygrill

16 — 17.07.16 — 01:55

(15) переопредели реквизит структуры ЗначенияРеквизитов.УчетАгентскихУслуг = Ложь; и юзай внешние правила пока 1с не починит и чтобы не снимать с поддержки модуль менеджерОбмена

   Mikhail Volkov

17 — 18.07.16 — 12:01

(16) В копии БП включил возможность редактирования конфигурации, в ОбщийМодуль.УчетНДСКлиентСервер.СтавкаНДСВДоговореКонтрагента() вставил строчку:

УчетАгентскогоНДС = ?(УчетАгентскогоНДС = Неопределено, Ложь, УчетАгентскогоНДС);

вроде ошибка более не проявляется. Но с рабочей базой этого делать не желательно. В УТ давно включена возможность редактирования конфигурации, может лучше в ней поправить «правила обмена», вот только где именно? На сколько мне известно в УТ11.2 уже не используются правила обмена, написанные в КД2.1, а нечто другое — из КД3.0. Раньше этим не приходилось еще заниматься.

   zippygrill

18 — 19.07.16 — 11:31

(17) Выгрузить модуль и форматы обмена из БП в КД и правь что я тебе писал в (16) для ПКО Списание с РС в событиях загрузки.

   Mikhail Volkov

19 — 20.07.16 — 08:54

Еще прикол: попросили помочь настроить обмен УТ11.2 с БП3.0. Иду в «Синхронизация данных», жму «Настроить синхронизацию данных», выбираю «Через универсальный формат данных/БП 3.0». Указываю «Прямое подключение…» (Com), каталог БП3.0, логин, пароль, жму «Далее» — выдает: Синхронизация данных между программами уже была настроена ранее!? Приехали — кроме «Отмена» ничего не нажать! Да, пытались ранее неудачно, и что теперь, где эта настройка, чтобы удалить ее совсем?

   Cyberhawk

20 — 20.07.16 — 09:25

(19) Позвать программиста не предлагать?

   Mikhail Volkov

21 — 20.07.16 — 09:32

(20) Меня позвали… и что новую пустую БП3.0 создавать?

   zippygrill

22 — 20.07.16 — 09:43

(21) Не надо никакую новую БП создавать.

Тут у тебя также когда настраиваешь синхр? http://screencast.com/t/8dTyRGHUIgNY

   Mikhail Volkov

23 — 20.07.16 — 09:47

(22) Ну да, жму «Настроить синхронизацию данных», выбираю «Через универсальный формат данных/БП 3.0». Указываю «Прямое подключение…» (Com), каталог БП3.0, логин, пароль, жму «Далее» — выдает: Синхронизация данных между программами уже была настроена ранее!? Приехали — кроме «Отмена» ничего не нажать!

   Cyberhawk

24 — 20.07.16 — 09:50

(21) Сколько платят за решение вопроса?

   Mikhail Volkov

25 — 20.07.16 — 10:01

(24) Пока не спрашивал.

+(23) Снял копию БП3.0, в «Синхронизация с программой УТ11» нажал «Удалить эту настройку», теперь там картинка (22). А в УТ11 все также «Синхронизация данных между программами уже была настроена ранее» — где он ее нашел? Почему ее не показывает?

   Mikhail Volkov

26 — 20.07.16 — 10:02

+ как ее запустить?

   zippygrill

27 — 20.07.16 — 10:17

заново создай

   Mikhail Volkov

28 — 20.07.16 — 10:42

(27) Более никак? Похоже, сделали настройку, что-то в ней накосячали, ее удалили, а новую создать не дает!?

   Mikhail Volkov

29 — 20.07.16 — 12:39

+(28) Оказывается ситуация возникла следующим образом: была одна УТ на несколько организаций, и несколько БП, обмены были настроены с фильтрацией по организациям. Теперь из УТ сделали РИБ, из каждой периферийной базы УТ хотят настроить обмен со своей УТ. Создают новую настройку, она цепляется за БП, видит в ней, что настройка обмена уже есть, и не создает новую. В результате ни новой, ни старую не запустить!? Как быть?

   Mikhail Volkov

30 — 20.07.16 — 12:41

(29) *со своей БП (не УТ).

   Mikhail Volkov

31 — 20.07.16 — 17:39

(27) Создал пустую БП, указал ее в настойке обмена УТ. Настройка создалась. Далее в параметрах подключения вместо пустой БП указал рабочую БП. Нажал «Синхронизировать»: пошла «Синхронизация данных с БП 3.0» Шаг 1 из 2. Загрузка данных — висит 2-й час на 0%, хотя мне на фиг ничего из БП в УТ загружать не нужно!?

   Mikhail Volkov

32 — 21.07.16 — 04:01

+(31) Ночь прошла, а процесс все также 0%. УТ что-то ждет из БП, а БП не выгружает… и правильно делает, изначально обмен планировался односторонним. Вот только при создании Com-обмена не увидел, где указывается, что обмен односторонний?

   PaulBC

33 — 21.07.16 — 05:16

(32) Обмен в любом случае двусторонний — УТ должна получить от БП подтверждение о получении данных. Просто в настройках отправки данных из БП надо выбрать «Не отправлять».

Кстати, по ошибке из (15): было такое, выяснилось, что если наименование договора длиннее 50 символов, то договор не загружается в БП. Сократил наименование, ошибка ушла.

   Mikhail Volkov

34 — 21.07.16 — 06:01

(33) > Просто в настройках отправки данных из БП надо выбрать «Не отправлять».

Да, в БП еще старая настройка «Не отправлять», но новая настройка в УТ (настроил на пустую БП, а после в параметрах подключения указал рабочую БП) похоже об этом не знает, и ждет данных от БП!?

   Mikhail Volkov

35 — 21.07.16 — 06:03

(33) > если наименование договора длиннее 50 символов, то договор не загружается в БП. Сократил наименование, ошибка ушла.

Спс, попробую

   Mikhail Volkov

36 — 21.07.16 — 10:55

Сдается мне, что счетчики пакетов выгрузки загрузки не синхронизированы. Где их посмотреть?

   Mikhail Volkov

37 — 21.07.16 — 13:49

Обработка РегистрацияИзмененийДляОбмена82 (управляемое приложение).epf показывает в УТ нулевые счетчики. Сбросил в ноль в БП — не помогло. Жму в УТ «Синхронизировать», и процесс ожидания: Шаг 1 из 2. Загрузка данных…

   Mikhail Volkov

38 — 22.07.16 — 11:56

С ошибкой «Синхронизация данных между программами уже была настроена ранее» разобрался, ситуация с обменом крайне запущена. Обмен с БП3.0 настраивался, когда УТ была в редакции 11.1, соответственно в БП использовался план обмена ОбменУправлениеТорговлейБухгалтерияПредприятия30. А теперь — СинхронизацияДанныхЧерезУниверсальныйФормат. Настройка перенесена как-то криво!? Обычно, когда задействуешь план обмена сперва создается предопределенный ЭтотУзел для источника, потом уже добавляются узлы для баз обмена. А тут настройка обмена перенесена прямо в ЭтотУзел, с кодом (префиксом) базы моей УТ!?

Вроде вычистил все старые настройки обмена, новую теперь создал без проблем. После ее создания пошла выгрузка из УТ в БП, но из-за косяков в документах была прервана. Косяки исправили, запустил синхронизацию, и опять: процесс ожидания: Шаг 1 из 2. Загрузка данных!? Почему загрузка вместо выгрузки?

   Mikhail Volkov

39 — 22.07.16 — 13:41

Там же нашел кнопку «Синхронизировать, задав дополнительные параметры», можно, например, задать период выгрузки, выгрузка идет! Даже пишет: Синхронизация завершена, Не удалось получить данные, Данные успешно отправлены! Но по ссылке Подробно попадаю в Журнал регистрации: Фоновое задание — Выполнено, Отправка данных; Объектов обработано: 632, Тонкий клиент — Выполнено, Отправка данных; Объектов обработано: 0. И опять в БП ничего не пришло!?

   Быдло замкадное

40 — 22.07.16 — 14:01

ахренеть какая жесть эта КД 3.0…

   zippygrill

41 — 22.07.16 — 14:26

(40) нормальная конфа :)

   Mikhail Volkov

42 — 22.07.16 — 15:09

В журнале регистрации БП обнаружил: COM-соединение, Событие: Обмен данными.СинхронизацияДанныхЧерезУниверсальныйФормат.Получение данных, Комментарий: Получатель из сообщения обмена не соответствует ожидаемому — что это может значить?

   Mikhail Volkov

43 — 23.07.16 — 05:19

(41) Это если знать ее хорошо. Косяки в правилах обмена всегда будут. В КД2.1 их можно быстро поправить. В сложных случаях можно использовать Универсальный обмен данными в формате XML, чтобы разобраться где косяк. А когда используется Универсальный формат данных, как?

(42) Разобрался, префиксы (коды) баз обмена не корректно были заданы.

   МимохожийОднако

44 — 23.07.16 — 08:29

Сталкивался недавно с ошибкой, частично похожую на (12). Открыл КД3, загрузил туда правила, начал смотреть…Запутался.

Плюнул и в копиях включил обмен с отладкой. Оказалось всё проще и дело не в правилах. Была ошибка в базе, в данных. Нашёл больной объект через отладчик, поправил значения в сбойном реквизите и обмен пошёл без ошибок. Т.е. я не менял правила, они оказались верными. Только поправил неверные данные. Прелесть КД3 в том, что можно через отладчик откопать ошибку.

   Mikhail Volkov

45 — 24.07.16 — 06:02

(44) Открой секрет как отладчиком найти ошибку, возникающую при загрузки данных в БП, запущенную через Com-соединение? Ошибку (42) долго искал, вставлял Сообщить, СообщитьПользователю о значения переменных — ни помогло!? Только, когда стал писать их в ЖР, выяснялось, что теперь введен контроль адресации пакетов (от кого кому) по префиксам баз (кодам узлов)!? Я еще могу понять этот контроль, когда использовались старые (КД2) правила, и загружались данные через Универсальный обмен данными в формате XML. Там можно ошибиться: выгрузил для одной БП, а грузишь в другую. Но когда грузишь через Com-соединение такое в принципе невозможно.

   МимохожийОднако

46 — 24.07.16 — 06:26

(45)Для отладки можно включить режим обмена через файлы. Я в этом режиме смотрел.

   Mikhail Volkov

47 — 24.07.16 — 07:46

(46) Это уже другой режим. А режим через Com-соединение поддается отладки?

   hhhh

48 — 24.07.16 — 08:03

(47) это же элементарно, Ватсон

в папку с платформой, в bincfg вставляешь файлик comcntrcfg.xml следующего содержания

<config xmlns=»http://v8.1c.ru/v8/comcntrcfg»>;

    <debugconfig debug=»true»

    debuggerURL=»tcp://localhost»/>

</config>

всё. Отладка в com-сондинении включена. Радуешься.

   Mikhail Volkov

49 — 24.07.16 — 10:54

(48) И процесс загрузки в БП остановится на заданной точке останова?

(44) Кстати, ошибка (12) в этот раз тоже была, в УТ открыл документ, указанный в нем договор (длинна наименования менее 15 символов, идея (33) не подтвердилась), подергал в нем галочку «Организация выступает налоговым агентом по НДС», перезаписал, повторил обмен — все нормально прошло. Явных ошибок в правилах нет, согласен. Но все равно это г@внокод, из-за которого пользователи к программистам обращаются. Для булево значения в приемник должно выгружаться либо Истина, либо Ложь, независимо заполнено оно в источнике, или Неопределено.

В КД2 технология г@внокода хорошо отлажена: выгрузил правил, загрузил в КД2, поправил ПКО, например:

Значение = ?(Источник.УчетАгентскогоНДС = Неопределено, Ложь, Источник.УчетАгентскогоНДС);

обратно в узел обмена правила загрузил — в конфигураторе ничего менять не надо (снимать с поддержки). А вот с КД3 пока не знаю как быть…

   Mikhail Volkov

50 — 24.07.16 — 10:57

*технология исправления

   hhhh

51 — 24.07.16 — 10:58

(49) насчет точки останова не уверен. но на ошибке останавливается

  

Mikhail Volkov

52 — 25.07.16 — 05:32

(51) Хоть что-то… но в моем случае (42) просто обмен не выполнялся из-за контроля адресации пакетов (от кого кому), так таковой ошибки не было.

Доброго дня, коллеги!

Наши слушатели часто сталкиваются с разного рода ошибками при настройке обмена между современными типовыми конфигурациями с помощью “1С:Конвертации данных 3.0” и технологии обмена через универсальный формат. Большинство ошибок связано с тем, что разработчики 1С активно меняют методы общих модулей БСП и способы их вызова, а решение КД 3.0 остается без изменений и новых поставок не выходит. В случае необходимости на помощь всегда приходит тренер!

Вопрос

При выполнении домашнего задания наткнулся на особенности в конфигурации УТ 11.4.10.57. Обработка выгрузки правил синхронизации из типового решения не работает по дефолту, приходится ее немного править. К примеру, теперь в модуле менеджера плана обмена через универсальный формат нет функции ПолучитьВерсииФорматаОбмена.

Такая ситуация сейчас и в других версиях типовых решений? Конфигурации меняют, а в КД 3.0 уже ничего не дорабатывают под эти изменения?

Ответ

Есть в КД 3.0 ошибка, которая создает проблему на последних версиях типовых решений. Для КД 3.0.5.1 (и не только для этого релиза) нужно выполнить следующее:

  1. В форме обработки ВыгрузкаПравилСинхронизации заменить код процедуры ПриСозданииНаСервере() на следующий:
    ВерсииФормата = Новый Соответствие;
    ОбменДаннымиПереопределяемый.ПриПолученииДоступныхВерсийФормата(ВерсииФормата);
    Для Каждого ПланОбмена Из ОбменДаннымиПовтИсп.ПланыОбменаБСП() Цикл
        Если ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(ПланОбмена) Тогда
            ВерсииФорматаПланаОбмена = Новый Соответствие;
            ВерсияБСП243 = ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СтандартныеПодсистемыСервер.ВерсияБиблиотеки(), “2.4.3.1”) >= 0;
            МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль(“ОбменДаннымиСервер”);
            Если ВерсияБСП243 Тогда
                ВерсииФорматаПланаОбмена = МодульОбменДаннымиСервер.ЗначениеНастройкиПланаОбмена(ПланОбмена, “ВерсииФорматаОбмена”);
            Иначе
                ПланыОбмена[ПланОбмена].ПолучитьВерсииФорматаОбмена(ВерсииФорматаПланаОбмена);
            КонецЕсли;
            
            Для Каждого ВерсияПланаОбмена Из ВерсииФорматаПланаОбмена Цикл
                МодульМенеджера = ВерсииФормата.Получить(ВерсияПланаОбмена.Ключ);
                Если МодульМенеджера = Неопределено
                    Или МодульМенеджера <> ВерсияПланаОбмена.Значение Тогда
                    ВерсииФормата.Вставить(ВерсияПланаОбмена.Ключ, ВерсияПланаОбмена.Значение);
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;
    КонецЦикла;
    Для Каждого ВерсияФормата ИЗ ВерсииФормата Цикл
        Элементы.НомерВерсииФормата.СписокВыбора.Добавить(ВерсияФормата.Ключ);
    КонецЦикла;
    АдресХранилищаВерсииФормата = ПоместитьВоВременноеХранилище(ВерсииФормата, УникальныйИдентификатор);
    
    
  1. В форме обработки “ЗагрузкаПравилСинхронизацииИзФайлов” в процедуре ЗагрузкаПКО() заменить строку
    ТекПКО.ВариантИдентификации = Перечисления.ВариантыИдентификацииОбъектов[СтруктураАтрибутов.ВариантИдентификации];
    
    

    на строку

    ТекПКО.ВариантИдентификации = ?(СтруктураАтрибутов.ВариантИдентификации = “”, Перечисления.ВариантыИдентификацииОбъектов.ПустаяСсылка(), Перечисления.ВариантыИдентификацииОбъектов[СтруктураАтрибутов.ВариантИдентификации]);
    
    
  1. Кроме того при использовании конвертации может возникнуть ошибка из-за синхронного вызова вопроса “Обработчики предназначены для другой конвертации: Продолжить загрузку?” – для целей курса достаточно закомментировать несколько строк в процедуре ПроверитьКонвертациюПриЗагрузкеАлгоритмов(…) общего модуля КонвертацияДанныхXDTOКлиент внутри условия “Если ИмяКонвертации <> НаименованиеКонвертации Тогда ….. КонецЕсли;”, оставив не закомментированной только строку Возврат Ложь;

Комментарий слушателя

Все получилось, совет помог, спасибо! Единственное, в конвертации 3.0.5.3 процедура теперь называется ЗагрузитьПКО(), а не ЗагрузкаПКО().

Леонид
0 — 11.03.2018 10:50:55

Ранее база УТ в обмене не участвовала, настроек никаких для этого в ней нет. Сейчас выполняю настройку синхронизации в УТ для обмена с бухгалтерией предприятия в универсальном формате, все параметры настроен, но при завершении выходит ошибка {Обработка.ПомощникСозданияОбменаДанными.МодульОбъекта(875)}: Значение префикса первой информационной базы не уникально. В системе уже существует синхронизация данных для информационной базы (программы) с указанным префиксом. ВызватьИсключение НСтр(«ru = ‘Значение префикса первой информационной базы не уникально.

1С Программист Эксперт Специалист
1 — 11.03.2018 12:35:54

Скорее всего, в базе-корреспонденте, т.е. в бухгалтерии уже есть настройки с таким префиксом. Откройте в ней Все функции → Планы обмена → Синхронизация данных через универсальный формат и проверьте в перечне уже введенных обменов наличие строки с тем же префиксом, что и у базы, из которой вы настраиваете обмен. Настройку с таким же префиксом надо удалить, либо заменить префикс в своей базе.

Аноним
2 — 28.09.2018 11:57:01

Удалила старую настройку — создала новую, все получилось. Спасибо за совет!

sirena57
3 — 09.12.2020 8:45:35

Существуют одна база УТ 11.4 и две базы БП 3.0.
Небходимо настроить синхронизацию УТ с двумя базами БП
Префиксы баз
Управление торговлей — УУ
Бухгалтерия 1 — ББ
Бухгалтерия 2 — БД
Синхронизация УТ с Бухгалтерией 1 проходит нормально
При синхронизации УТ с Бухгалтерией 2 возникает ошибка.

Вложенные файлы:

  • Ошибка синхронизации.txt

Ошибки получения данных при обмене

Битые ссылки

Наличие битых ссылок  – ссылок на несуществующие объекты информационной базы – является основной причиной отказа получения данных от источника при обмене данными.   Битые ссылки в 1С имеют следующее представление (См. рис 1):

<Объект не найден> ( [уникальный внутренний идентификатор (GUID)]) 

Как правила, битые ссылки возникают при удалении непосредственно объекта информационной базы без проверки ссылочной структуры.

Механизм сопоставления данных при обмене через универсальный формат

При синхронизации данных, как начальной, так и основанной на регулярной основе, одинаковые данные в приложениях будут сопоставлены между собой по уникальным внутренним идентификаторам объектов (GUID).  Для решения этой задачи при обмене через универсальный формат как раз и предназначен регистр сведений Публичные идентификаторы синхронизируемых объектов (далее РПИ) (см. рис. 1)

Рис 1 Регистр сведения РПИ

Структура регистра токава:

  • Узел информационной базы –  Ссылка на узел плана обмена (настройку обмена), для которой хранится соответствие.
  • Ссылка – Ссылка на объект текущего приложения
  • Идентификатор- GUID объекта, полученного от приложения-корреспондента.

При наличии битых ссылок объекты не могут быть сопоставлены и обмен дает сбой

Поиск и удаления битых ссылок

Для поиска бытовой ссылки запросом нужно использовать условие

Ссылка.Ссылка  Есть NULL

Отметим, что сама ссылка не есть NULL – она содержит преставление  <Объект не найден>.  Однако, любая ссылка имеет свойства  Ссылка , которая ссылается к себе самой в базе данных и поскольку ее физически нет, то  Ссылка.Ссылка всегда  Есть NULL.

На рис 2 показан программный код поиска и удаления битых ссылок в регистре сведения  РПИ из-за которых обмен через универсальный формат EnterpriceData дает сбой

Рис 2 Программный код поиска и удаления битых в регистре РПИ

Возможно, вам также будет интересно:

  • План не продуман ошибка не исправлена пример не приведен обещание не выполнено рассказ не окончен
  • План не продуман ошибка не исправлена ветер ворвался через незакрытое окно
  • План не придуман ошибка не исправлена
  • План конспект 2 класс математика работа над ошибками
  • План к сказке ошибки рип 4 класс

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии