Имя: Пароль:
1C
 
Конвертация данных 2.1. Поиск значения по полям
0 Wirtuozzz
 
13.06.18
16:09
Всем привет.
Что делаю: через самописный план обмена, я выгружаю документ РТиУ из допиленной Ут 11 в БП 3.0. В ПКС документа назначаю выгрузку свойства Склад, пытаюсь найти его сначала по Гуид, потом по КПП или наименованию. В итоге в бухе в отладчике вижу что значение поиска по кпп и наименованию находится, но у загруженногог документа не заполнено подразделение. Куда посмотреть?
1 Cyberhawk
 
13.06.18
16:12
Возможно, твой склад-подразделение грузится в приемник после документа, и в документе оно очищается прикладным кодом, ибо объект в БД еще не найден.
Повторая загрузка не исправляет ситуацию?
2 Wirtuozzz
 
13.06.18
16:16
(1) Нет, не в этом дело. Я в БП, при загрузке поставил точку останова, через отладчик я вижу в БП и ссылку и объект на созданное там подразедление. Более того, я могу зайти в документ и в ручную поправить подразделение, и могу выбрать на найденное подразделение при загрузке.

За коммент спасибо ;)
3 Wirtuozzz
 
13.06.18
16:16
такое чувство, что очищается подразделение где то.
4 Wirtuozzz
 
13.06.18
16:18
никто не знает в какой момент свойства найденные в базе, переносятся в объеты в обработке Конвертация объектов ИБ? Хочу увиде ть где там этот заполненный документ и заполнен ли у него реквизит подразделение?
5 hhhh
 
13.06.18
16:19
(4) ПослеЗагрузки смотри
6 Cyberhawk
 
13.06.18
16:21
А, так у тебя обмен через ЕД?
7 Wirtuozzz
 
13.06.18
16:23
(6) Что такое ЕД? У меня обмен через план обмена.
8 hhhh
 
13.06.18
16:26
(4) но кстати да, в конвертации там есть огромные многоколометровые модули по присваиванию подразделения.
9 Cyberhawk
 
13.06.18
16:28
Поставь в ПриЗагрузке РежимЗаписи = "Запись" и все должно получиться. Стопудово у тебя документ проводится при загрузке и прикладной код поэтому очищает подразделение.
10 Wirtuozzz
 
13.06.18
16:28
(8) Спасибо. Если они есть, значит я с ними разберусь.
11 Wirtuozzz
 
13.06.18
16:29
(9)  сейчас попробую. Спасибо.
12 Wirtuozzz
 
13.06.18
16:31
есть еще идея, что при загрузке не подставляется подразделение с галкой ОП. Но не уверен, не пробовал. Пока только мысли
13 Wirtuozzz
 
13.06.18
16:38
(9) Запись при загрузке не помогла. Жаль. Поиски продолжаются.
14 Бовка
 
13.06.18
16:49
Стеком вызовов пройдись по обработчикам которые вызываются.
Ну глянь само правило для свойства Склад в документе
А склад - это подразделение?
15 Cyberhawk
 
13.06.18
16:50
(13) Ну ты проверь, что объект записывается один раз и в режиме загрузки
16 Wirtuozzz
 
13.06.18
16:51
(14) В складе Есть КПП, вот по КПП и надо найти подразделение по КПП и Владельцу ( организация из шапки документа).

Смотрю стеком вызовов.  Не больно то получается. Но я не сдамся.
17 Бовка
 
13.06.18
16:51
(15) объект у него находится как я понял, у него скорее всего проблема в ПКС склад - подразделение
18 Wirtuozzz
 
13.06.18
16:51
(15) Да, 1 раз записывается. Ставил точку остановы перед записью РТиУ, документ прилетает на запись с пустым подразделением. Есть чувство, что оно не заполняется
19 Wirtuozzz
 
13.06.18
16:52
(17) Да какие могут быть проблемы выгрузить одно в другое? Должно работать, 100 раз так делал.
20 Бовка
 
13.06.18
16:52
а в документе для склада это правило вообще указано?
21 Бовка
 
13.06.18
16:53
может внутренние обработчики в самой БП? Посмотри подписки и события самого документа
22 Wirtuozzz
 
13.06.18
16:55
(20) как понять в документе для склада? В ПКО Документа указан ПКС склад в подразделение, там указан тип источника и приемника, и наименование ПКО свойства
23 hhhh
 
13.06.18
16:57
(22) правило там должно быть указано.
24 Wirtuozzz
 
13.06.18
16:57
(23) указано.
25 Wirtuozzz
 
13.06.18
16:58
более того, я проверял заходит ли обработчик в это правило, после загрузки в этом правиле у меня указан код по созданию налоговых регистраций, он работает
26 Cyberhawk
 
13.06.18
17:00
(23) Ошибаешься
27 Wirtuozzz
 
