|
Конвертация данных 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) Да пофиг, блин мозг сломал себе, набил хорошую шишку, теперь буду знать, я стал еще круче, и еще раз спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |