Имя: Пароль:
1C
1С v8
Чудеса РИБ. Разные регистраторы в отборе набора и его записи
,
0 Sersh
 
25.05.17
00:31
Всем привет. Имеется Розница 2.2.5.27 на платформе 8.3.9.1850. Из рабочей SQL базы главного узла РИБ выгружаю информационную базу. Загружаю в копию. Пока все ок.. Затем захожу в копию. Удаляю узлы РИБ магазинов. Создаю новый узел магазина. Создаю начальный образ. Выгружает. Доходит почти до конца, валится с ошибкой с ругней на отсутствие реквизита МагазинОтправитель. Ловлю ошибку отладкой, смотрю в нее. Передается набор записей регистра накопления ТоварыОрганизаций. А в наборе вижу следующее:
НаборЗаписей.Отбор.Регистратор.Значение <> НаборЗаписей[0].Регистратор
То есть набор отобран по документу перемещения, а в первой записи набора отчет о розничных продажах
(!!!) Это как же так получается? ТИИ запускал - толку нет. Может поспать и все пройдет?
1 pavig
 
25.05.17
00:42
(0) Поспать. Ты где-то ошибаешься, возможно.
2 Sersh
 
25.05.17
00:49
(1) И то верно. Завтра еще раз попробую
3 Sersh
 
25.05.17
02:11
(1) Однако не спится...
https://yadi.sk/i/C87ZqnyZ3JVpCz
4 sFAQer
 
25.05.17
07:23
Тащи напалм, шайтан коробка взбунтовалась...
5 vi0
 
25.05.17
07:29
В какой процебуре делаешь отбор?
6 vi0
 
25.05.17
07:31
Была такая ошибка в платформе и 1с регала ее в багтрекере. Поищи там, м.б. исправили уже
7 sFAQer
 
25.05.17
07:36
Формально такой набор можно сделать кодом. Но запись его платформа конечно не даст...
8 vi0
 
25.05.17
07:37
9 assasu
 
25.05.17
08:16
(0) спать не надо. в правилах регистрации ошибка. исправлял тоже самое собственноручно.
10 Sersh
 
25.05.17
22:32
(9) Чего исправлял-то?


Процедура ПриОтправкеДанныхПодчиненномуСобытие(Источник, ЭлементДанных, ОтправкаЭлемента, СозданиеНачальногоОбраза) Экспорт
    
    ПриОтправкеДанныхПодчиненному(ЭлементДанных, ОтправкаЭлемента, СозданиеНачальногоОбраза, Источник);
    
КонецПроцедуры
/

Вот тут в параметре ЭлементДанных уже приходит кривой набор записей с отбором по одному регистратору, и с другим регистратором в первой записи
11 h-sp
 
25.05.17
22:36
(10) не читатель что ли? Он же написал в правилах регистрации.
12 Sersh
 
25.05.17
22:44
(11) ПриОтправкеДанныхПодчиненному
В стеке вызовов выше только создание начального образа.
Правила регистрации еще даже не проверялись для данного объекта. А интересуюсь, что конкретно исправлялось в правилах регистрации. Хотя считаю, что ПРО здесь ни при чем, т.к. процедура ПриОтправкеДанныхПодчиненному находится в модуле СтандартныеПодсистемыСервер
13 h-sp
 
26.05.17
04:34
(12) регистрация данных по-любому раньше отправки. Сначала данные регистрируются, потом уже начинают отправляться.
14 assasu
 
26.05.17
05:47
(10) в правилах регистрации (они раньше отправки)вот эта эбола
НаборЗаписей.Отбор.Регистратор.Значение <> НаборЗаписей[0].Регистратор

не правильно работает .

нужно использовать конструкцию типа ТипЗнч(Объект[0].Регистратор

если правила внимательно посмотреть , то для регистра Товары к поступлению именно так и сделано, а вот в товарах организации кто-то забыл
15 Sersh
 
26.05.17
11:14
(13) (14) Если смотреть в стек вызовов фонового задания, которое запускается по кнопке "Создать начальный образ", то сначала происходит вызов метода платформы

ПланыОбмена.СоздатьНачальныйОбраз(Параметры.Узел, СтрокаСоединения)

Насколько мне известно, этот метод очищает старую регистрацию данных по всем метаданным состава плана обмена, а затем выбирает все данные по этим метаданным. Затем по каждому элементу данных срабатывает вызов предопределенной процедуры ПриОтправкеДанныхПодчиненному(). А вот там уже и происходит фильтрация по правилам регистрации.
16 Sersh
 
26.05.17
11:19
(15) Это хорошо видно тут
https://yadi.sk/i/Zhp5jAYx3JYDvR
17 Sersh
 
26.05.17
11:22
(16) поправка
https://yadi.sk/i/NeFLZ1ql3JYEL4
18 Sersh
 
26.05.17
15:22
(14) Спасибо. Помогло.
Поменял в правилах регистрации по регистру ТоварыОрганизаций
ТипЗнч(Объект.Отбор.Регистратор.Значение)
на
ТипЗнч(Объект[0].Регистратор)
начальный образ создался
Но, хоть убей, не понимаю смысла существования таких наборов записей и откуда они появляются.