13.06.18
23:47
Всем огромнейшее спасибо. Разобрался. Проблема не в правилах, правила огонь, проблема была в РС "Соответствие объектов для обмена" был в нем косячек. Всем еще раз большое спасибо!
28 Cyberhawk
 
14.06.18
10:39
Так у тебя правила для КД 3 или для КД 2 были? Обмен выполнял через подсистему БСП (интерфейс типовой конфигурации "Сихронизация данных")?
29 Wirtuozzz
 
14.06.18
10:50
(28) Правила были 2.0, выполнял через БСП, через типовой интерфейс Синхронизация данных.
30 Wirtuozzz
 
14.06.18
10:51
(28) в шапке писал, что КД 2.1 используется.
31 Wirtuozzz
 
14.06.18
10:51
(28) за советы респектосик, + в карму.
32 Wirtuozzz
 
15.06.18
11:32
up
33 Wirtuozzz
 
15.06.18
11:33
Народ, а можно через параметр передать ссылочный тип?
Т.е. я хочу организацию выгрузить по правилу Организации выгрузить в параметр и потом использовать при загрузке объекта этот параметр?
34 Wirtuozzz
 
15.06.18
11:35
Я попробовал, но переменная "ПараметрыОбъекта" при загрузке = Неопределено, хотя в ПКС я установил ссылку на элемент справочника и указал правило, а так же указал, что данные передавать в параметр надо
35 Cyberhawk
 
15.06.18
11:53
"переменная "ПараметрыОбъекта" при загрузке = Неопределено" // Так для начала в файле выгрузки посмотри, что в этом параметре
36 Cyberhawk
 
15.06.18
11:55
"можно через параметр передать ссылочный тип?" // Конечно. Если не верится, то глянь любые типовые правила от 1С, там всяко найдется хоть одно такое ПКС
37 Wirtuozzz
 
15.06.18
11:59
(35) не при загрузке, а "после загрузки".
38 Cyberhawk
 
15.06.18
11:59
Хз кому ты и что пишешь
39 Wirtuozzz
 
15.06.18
12:00
(38) а зачем тогда советовать? )))
40 Cyberhawk
 
15.06.18
12:02
Так в том-то и дело - Я ж ничего у тебя не спрашивал, а ты не пойми на какой вопрос отвечаешь
41 Wirtuozzz
 
15.06.18
12:11
Трешак какой-то. В файл параметр передается, но не читается при попытке его прочитать после загрузки.
42 Wirtuozzz
 
15.06.18
12:14
не треш, надо в отпуск. Точку не поставил когда написал. ОбъектКомментарий, он в переменную коммент зафигачил
43 Wirtuozzz
 
15.06.18
12:16
Все работает, я треш сегодня
44 Wirtuozzz
 
15.06.18
13:46
Блин, только со строкой работает.
При попытке обратиться к параметру пишет,

Значение не является значением объектного типа (Получить)

Посмотрел тип ПараметрыОбъекта = Неопределено.
45 Wirtuozzz
 
15.06.18
13:50
Значение = ВходящиеДанные.ПодразделениеОрганизации;

Если ИсходящиеДанные = Неопределено Тогда
    ИсходящиеДанные = Новый Структура;
КонецЕсли;

Если Не ИсходящиеДанные.Свойство("Организация") Тогда
    ИсходящиеДанные.Вставить("Организация", ВходящиеДанные.Организация);
КонецЕсли;

ИмяПКО = "ПодразделенияОрганизаций";

ВыгрузитьОбъект = Истина;


Это я написал перед выгрузкой ПКС
46 Wirtuozzz
 
15.06.18
14:13
Вызов процедуры ПередатьОдинПараметрВПриемник("ПодразделениеОрганизации", Значение, ИмяПКО); перед выгрузкой свойства ситуацию не исправила
47 Cyberhawk
 
15.06.18
14:18
Что-то ты мудришь. Зачем тебе прикладной код, когда передача в параметр работает "из коробки"?
48 Wirtuozzz
 
