Вход | Регистрация



Конвертация данных 2.1. Поиск значения по полям

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

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

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

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

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

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

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

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

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


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

// Читаем и устанавливаем значение свойства.

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

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

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


Список тем форума
Рекламное место пустует  Рекламное место пустует
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует