Имя: Пароль:
1C
1С v8
Конвертация. Создать регистр сведений после загрузки
0 Плехоть
 
01.11.18
08:56
Приветствую всех!
   Моя задача в конвертации 2.1 программно создать регистр сведений после загрузки объекта. При переносе данных Универсальным обменом все отрабатывает корректно, но когда код работает в синхронизации, регистр не создается.
Я делаю В ПКО справочника, в событии "После обработки":
        НаборЗаписей = РегистрыСведений.ПорядокОтраженияЗарплатыВБухУчете.СоздатьНаборЗаписей();
        НаборЗаписей.Отбор.СпособОтраженияЗарплатыВБухУчете.Установить(Объект.Ссылка);
        НоваяЗапись = НаборЗаписей.Добавить();
        НоваяЗапись.СпособОтраженияЗарплатыВБухУчете= Объект.Ссылка;
        НаборЗаписей.Записать();

Делал и через СоздатьМенеджерЗаписи(), но не помогло.
Подскажите, плиз, как можно, всё-таки, создать РС после загрузки объекта справочника?
1 Cool_Profi
 
01.11.18
08:59
Может, транзакция отваливается?
2 Плехоть
 
01.11.18
09:02
Я пробовал записывать в реквизит перенесенного справочника созданный РС... Реквизит на стороне приемника не пустой.
3 Cyberhawk
 
01.11.18
09:09
С таким подходом к терминологии далеко не уедешь
4 Плехоть
 
01.11.18
09:12
что не так с терминологией? )
5 Плехоть
 
01.11.18
09:19
Тему не дописал? Может так: "Конвертация. Создать регистр сведений после загрузки объекта справочника"
6 Очевидно
 
01.11.18
09:23
Думаю речь об "Создать набор записей в РС после загрузки справочника". Прочитав название темы действительно выглядит странно ... "Создать регистр сведений при обмене".
7 Плехоть
 
01.11.18
09:27
Извиняюсь, что не смог понятно изложить тему. На инфостарте тоже бились с этим вопросом, но решения не получилось. https://forum.infostart.ru/forum15/topic184055/
8 azt-yur
 
01.11.18
09:40
а в базе-приемнике правила обновили?
9 Плехоть
 
01.11.18
09:46
В базу-приемник переносятся правила из файла данных, которые выгружены в xml из базы-источника. Или Вы о каких правилах?
Все изменения, которые я делаю в коде конвертации, а потом загружаю в базу-источник - отрабатывают. Создание набора записей в РС - нет.
10 Cyberhawk
 
01.11.18
09:55
"В базу-приемник переносятся правила из файла данных, которые выгружены в xml из базы-источника" // В типовых это давно уже не так. Внезапно.
11 Cyberhawk
 
01.11.18
09:56
Но суть не в этом. В ЖР посмотри есть ли события записи в этот твой РС.
12 Плехоть
 
01.11.18
10:02
Нет. Про события записи ни слова. Начало процесса обмена данными и отработано 4 объекта. Ещё регистры состояния обменов данными меняются, но это не то.
13 Плехоть
 
01.11.18
10:03
В процессе синхронизации был создан и справочник, но про него в ЖР тоже ничего
14 elCust
 
01.11.18
10:04
В ПКО нет правила "После обработки".

Это правило есть в "ПВД".

А создавать запись регистра нужно в ПКО в правиле "После загрузки".
15 Плехоть
 
01.11.18
10:05
Да, и план обмена и правила не типовые. Если это важно.
16 azt-yur
 
01.11.18
10:08
(9) база приемник у тебя какая? если из последних на управляемых формах, то обработчики выполняемые в приемнике берутся из правил корреспондента, которые должны быть загружены в приемник.
17 Плехоть
 
01.11.18
10:09
14. Вы правы. Я пишу код создания набора РС в событии "После загрузки". Опять мои огрехи терминологии )
18 Плехоть
 
01.11.18
10:11
(16) БП КОРП 3.0.65.72. Я повторюсь "Все изменения, которые я делаю в коде конвертации, а потом загружаю в базу-источник - отрабатывают. Создание набора записей в РС - нет."
19 Cyberhawk
 
01.11.18
10:11
(13) "В процессе синхронизации был создан и справочник, но про него в ЖР тоже ничего" // Уровень регистрации какой?
20 Плехоть
 
01.11.18
10:20
Что такое "уровень регистрации"?
21 ptiz
 
01.11.18
10:22
(0) Вставь в этот код ЗаписьЖурналаРегистрации() чтобы убедиться, что он срабатывает.
Если у меня большое подозрение, что в каком-то другом месте у тебя идет очистка этого РС.
22 hhhh
 
01.11.18
10:25
(18) в базе приемнике надо правила обновить. правила корреспондента
23 elCust
 
01.11.18
10:25
Давайте для начало определим, что обработчик выполняется.

Заходим в ПКО, в правило После записи и перед созданием записи РС пишем код:

ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Метка 1");

Таким кодом вы однозначно определите, что обработчик правила выполняется.
24 Плехоть
 
01.11.18
10:25
(20) Сейчас попробую
25 Плехоть
 
01.11.18
10:26
(24) это для (21)
26 elCust
 
01.11.18
10:26
(22) Конвертация 2.1 ж.
27 Плехоть
 
01.11.18
10:27
(23) и это попробую
28 Cyberhawk
 
01.11.18
10:27
(20) http://v8.1c.ru/overview/Term_000000292.htm последняя картинка
29 Плехоть
 
01.11.18
10:28
(26) да, Конвертация 2.1.8.2
30 Cyberhawk
 
01.11.18
10:28
(26) Ты отстал от жизни. См. (10)
31 hhhh
 
01.11.18
10:29
(26) правила через файл не передаются теперь. Из-за требований безопасности запрещено.
32 Плехоть
 
01.11.18
10:30
(28) в базе стоит "Регистрировать ошибки, предупреждения, информацию, примечания"
33 Плехоть
 
01.11.18
10:30
(31) у нас пока передается через файл ) Дальше видно будет
34 azt-yur
 
01.11.18
10:31
(22) ему об этом уже несколько раз сказали, но уверен что ему это не надо.
35 Cyberhawk
 
01.11.18
10:33
(32) Ну тогда явно что-то там не так у тебя (возможно, в твоей голове, возможно в инфобазе, возможно в ЖР), раз элемент справочника ты утверждаешь что создался, а в ЖР не залогировалось это.
36 Плехоть
 
01.11.18
10:37
(35) Я понимаю, что что-то не так. Поэтому в поиске и обратился в мисту.
И опять повторюсь "план обмена и правила не типовые."
37 hhhh
 
01.11.18
12:36
(32) в после загрузки элемент справочника еще не записан. поэтому непонятно что там Объект.Ссылка делает. И ежу понятно, что там Ссылка пустая.
38 Плехоть
 
01.11.18
13:53
(37) Элемент справочника записан, и ссылка есть. В любом случае кроме этого измерения РС есть ещё, которые я не писал в код в первом сообщении. И ещё раз повторюсь "При переносе данных Универсальным обменом все отрабатывает корректно, но когда код работает в синхронизации, регистр не создается"
39 Cyberhawk
 
01.11.18
14:04
Очевидно же значит, что в обработке, используемой при встроенном обмене, другие параметры загрузки делаются, чем ты ставишь при ручной загрузке
40 Cyberhawk
 
01.11.18
14:06
А возможно там и не только в параметрах обработки обмена дело, но и в обвязке встроенного обмена. Например, различается перенос наборов записей регистров (в одном месте он через отбор сразу на все записи, в другом - каждая запись отдельно).
41 Плехоть
 
01.11.18
14:11
(40) Поэтому я и спрашиваю у мудрейших и опытнейших, как сделать программное создание набора в РС при синхронизации, чтобы не делать постоянно универсальным переносом.
42 Плехоть
 
01.11.18
14:14
+(41) *не пользоваться обработкой "универсальный обмен данными в формате XML" )
43 Cyberhawk
 
01.11.18
14:39
Отладка загрузки в помощь
44 Плехоть
 
01.11.18
15:13
Боюсь, что отладка будет показывать работу аналогичную универсальному обмену
45 Черный маклер
 
01.11.18
15:22
(0) ПКО для ТвойСправочник
После выгрузки:

ВыгрузитьПоПравилу(Источник, , , , "ПорядокОтраженияЗарплатыВБухУчете");

и создать правило для РСв "ПорядокОтраженияЗарплатыВБухУчете"
46 Плехоть
 
01.11.18
16:25
Метод "ВыгрузитьПоПравилу()" отработает в ПКО в правиле "После загрузки"? Это опробовано? Я пробовал что-то подобное, у меня не получилось