15.06.18
14:27
Мудрю, ой мудрю. Подразделение опять не грузится, только теперь оно не грузится в одном документе. Решил его через параметр выгрузить (((
49 Cyberhawk
 
15.06.18
14:32
Если оно у тебя как ПКС, где приемник - реквизит приемника, не грузится, то с чего бы ему корректно передаваться в ПКС, где приемник - это параметр? Ведь конвертация свойства источника будет по тому же самому ПКО и по тем же правилам. Ты для этого в обработчик ПКС дописываешь какой-то свой вроде бы ненужный код?
50 Wirtuozzz
 
15.06.18
14:38
(49) оно грузится, я в отладчике вижу что оно грузится, но потом оно не подставляется в документ (
51 Cyberhawk
 
15.06.18
14:41
Когда это "потом"? На входе в "После загрузки" и на выходе нужное тебе (присутствующее в файле выгрузки) подразделение садится в реквизит объекта?
52 Wirtuozzz
 
15.06.18
14:51
(51) на входе в "После загрузки" реквизиты не заполнены.
53 Wirtuozzz
 
15.06.18
14:57
причем находится значение мне нужное, т.е. он выгружает нужные мне данные, но косячит чето
54 Cyberhawk
 
15.06.18
15:00
(52) Это ты написал для случая, когда твое ПКС с передачей значения в параметр объекта или с передачей значения в свойство приемника? Надеюсь ты понял о чем Я
55 Wirtuozzz
 
15.06.18
15:02
(54) Нет, в (52) я написал, предварительно убрав костыль и оставив только выгрузку свойства подразделения и указав в ПКС ИмяПКО по которому будет идти выгрузка подразделения.
56 Wirtuozzz
 
15.06.18
15:02
сейчас планирую удалить из базы документ и посмотреть как он прогрузится
57 Wirtuozzz
 
15.06.18
15:06
блин, кеш что ли
58 Cyberhawk
 
15.06.18
15:08
Надеюсь, ты в курсе, что обмен "через типовой интерфейс Синхронизация данных" в БСП, начиная с какой-то версии (уже много лет назад) для загрузки не использует правила конвертации, что в файле выгрузки присутствуют, а использует правила конвертации, хранящиеся в базе-приемнике?
59 Wirtuozzz
 
15.06.18
15:09
(58) Да, когда я меняю правила конвертация в УТ, я каждый раз обновляю правила обмена коррекспондента для БП и загружаю их как внешние в синхронизацию.
60 Cyberhawk
 
15.06.18
15:09
Так что ты бы проверил сначала на каком-нибудь простом реквизите (в комментарий, например, допиши чего-нибудь хардкодом), что на стороне приемника твои изменения в правилах используются
61 Cyberhawk
 
15.06.18
15:10
А, не ну ок ок, мне просто отсюда не видно, а знание это для некоторых откоровением становится
62 Wirtuozzz
 
15.06.18
15:12
(60) Я писал, устанавливается. Я в курсе про то что изменив правила обмена в базе источнике надо привести в соответствие Правила обмена корреспондента.
63 Wirtuozzz
 
15.06.18
15:14
Удалил документ, сейчас буду смотреть как он загрузится по новой
64 Wirtuozzz
 
15.06.18
15:20
Пофиг, он все равно загрузился без пдоразделения
65 Cyberhawk
 
15.06.18
15:21
Почему в отладке еще не посмотрел, как там оно заполняется?
66 Cyberhawk
 
15.06.18
15:21
Ну и скинь файл правил мне
67 Wirtuozzz
 
15.06.18
15:22
(66) Погоди ) Сейчас самое приятное.

// Читаем и устанавливаем значение свойства.
            ТипСвойства = ТипСвойстваПоДополнительнымДанным(ИнформацияОТипах, Имя);
            Значение    = ПрочитатьСвойство(ТипСвойства,,, ИмяПКО);
            

ТипСвойства для подразделения - булево. Соответственно присвоить значение он хотит истину в Объект.Подразделение
68 Wirtuozzz
 
15.06.18
15:33
Сделал.
Как оказалось, все было проще чем просто
69 Wirtuozzz
 
15.06.18
15:35
При выборе правила ПКО в ПКС, я своими клешнями, да да именно клешнями написал имя правила ПКО, но в КД правил ПКО с таким наименованием было несколько и встало не то правило обмена, которое данной конвертации не принадлежит. Вот такая вот грустная история как не надо делать. надо кликать мышкой больше когда делаете правила в КД 2.1 .

Cyberhawk, еще раз большой вам респект за предложенную помощь.
70 Cyberhawk
 
15.06.18
15:36
Не нужно вообще указывать ПКО в ПКС, если только оно не одно для пары "тип источника - тип приемника"
71 Cyberhawk
 
15.06.18
15:36
КД сама прекрасно подхватывает нужное ПКО по типу источника и приемника. ЕМНИП, с максимальным значением реквизита "Порядок"
72 Wirtuozzz
 
15.06.18
15:39
(71) А что такое ЕМНИП?
73 Wirtuozzz
 
15.06.18
15:40
(71) Кстати, да, она берет всегда правила с максимальным значением порядок, а почему? Почему именно максимальным? Типа они последние были созданы?
74 Cyberhawk
 
15.06.18
15:40
75 Cyberhawk
 
15.06.18
15:41
(73) Ну так сделали разработчики конфы. Хз, но это и не особо ведь важно, ибо выбирать было особо не из чего - или минимальное, или максимальное, или первое попавшееся.
76 Wirtuozzz
 
15.06.18
15:51
(75) Да пофиг, блин мозг сломал себе, набил хорошую шишку, теперь буду знать, я стал еще круче, и еще раз спасибо!
Независимо от того, куда вы едете — это в гору и против ветра!