Имя: Пароль:
1C
 
Обмен БП УТ
,
0 men47
 
24.12.14
13:10
Ситуация такая, нужно организовать синхронизацию из БП в УТ определенных справочников и документов, но они не типовые. Есть правила переноса из БП в УТ.

Я создал в обратную сторону(т.к. синхронизация просит и в обратную сторону) и создал Правила регистраций объектов. Залез в Планы обмена и решил изменить стандартные правила обмена, добавил туда не типовые объекты, которые нужно переносить.

В Правилах регистрации объекта и в Планах обмена выставил "Авторегистрация" = Разрешить.

Если не пробегаться обработкой "Регистрация изменений для обмена данными". То ошибок никаких и, естественно, выгрузки/загрузки не какой. А после регистрации обработкой, выдает вот такую ошибку.

ВНЕШНЕЕ СОЕДИНЕНИЕ: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(9596)}: Ошибка при записи документа: Выпуск продукции 000001286 от 01.12.2014 8:00:00. Описание ошибки: {Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(1576)}: Ошибка записи объекта
    ТипОбъекта             =  Выпуск продукции
    Объект                 =  Выпуск продукции 000001286 от 01.12.2014 8:00:00
    ОписаниеОшибки         =  Ошибка при вызове метода контекста (Записать)
    НаборЗаписей.Записать();
по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
{РегистрСведений.СоответствияОбъектовИнформационныхБаз.МодульНабораЗаписей(32)}: Ошибка при вызове метода контекста (Добавить)
    НаборЗаписей.Записать();
по причине:
Несоответствие типов (параметр номер '1')
    ПозицияМодуля          =  ОбщийМодуль.ОбменДаннымиСервер.Модуль(8083)
    КСообщенияОбОшибках    =  26
                        ВызватьИсключение СтрокаСообщения;



Я понимаю, что синхронизация не может зарегистрировать в  регистре запись, но, я не могу понять почему.... и отладить не знаю как.... Подскажите, что я упустил, или как мне это отладить
1 men47
 
24.12.14
13:31
up=(
2 Shrek_yar
 
24.12.14
13:42
в правила регистрации добавил их? добавил в состав обмена новые объекты?
3 men47
 
24.12.14
13:51
(2) да, конечно.. но только правила регистрации я добавлял в ручную, т.е. открыл типовой xml редактором, убрал то, что не нужно, добавил то, что нужно=)
4 men47
 
24.12.14
13:52
если что, вот правила Регистрации

https://yadi.sk/d/HrvZs7WNdahFc
5 Godofsin
 
24.12.14
13:53
ОбщийМодуль.ОбменДаннымиСервер.Модуль(8083) - ни о чем тебе не говорит?
6 Godofsin
 
24.12.14
13:55
И вот это Ошибка при выполнении обработчика - 'ПередЗаписью'
7 men47
 
24.12.14
14:04
(5) (6) попытался отладить эти места... ничего особенного не нашел...

а "ПередЗаписью"
это уже в самом регистре... он спотыкается на этой строчки


    ОбменДанными.Получатели.Добавить(Отбор.УзелИнформационнойБазы.Значение);
8 men47
 
24.12.14
14:23
(5) скажем так ни о чем не говорит, т.к. тут идет запись в регистр об успешном или не успешном обмене....

(6) это в самом регистре

{РегистрСведений.СоответствияОбъектовИнформационныхБаз.МодульНабораЗаписей(32)}: Ошибка при вызове метода контекста (Добавить)

я эту часть не могу никак отладить... Подскажи поподробнее, пожалуйста...
9 men47
 
24.12.14
14:35
up....
10 men47
 
24.12.14
14:40
up......
11 AlexITGround
 
24.12.14
15:06
Что у тебя находится в параметре 1?
12 men47
 
24.12.14
15:49
(11) вот как раз и я не знаю что 1с туда передает... Ибо я не могу то место отладить через точку останова... Т к идет подключение и это, как я понял, отрабатывается внешнем соединением. Вот я и спрашиваю, кто что знает... Т к уже не первый день сижу воюю
13 Shrek_yar
 
24.12.14
16:00
(3)какие объеты добавил?
14 men47
 
24.12.14
16:10
(13) добавил 1 документ и шт 5-7 справочников
15 men47
 
24.12.14
16:29
(13) т.е. такая ошибка возникает не только с документом, но и со справочниками, когда я их зарегистрирую и пытаюсь синхронизовать...

В конфигурациях объекты созданы идентичны..

Вот что в плане обмена у меня

[URL=http://www.radikal.ru][IMG]http://s019.radikal.ru/i634/1412/a5/9b63f3c0e8f7.png[/IMG][/URL]
16 men47
 
24.12.14
16:30
17 men47
 
24.12.14
17:02
up=((
18 Umga2002
 
24.12.14
17:29
Сапожник и пироги....
19 men47
 
24.12.14
18:17
(18) а точнее
20 men47
 
24.12.14
18:26
(18) кидаться крылатыми фразами все хороши, а вот написать что-то дельное, помочь, что-то никто не горит желанием
21 men47
 
24.12.14
19:15
Up(((
22 hhhh
 
24.12.14
21:53
обычно узел не тот пишут. проверь, не лоханулся? узел не сам себе пересылает данные?
23 men47
 
24.12.14
22:34
(22) вот что я сделал, изменил план обмена в обоих базах так как показано на картинке, и добавил узел обмена вот по этому плану обмена, загрузил свои правила обмена и правила регистрации... Я что то упустил?
24 men47
 
24.12.14
22:37
А узел не сам себе, там идет подключение к базе и если не регестрировать обработкой какие не достают документы и справочники и нажать синхронизовать, то в обоих базах пишет, что синхронизация прошла успешно, выгружено/загружено 0 и увеличивается счетчик отправленых и принятых сообщений. Если же обработкой зарегистрировать недостающие объекты в справочнике или же в документе, вылазие та ошибка, которую я указал в шапке
25 men47
 
24.12.14
22:39
И я никак не могу понять почему.... Где я ошибся, в инете есть информация только о типовых правилах, и есть такие же ошибки только с типовыми, все там пршут обновись или загрузи с обновления правила.... Но мне же это не подходит, я пытаюсь синхронизовать не типовые объекты
26 men47
 
25.12.14
08:00
Up
27 hhhh
 
25.12.14
09:00
(24) должно быть по 2 узла в каждой базе. И коды узлов должны совпадать.
28 men47
 
25.12.14
09:03
(27) естественно, в обоих 2 узла и в обоих совпадает и код и наименование.... это все понятно
29 hhhh
 
25.12.14
09:05
и зеленый кружок предопределенный узел тоже правильно стоит?
30 men47
 
25.12.14
09:10
(29) конечно, само по себе подключение есть и программа видит эти узлы, но при добавлении нового объекта, программа не может добавить в регистр сведений информацию о переданном объекте, из-за этого выходит ошибка, я не могу понять почему....
31 hhhh
 
25.12.14
09:13
(30) ну посмотрели отладчиком

ОбменДанными.Получатели.Добавить(Отбор.УзелИнформационнойБазы.Значение);

?? Что за узел там? Или пусто вообще?
32 men47
 
25.12.14
09:37
(31) я еще раз пишу=)) я ставлю туда точку останова и при синхронизации он не останавливается на этом месте, на сколько я понял, программа отрабатывает данное место через COM-объект

Если бы точка отрабатывала, я бы сам увидел, что он туда запихивает... и уже сам сообразил, но я не знаю, что 1с туда запихивает=(
33 Godofsin
 
25.12.14
09:43
(32) Вставь Предупреждение()
34 men47
 
25.12.14
10:37
(33) Предупредить и Сообщить вообще не канает....

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

Полез дальше, создал еще 1 объект в документах, который мне нужно выгрузить, добавил в коде, чтобы была запись в журнале регистрации

    ЗаписьЖурналаРегистрации("Обмен данными.ОбменУправлениеТорговлейБухгалтерияПредприятия30.Узел 00.Отправка данных", УровеньЖурналаРегистрации.Информация,,, Отбор.УзелИнформационнойБазы.Значение);    



нажал синхронизовать.... И вот что я увидел

http://s020.radikal.ru/i704/1412/bb/197666126bed.png

т.е.  те документы, которые он ранее загружал, он их увидел и сделал изменения в них.... далее он попытался добавить новый, но там объект не найден!! далее за ним идет то, что я ввел запись, т.е. имя узла (p.s. Отбор.УзелИнформационнойБазы.Значение) т.е. параметр он читает спокойно.....
и далее происходит эта долбаная ошибка....

Кто подскажет, почему не происходит запись.... но запись спокойно происходит если я коменчу регистр...
AdBlock убивает бесплатный контент. 1Сергей