Имя: Пароль:
1C
1C 7.7
v7: ТиС и МОД от ПИБИ. База приемник не принмает изменения из файла выгрузки.
0 raykom
 
19.09.14
06:34
ТиС две базы. Идентичны.

Выгружаю изменения. Из источника в файл - все корректно.
Загружаю в приемник - некоторые документы остаются не измененными.
Все, которые были изменены и проведены задним числом.
Изменения - уделения строк и изменения сумм в строке.

Выгружаю тупо пообъектно - в файлах выгрузки все данные ОК. В приемник - тупо не принимаются измения.

Кто понимает в этом табаке, подскажите мысль, а ?
Спасибо.
1 Рэйв
 
19.09.14
06:38
поставь точку останова в ПередЗаписью и смотри. Там скорее всего почему то на отказ налетает
2 raykom
 
19.09.14
06:39
(1)Где ? В процедуре документа ? При записи ?
3 raykom
 
19.09.14
06:40
Не ... Там чето тупо проще. Я просто не соображу. Щас вот полез в кишки смотреть построчно, как прием данных идет
4 Рэйв
 
19.09.14
06:40
(2)В модуле документа.
Поставь точку с условием на номер дока, который не записался.
5 raykom
 
19.09.14
06:41
(1)И ошибки проведения записи там комментируются.
6 Рэйв
 
19.09.14
06:41
(5)Ну все равно без отладчика не обойдешься:-)
7 raykom
 
19.09.14
06:41
Ну ... Попробую
8 raykom
 
19.09.14
06:42
Я без бутылки - не могу, а без отладчика - легко )
9 raykom
 
19.09.14
06:54
До записи дело не доходит. Отказ тупо на этапе разбра данных
10 probably
 
19.09.14
07:19
Базы по отношению друг к другу какие?
Может приемник стоит главной и в ней этот объект тоже помечен как измененный
11 probably
 
19.09.14
07:21
Выгрузи пример и в правилах загрузи, понять как вообще он разбирает пакет.
Может стоит условие по дате
12 raykom
 
19.09.14
07:21
(10)Приемник - главная. Как посмотреть Помечен как измененный или нет ?
13 raykom
 
19.09.14
07:23
(11)>Может стоит условие по дате
Где такое условие может стоять ? В правилах ? Так я егоне ставил ...
14 probably
 
19.09.14
07:34
(12) навскидку легко - нигде.
Пути решения:
1. выгрузить из приемника в источник и тупо в пакете посмотреть
2. Измененные объекты лежат в файлах tranX.dbf но в каком конкретно не подскажу.
15 probably
 
19.09.14
07:36
(13) в правилах загрузки в приемнике.
Вообще дело уже посоветовали: выгрузи один проблемный документ, а при загрузке включи сообщения хода загрузки. Что напишет?
16 raykom
 
19.09.14
07:49
))
> при загрузке включи сообщения хода загрузки

Вот такой совет как исполнить ? Там нет, епта выключателя с надписью "Сообщать как грузицо" ...

Что вы имеете в виду ? Вроде все на русском говорим, а я них не понимаю.
И потом - яже написал - недоходит до загрузки.
А там этих процедур на этапе разбора - мильен. Вот сижу и вычисляю.

Пример - выгружается. Но думаю - тухляк это. Ну загрузит он мне строку и покажет в колонке реквизиты. Загрузка примера не имеет отношения к стандартной загрузке. Так, чисто технически на корректность соответствия.

(14)Дак писал же, что в файле выгрузки - все корректно.
Приемник не берет из файла.
17 probably
 
19.09.14
07:55
(16) в окне, где нажимаешь выпонить обмен есть переключатель, что с сообщениями делать, тут уж не ври
Б) читаем внимательно: выгрузить изменения из ПРИЕМНИКА и в этом пакете смотреть свой документ. Если он есть, значит помечен измененным в приемнике
18 raykom
 
19.09.14
07:56
Хм ... Пример выгрузился, в приемнике просмотром - все ОК, а при загрузке примера - говорит:
"Не выгружен пример или ошибка при загрузке"

Надо попробовать любой другой док выгрузить
19 raykom
 
19.09.14
07:58
(17)))
Ну так и писали бы, что поищи неизменяющийся документ в файле выгрузки по изменениям, может его там тупо нет

Немтыри ... )
20 raykom
 
19.09.14
07:58
Дело. Щас посмотрю. Сам то затупил.
21 raykom
 
19.09.14
08:13
Ну есть один из неизменяемых в приемнике документов в файле выгрузки из источника ПО ИЗМЕНЕНИЯМ.

Его тупо не берет приемник.
22 probably
 
19.09.14
08:34
(21) для быстротя можешь тупо дать обе базы.
Даже нет, приемник и пакет для него с проблемным документом.

А вообще вроде по-русски посоветовал: узнай этот же документ в приемнике помечен, как измененный? Два Способа описаны в (14)
23 Кукуев
 
19.09.14
09:11
Одна из причин "незагрузки"
В обработке обмена есть ф-ция
Функция ЗагрузитьДокумент()
    Перем Док,ИДД,Тип,ЕстьЗначение;
    Рез=ОЛЕ.ВыбратьАтрибуты();
    Если Рез=1 Тогда
        ИДД=ОЛЕ.ИДД;
        
        Если НадоЗагружатьОбъект(ИДД)=0 Тогда//может быть этот объект изменяли и в нашей базе, а  тогда надо проверить на приоритет загрузки
            Возврат 1;//Все О`Кей
        КонецЕсли;

