Универсальный формат данных |
Я |
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. либо во внешней обработке, которая подключается к механизму синхронизации.
Данный способ универсален и пригоден для любых конфигураций и любых видов объектов (Документов, Справочников и т.п.).
Специалист компании ООО «Кодерлайн»
Игорь Борисенко.
Универсальный формат данных |
Я |
14.07.16 — 15:21
Настраиваю выгрузку из УТ 11.2 в БП 3.0 через универсальный формат.
Необходимо настроить перенос контрагентов не перезаписывая существующие элементы. Раньше в правилах была галочка «не замещать существующие объекты в приемнике при загрузке». Как теперь это можно реализовать?
1 — 14.07.16 — 15:37
(0) Ну так верни галку)
2 — 14.07.16 — 15:43
(1) Вот подскажи, пожалуйста, где в КД 3.0 эта галочка??
3 — 14.07.16 — 15:49
(2) А, КД 3.0 не видел в глаза
4 — 14.07.16 — 16:10
На сколько я понял, теперь все настройки находятся в модуле «МенеджерОбменаЧерезУниверсальныйФормат». Просмотрел все что связано со справочниками, но ничего похожего на замещение не нашел.
5 — 14.07.16 — 16:21
6 — 14.07.16 — 16:42
Это конечно сильно помогло, особенно, когда сегодня нужно выгрузить данные, что бы не затереть контрагентов.
7 — 14.07.16 — 16:45
(6) Ну, извини, тема не особо информативная
8 — 14.07.16 — 16:47
9 — 14.07.16 — 16:51
(8) Списибо! Получается это нужно при записи в бухгалтерии писать. А я надеялся, что можно в УТ при отправке как то сделать
10 — 14.07.16 — 17:32
Да
11 — 14.07.16 — 17:59
(8) Эта картинка из КД3?
12 — 15.07.16 — 13:52
При обмене УТ11.2 с БП3.0 появилась ошибка:
Ошибка выполнения обработчика.
{ОбщийМодуль.УчетНДСКлиентСервер.Модуль(231)}: Преобразование значения к типу Булево не может быть выполнено
Если УчетАгентскогоНДС Тогда
Это при загрузке документа Списание с расчетного счета, смотрел его в УТ11.2 вроде нормальный, договор — тоже, никакого Учета Агентского НДС. Куда копать
13 — 15.07.16 — 14:00
Стек вызовов не?
14 — 15.07.16 — 14:38
(13) т.е.?
15 — 16.07.16 — 03:21
Уже была тема Ошибка в обработчике ПослеЗагрузкиОбъекта по данному вопросу, но не решена…
16 — 17.07.16 — 01:55
(15) переопредели реквизит структуры ЗначенияРеквизитов.УчетАгентскихУслуг = Ложь; и юзай внешние правила пока 1с не починит и чтобы не снимать с поддержки модуль менеджерОбмена
17 — 18.07.16 — 12:01
(16) В копии БП включил возможность редактирования конфигурации, в ОбщийМодуль.УчетНДСКлиентСервер.СтавкаНДСВДоговореКонтрагента() вставил строчку:
УчетАгентскогоНДС = ?(УчетАгентскогоНДС = Неопределено, Ложь, УчетАгентскогоНДС);
вроде ошибка более не проявляется. Но с рабочей базой этого делать не желательно. В УТ давно включена возможность редактирования конфигурации, может лучше в ней поправить «правила обмена», вот только где именно? На сколько мне известно в УТ11.2 уже не используются правила обмена, написанные в КД2.1, а нечто другое — из КД3.0. Раньше этим не приходилось еще заниматься.
18 — 19.07.16 — 11:31
(17) Выгрузить модуль и форматы обмена из БП в КД и правь что я тебе писал в (16) для ПКО Списание с РС в событиях загрузки.
19 — 20.07.16 — 08:54
Еще прикол: попросили помочь настроить обмен УТ11.2 с БП3.0. Иду в «Синхронизация данных», жму «Настроить синхронизацию данных», выбираю «Через универсальный формат данных/БП 3.0». Указываю «Прямое подключение…» (Com), каталог БП3.0, логин, пароль, жму «Далее» — выдает: Синхронизация данных между программами уже была настроена ранее!? Приехали — кроме «Отмена» ничего не нажать! Да, пытались ранее неудачно, и что теперь, где эта настройка, чтобы удалить ее совсем?
20 — 20.07.16 — 09:25
(19) Позвать программиста не предлагать?
21 — 20.07.16 — 09:32
(20) Меня позвали… и что новую пустую БП3.0 создавать?
22 — 20.07.16 — 09:43
(21) Не надо никакую новую БП создавать.
Тут у тебя также когда настраиваешь синхр? http://screencast.com/t/8dTyRGHUIgNY
23 — 20.07.16 — 09:47
(22) Ну да, жму «Настроить синхронизацию данных», выбираю «Через универсальный формат данных/БП 3.0». Указываю «Прямое подключение…» (Com), каталог БП3.0, логин, пароль, жму «Далее» — выдает: Синхронизация данных между программами уже была настроена ранее!? Приехали — кроме «Отмена» ничего не нажать!
24 — 20.07.16 — 09:50
(21) Сколько платят за решение вопроса?
25 — 20.07.16 — 10:01
(24) Пока не спрашивал.
+(23) Снял копию БП3.0, в «Синхронизация с программой УТ11» нажал «Удалить эту настройку», теперь там картинка (22). А в УТ11 все также «Синхронизация данных между программами уже была настроена ранее» — где он ее нашел? Почему ее не показывает?
26 — 20.07.16 — 10:02
+ как ее запустить?
27 — 20.07.16 — 10:17
заново создай
28 — 20.07.16 — 10:42
(27) Более никак? Похоже, сделали настройку, что-то в ней накосячали, ее удалили, а новую создать не дает!?
29 — 20.07.16 — 12:39
+(28) Оказывается ситуация возникла следующим образом: была одна УТ на несколько организаций, и несколько БП, обмены были настроены с фильтрацией по организациям. Теперь из УТ сделали РИБ, из каждой периферийной базы УТ хотят настроить обмен со своей УТ. Создают новую настройку, она цепляется за БП, видит в ней, что настройка обмена уже есть, и не создает новую. В результате ни новой, ни старую не запустить!? Как быть?
30 — 20.07.16 — 12:41
(29) *со своей БП (не УТ).
31 — 20.07.16 — 17:39
(27) Создал пустую БП, указал ее в настойке обмена УТ. Настройка создалась. Далее в параметрах подключения вместо пустой БП указал рабочую БП. Нажал «Синхронизировать»: пошла «Синхронизация данных с БП 3.0» Шаг 1 из 2. Загрузка данных — висит 2-й час на 0%, хотя мне на фиг ничего из БП в УТ загружать не нужно!?
32 — 21.07.16 — 04:01
+(31) Ночь прошла, а процесс все также 0%. УТ что-то ждет из БП, а БП не выгружает… и правильно делает, изначально обмен планировался односторонним. Вот только при создании Com-обмена не увидел, где указывается, что обмен односторонний?
33 — 21.07.16 — 05:16
(32) Обмен в любом случае двусторонний — УТ должна получить от БП подтверждение о получении данных. Просто в настройках отправки данных из БП надо выбрать «Не отправлять».
Кстати, по ошибке из (15): было такое, выяснилось, что если наименование договора длиннее 50 символов, то договор не загружается в БП. Сократил наименование, ошибка ушла.
34 — 21.07.16 — 06:01
(33) > Просто в настройках отправки данных из БП надо выбрать «Не отправлять».
Да, в БП еще старая настройка «Не отправлять», но новая настройка в УТ (настроил на пустую БП, а после в параметрах подключения указал рабочую БП) похоже об этом не знает, и ждет данных от БП!?
35 — 21.07.16 — 06:03
(33) > если наименование договора длиннее 50 символов, то договор не загружается в БП. Сократил наименование, ошибка ушла.
Спс, попробую
36 — 21.07.16 — 10:55
Сдается мне, что счетчики пакетов выгрузки загрузки не синхронизированы. Где их посмотреть?
37 — 21.07.16 — 13:49
Обработка РегистрацияИзмененийДляОбмена82 (управляемое приложение).epf показывает в УТ нулевые счетчики. Сбросил в ноль в БП — не помогло. Жму в УТ «Синхронизировать», и процесс ожидания: Шаг 1 из 2. Загрузка данных…
38 — 22.07.16 — 11:56
С ошибкой «Синхронизация данных между программами уже была настроена ранее» разобрался, ситуация с обменом крайне запущена. Обмен с БП3.0 настраивался, когда УТ была в редакции 11.1, соответственно в БП использовался план обмена ОбменУправлениеТорговлейБухгалтерияПредприятия30. А теперь — СинхронизацияДанныхЧерезУниверсальныйФормат. Настройка перенесена как-то криво!? Обычно, когда задействуешь план обмена сперва создается предопределенный ЭтотУзел для источника, потом уже добавляются узлы для баз обмена. А тут настройка обмена перенесена прямо в ЭтотУзел, с кодом (префиксом) базы моей УТ!?
Вроде вычистил все старые настройки обмена, новую теперь создал без проблем. После ее создания пошла выгрузка из УТ в БП, но из-за косяков в документах была прервана. Косяки исправили, запустил синхронизацию, и опять: процесс ожидания: Шаг 1 из 2. Загрузка данных!? Почему загрузка вместо выгрузки?
39 — 22.07.16 — 13:41
Там же нашел кнопку «Синхронизировать, задав дополнительные параметры», можно, например, задать период выгрузки, выгрузка идет! Даже пишет: Синхронизация завершена, Не удалось получить данные, Данные успешно отправлены! Но по ссылке Подробно попадаю в Журнал регистрации: Фоновое задание — Выполнено, Отправка данных; Объектов обработано: 632, Тонкий клиент — Выполнено, Отправка данных; Объектов обработано: 0. И опять в БП ничего не пришло!?
40 — 22.07.16 — 14:01
ахренеть какая жесть эта КД 3.0…
41 — 22.07.16 — 14:26
(40) нормальная конфа
42 — 22.07.16 — 15:09
В журнале регистрации БП обнаружил: COM-соединение, Событие: Обмен данными.СинхронизацияДанныхЧерезУниверсальныйФормат.Получение данных, Комментарий: Получатель из сообщения обмена не соответствует ожидаемому — что это может значить?
43 — 23.07.16 — 05:19
(41) Это если знать ее хорошо. Косяки в правилах обмена всегда будут. В КД2.1 их можно быстро поправить. В сложных случаях можно использовать Универсальный обмен данными в формате XML, чтобы разобраться где косяк. А когда используется Универсальный формат данных, как?
(42) Разобрался, префиксы (коды) баз обмена не корректно были заданы.
44 — 23.07.16 — 08:29
Сталкивался недавно с ошибкой, частично похожую на (12). Открыл КД3, загрузил туда правила, начал смотреть…Запутался.
Плюнул и в копиях включил обмен с отладкой. Оказалось всё проще и дело не в правилах. Была ошибка в базе, в данных. Нашёл больной объект через отладчик, поправил значения в сбойном реквизите и обмен пошёл без ошибок. Т.е. я не менял правила, они оказались верными. Только поправил неверные данные. Прелесть КД3 в том, что можно через отладчик откопать ошибку.
45 — 24.07.16 — 06:02
(44) Открой секрет как отладчиком найти ошибку, возникающую при загрузки данных в БП, запущенную через Com-соединение? Ошибку (42) долго искал, вставлял Сообщить, СообщитьПользователю о значения переменных — ни помогло!? Только, когда стал писать их в ЖР, выяснялось, что теперь введен контроль адресации пакетов (от кого кому) по префиксам баз (кодам узлов)!? Я еще могу понять этот контроль, когда использовались старые (КД2) правила, и загружались данные через Универсальный обмен данными в формате XML. Там можно ошибиться: выгрузил для одной БП, а грузишь в другую. Но когда грузишь через Com-соединение такое в принципе невозможно.
46 — 24.07.16 — 06:26
(45)Для отладки можно включить режим обмена через файлы. Я в этом режиме смотрел.
47 — 24.07.16 — 07:46
(46) Это уже другой режим. А режим через Com-соединение поддается отладки?
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-сондинении включена. Радуешься.
49 — 24.07.16 — 10:54
(48) И процесс загрузки в БП остановится на заданной точке останова?
(44) Кстати, ошибка (12) в этот раз тоже была, в УТ открыл документ, указанный в нем договор (длинна наименования менее 15 символов, идея (33) не подтвердилась), подергал в нем галочку «Организация выступает налоговым агентом по НДС», перезаписал, повторил обмен — все нормально прошло. Явных ошибок в правилах нет, согласен. Но все равно это г@внокод, из-за которого пользователи к программистам обращаются. Для булево значения в приемник должно выгружаться либо Истина, либо Ложь, независимо заполнено оно в источнике, или Неопределено.
В КД2 технология г@внокода хорошо отлажена: выгрузил правил, загрузил в КД2, поправил ПКО, например:
Значение = ?(Источник.УчетАгентскогоНДС = Неопределено, Ложь, Источник.УчетАгентскогоНДС);
обратно в узел обмена правила загрузил — в конфигураторе ничего менять не надо (снимать с поддержки). А вот с КД3 пока не знаю как быть…
50 — 24.07.16 — 10:57
*технология исправления
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 (и не только для этого релиза) нужно выполнить следующее:
- В форме обработки ВыгрузкаПравилСинхронизации заменить код процедуры ПриСозданииНаСервере() на следующий:
ВерсииФормата = Новый Соответствие; ОбменДаннымиПереопределяемый.ПриПолученииДоступныхВерсийФормата(ВерсииФормата); Для Каждого ПланОбмена Из ОбменДаннымиПовтИсп.ПланыОбменаБСП() Цикл Если ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(ПланОбмена) Тогда ВерсииФорматаПланаОбмена = Новый Соответствие; ВерсияБСП243 = ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СтандартныеПодсистемыСервер.ВерсияБиблиотеки(), “2.4.3.1”) >= 0; МодульОбменДаннымиСервер = ОбщегоНазначения.ОбщийМодуль(“ОбменДаннымиСервер”); Если ВерсияБСП243 Тогда ВерсииФорматаПланаОбмена = МодульОбменДаннымиСервер.ЗначениеНастройкиПланаОбмена(ПланОбмена, “ВерсииФорматаОбмена”); Иначе ПланыОбмена[ПланОбмена].ПолучитьВерсииФорматаОбмена(ВерсииФорматаПланаОбмена); КонецЕсли; Для Каждого ВерсияПланаОбмена Из ВерсииФорматаПланаОбмена Цикл МодульМенеджера = ВерсииФормата.Получить(ВерсияПланаОбмена.Ключ); Если МодульМенеджера = Неопределено Или МодульМенеджера <> ВерсияПланаОбмена.Значение Тогда ВерсииФормата.Вставить(ВерсияПланаОбмена.Ключ, ВерсияПланаОбмена.Значение); КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; Для Каждого ВерсияФормата ИЗ ВерсииФормата Цикл Элементы.НомерВерсииФормата.СписокВыбора.Добавить(ВерсияФормата.Ключ); КонецЦикла; АдресХранилищаВерсииФормата = ПоместитьВоВременноеХранилище(ВерсииФормата, УникальныйИдентификатор);
- В форме обработки “ЗагрузкаПравилСинхронизацииИзФайлов” в процедуре ЗагрузкаПКО() заменить строку
ТекПКО.ВариантИдентификации = Перечисления.ВариантыИдентификацииОбъектов[СтруктураАтрибутов.ВариантИдентификации];
на строку
ТекПКО.ВариантИдентификации = ?(СтруктураАтрибутов.ВариантИдентификации = “”, Перечисления.ВариантыИдентификацииОбъектов.ПустаяСсылка(), Перечисления.ВариантыИдентификацииОбъектов[СтруктураАтрибутов.ВариантИдентификации]);
- Кроме того при использовании конвертации может возникнуть ошибка из-за синхронного вызова вопроса “Обработчики предназначены для другой конвертации: Продолжить загрузку?” – для целей курса достаточно закомментировать несколько строк в процедуре ПроверитьКонвертациюПриЗагрузкеАлгоритмов(…) общего модуля КонвертацияДанныхXDTOКлиент внутри условия “Если ИмяКонвертации <> НаименованиеКонвертации Тогда ….. КонецЕсли;”, оставив не закомментированной только строку Возврат Ложь;
Комментарий слушателя
Все получилось, совет помог, спасибо! Единственное, в конвертации 3.0.5.3 процедура теперь называется ЗагрузитьПКО(), а не ЗагрузкаПКО().
0 — 11.03.2018 10:50:55
Ранее база УТ в обмене не участвовала, настроек никаких для этого в ней нет. Сейчас выполняю настройку синхронизации в УТ для обмена с бухгалтерией предприятия в универсальном формате, все параметры настроен, но при завершении выходит ошибка {Обработка.ПомощникСозданияОбменаДанными.МодульОбъекта(875)}: Значение префикса первой информационной базы не уникально. В системе уже существует синхронизация данных для информационной базы (программы) с указанным префиксом. ВызватьИсключение НСтр(«ru = ‘Значение префикса первой информационной базы не уникально.
1 — 11.03.2018 12:35:54
Скорее всего, в базе-корреспонденте, т.е. в бухгалтерии уже есть настройки с таким префиксом. Откройте в ней Все функции → Планы обмена → Синхронизация данных через универсальный формат и проверьте в перечне уже введенных обменов наличие строки с тем же префиксом, что и у базы, из которой вы настраиваете обмен. Настройку с таким же префиксом надо удалить, либо заменить префикс в своей базе.
2 — 28.09.2018 11:57:01
Удалила старую настройку — создала новую, все получилось. Спасибо за совет!
3 — 09.12.2020 8:45:35
Существуют одна база УТ 11.4 и две базы БП 3.0.
Небходимо настроить синхронизацию УТ с двумя базами БП
Префиксы баз
Управление торговлей — УУ
Бухгалтерия 1 — ББ
Бухгалтерия 2 — БД
Синхронизация УТ с Бухгалтерией 1 проходит нормально
При синхронизации УТ с Бухгалтерией 2 возникает ошибка.
Вложенные файлы:
- Ошибка синхронизации.txt
Ошибки получения данных при обмене
Битые ссылки
Наличие битых ссылок – ссылок на несуществующие объекты информационной базы – является основной причиной отказа получения данных от источника при обмене данными. Битые ссылки в 1С имеют следующее представление (См. рис 1):
<Объект не найден> ( [уникальный внутренний идентификатор (GUID)])
Как правила, битые ссылки возникают при удалении непосредственно объекта информационной базы без проверки ссылочной структуры.
Механизм сопоставления данных при обмене через универсальный формат
При синхронизации данных, как начальной, так и основанной на регулярной основе, одинаковые данные в приложениях будут сопоставлены между собой по уникальным внутренним идентификаторам объектов (GUID). Для решения этой задачи при обмене через универсальный формат как раз и предназначен регистр сведений Публичные идентификаторы синхронизируемых объектов (далее РПИ) (см. рис. 1)
Структура регистра токава:
- Узел информационной базы – Ссылка на узел плана обмена (настройку обмена), для которой хранится соответствие.
- Ссылка – Ссылка на объект текущего приложения
- Идентификатор- GUID объекта, полученного от приложения-корреспондента.
При наличии битых ссылок объекты не могут быть сопоставлены и обмен дает сбой
Поиск и удаления битых ссылок
Для поиска бытовой ссылки запросом нужно использовать условие
Ссылка.Ссылка Есть NULL
Отметим, что сама ссылка не есть NULL – она содержит преставление <Объект не найден>. Однако, любая ссылка имеет свойства Ссылка , которая ссылается к себе самой в базе данных и поскольку ее физически нет, то Ссылка.Ссылка всегда Есть NULL.
На рис 2 показан программный код поиска и удаления битых ссылок в регистре сведения РПИ из-за которых обмен через универсальный формат EnterpriceData дает сбой