и ф-ция
Функция НадоЗагружатьОбъект(Спр_ИД)
    //Если объект изменен в нашей и в периферийной базе одновременно, то
    //для обеспечения синхронности баз нужно решить чьи изменения
    //имеют больший приоритет.
    //В этой функции приоритет определяется по номеру базы - у кого номер меньше - у того
    //больший приоритет !
    //Одинаковые номера баз невозможны т.к. это проверяется при выгрузке пакета.
    
    Если ПриоритетЗагрузки=0 Тогда
        //загружаем вседа т.к. наша база имеет более низкий приоритет
        Возврат 1;
    Иначе
        //смотрим может мы этот объект изменяли сами
        Рез=СписокИзмененныхОбъектов.НайтиЗначение(Спр_ИД);
        Если Рез=0 Тогда
            Возврат 1;//нет не изменяли
        Иначе
            Возврат 0;//изменяли !!!
        КонецЕсли;
    КонецЕсли;
КонецФункции //НадоЗагружатьОбъект


т.е., при загрузке документа проверяется приоритет базы.
24 Кукуев
 
19.09.14
09:17
+23 А, как я понял, главная база Приемник, У неё выше приоритет, вот ф-ция НадоЗагружатьОбъект() 0 и возвращает...
На закладке Загрузка в обработке есть галка Приоритетость базы. Я иногда, по мере необходимости (когда нужно что-то поменять в документах главной базы при загрузке из подчиненной) ставлю эту галку приоритета...
25 raykom
 
19.09.14
12:08
(23)Ю/может быть этот объект изменяли и в нашей базе, а  тогда надо проверить на приоритет загрузки

Я в этом куске модуля уже ковырялся, но за пацаном в садик пошел. Про приоритет видел но не понял, его логику. То что  он влияет то понял.

А у тебя вот примечание в коде по внимательнее почитал и понял.
Точно, надо посмотреть, что изменяли ...

Пока единственный совет, который в кассу.
26 Ёпрст
 
19.09.14
12:15
(0) посмотри, что в пакете прилетело
27 Ёпрст
 
19.09.14
12:16
+ в обработках, есть просмоторщик пакетов, в правилах выгрузки/загрузки можно тоже посмотреть, что прилетело
28 Ёпрст
 
19.09.14
12:19
если лень копаться, прибей траны в базе приёмнике - загрузит всё, если правила позволяют
29 raykom
 
19.09.14
12:37
(26)Писал уже, смотрел В выгрузке все ОК.
(27)Смотрел - нужный док в нужной кондиции есть.
(28)Так делал, но потом опять косит.

Вон Кукуев походу на дельную мысль натолкнул с приоритетами.
Щас курю
30 Ёпрст
 
19.09.14
12:39
(29) с приоритетами примитив - какую базу ставишь в приоритете выше - те данные и будут.
К тебя есть изменения в обоих базах, по приоритету твои прилетевшие изменения ниже - вот и отбой в их загрузке. всё.
31 raykom
 
19.09.14
12:42
(30)Да так, только я неявные делал изменения - типа перепроведение или изменение цен или ИД корректировал, щас пишу обработку, которая признаки измененности выведет изЖурнала мод и даты изменений
32 Хуан
 
19.09.14
12:46
Дата запрета редактирования?
33 raykom
 
19.09.14
12:46
У меня моск засахарился видать ...
Я этот приоритет 300 раз обнюхивал.
Ну не мог понять - что значит - при одновременном изменении ...
Капец, я всю неделю по 3-4 часа урывками спал. Тихо думаю.
Мне все казалось, что речь идет о одновременных сеансах реботы пользователя или о том, что когда в приемнике кто то работает с документом - то кто в приоритете - файл или пользователь.
Короче - тупень. Все гораздо проще )))
Спасибо Кукуеву - ткнул носом. Да и поспал я сегодня изрядно )))
34 raykom
 
19.09.14
12:46
(32)Не. Для МОДа это не запрет
35 Ёпрст
 
19.09.14
12:47
(31) если не нужно регистрировать изменения при массовых обработок - не делай их :)

Либо галку в настройках МОДа, либо в поделках не использовать модовские конструкции записи объектов
36 raykom
 
19.09.14
12:49
Короче, не мешайте )))
Поперло вроде ))
37 raykom
 
19.09.14
15:18
Кукуев
респект!!
Ты указал мне на волшебный крыжик. Усе пучком принялось.
Всем спасибо.
38 Кукуев
 
19.09.14
16:38
Хорошо, что получилось, рад за тебя!
Но этот крыжик может и напакостить...
При установленном этом крыжике, переносятся и изменения справочников из периферийной базы - если они были, конечно (если склероз не подводит). Вообще, у меня стоит запрет на изменения ключевых справочников в периферийных базах, но до всяких настроек ловил изменения, которых не должно быть.
39 Кукуев
 
19.09.14
16:38
Надеюсь, своей подсказкой не навредил тебе...
40 Кукуев
 
19.09.14
16:39
Блин, в спешке этого не написал, счас буду переживать :(
41 raykom
 
19.09.14
17:05
(38)Контрики у меня разведены по ИД, ну и по поределению - разные.
Номенклатура - одна, из центра, типы цен - то же.
42 raykom
 
19.09.14
17:05
Все норм.
43 raykom
 
19.09.14
17:07
Щас выровняю изменения и отключу
44 Кукуев
 
19.09.14
19:05
Ну и отлично! :)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший