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

Конвертация данных УТ 10.3 и БП 2.0 Синхронизация номенклатуры

Конвертация данных УТ 10.3 и БП 2.0 Синхронизация номенклатуры
Я
   Артур Хвостов
 
11.01.19 - 13:46
Добрый день.

Нужна ваша помощь в конвертации данных.
Ут 10.3.8.3 - старая, переписанная и БП 2.0.66.59 (практически типовая)
Задача простая... переносить документ и справочники.
Затык в номенклатурой...
В ут есть реквизит, "КодБухгалтерииНМД" - это код номенклатуры в БП и он заполнен в ут не для всей номенклатуры, т. е. при загрузке если "КодБухгалтерииНМД" заполнен нужно искать номенклатуру  по "КодБухгалтерииНМД", если нет по остальным (допустим наименование, ЭтоГруппа, Родитель). Код не выгружается из Торговли, он генерируется в БП свой.

Я много разных вариантов использовал... При перегрузке документов система упорно подставляет мне номенклатуру, которая прилетела из базу Ут, а та которая была в БП НЕ ПОДСТАВЛЯЕТ....
 
 
   Артур Хвостов
 
1 - 11.01.19 - 13:51
Заранее всем спасибо, кто поможет...
   13_Mult
 
2 - 11.01.19 - 14:00
"Задача простая... " ну так сделай сам )
   K1RSAN
 
3 - 11.01.19 - 14:01
Ну тут можно сделать так. В ПКО номенклатуры сделать ПКС между кодомНМД и кодом в БК. Если в УТ не заполнено значение - генерировать код при загрузке в БП.

Другой вопрос, а стоит ли? Неужели эта номенклатура в УТ и БП настолько отличается между собой, что только по этому полю их можно соотнести? Я видел немного другую схему, только для документов. Там в УТ генерировался номер документа и с ним выгружался в БП. Но я бы попробовал сначала соотнести номенклатуру по какому-нибудь полю, по артикулу или еще чему?
   Артур Хвостов
 
4 - 11.01.19 - 14:02
(2) Если не чего не говори... мне реально нужна помощь... а не твой тут выебон...
   Ёпрст
 
5 - 11.01.19 - 14:07
(0)
поставь галку в свойствах ПКО  - "продолжить по полям поиска бла бла бла..."
В Поля Поиска напиши

Если НомерВариантаПоиска = 1 тогда
   СтрокаИменСвойствПоиска = "КодБухгалтерииНМД,ЭтоГруппа";  
   Иначе
     СтрокаИменСвойствПоиска = "Код, ЭтоГруппа,Родитель"//ну или какие ты там реквизиты воткнул с галкой поиск

КонецЕсли

   Артур Хвостов
 
6 - 11.01.19 - 14:07
(3) я передаю его в параметр
https://cloud.mail.ru/public/Ga6y/WDzjYgJGV
   azt-yur
 
7 - 11.01.19 - 14:11
(6) Передавай не в параметр, а в Код и сделай как в (5)
   Артур Хвостов
 
8 - 11.01.19 - 14:11
(5) Если ПараметрыОбъекта <> Неопределено тогда
    Если ЗначениеЗаполнено(ПараметрыОбъекта["КодБухгалтерииНМД"]) тогда 
                СсылкаНаОбъект = Справочники.Номенклатура.НайтиПоКоду(ПараметрыОбъекта["КодБухгалтерииНМД"]);

        
Иначе
    Если НастройкаПоиска = "КодЭтоГруппа" Тогда
        СтрокаИменСвойствПоиска = "Код, ЭтоГруппа";
    ИначеЕсли НастройкаПоиска = "НаименованиеЭтоГруппа" Тогда
        СтрокаИменСвойствПоиска = "Наименование, ЭтоГруппа";
    Иначе
        СтрокаИменСвойствПоиска = "Наименование, Родитель, ЭтоГруппа";
    КонецЕсли;
КонецЕсли;


Но это НЕ РАБОТАЕТ...
   Артур Хвостов
 
9 - 11.01.19 - 14:12
(8) Это я писал в "поля поиска" в Номенклатуре
   Артур Хвостов
 
10 - 11.01.19 - 14:14
(7) КодБухгалтерииНМД это реквизит в торговле , его нет в БП
 
 Рекламное место пустует
   Ёпрст
 
11 - 11.01.19 - 14:27
(10)
ну тогда так:
в ПКС "Код"  пиши в Перед Выгрузкой
Если ЗначениеЗаполнено(Источник.КодБухгалтерииНМД) Тогда
  Значение = Источник.КодБухгалтерииНМД;
КонецЕсли;

в Поля Поиска так:
Если НомерВариантаПоиска = 1 тогда
   СтрокаИменСвойствПоиска = "Код,ЭтоГруппа,Родитель";  
   Иначе
     СтрокаИменСвойствПоиска = "ЭтоГруппа,Родитель,Наименование ..."//ну или какие ты там реквизиты воткнул с галкой поиск


КонецЕсли
   13_Mult
 
12 - 11.01.19 - 14:28
(8) Скрин ПКС покажи.
   Артур Хвостов
 
13 - 11.01.19 - 14:31
   Ёпрст
 
14 - 11.01.19 - 14:35
(13) поставь галку поиска на Код, дальше как в (11) усё
   13_Mult
 
15 - 11.01.19 - 14:38
У тебя в соответствии КодБухгалтерииНМД нет галки Поиск и добавь его в первый вариант поиска.
Всё условия в ПКО ПоляПоиска нужна галка в ПКС.
Или см (14)
   Артур Хвостов
 
16 - 11.01.19 - 14:45
   13_Mult
 
17 - 11.01.19 - 14:45
(15) + см (7)
   13_Mult
 
18 - 11.01.19 - 14:47
(16) Типа того.
   Артур Хвостов
 
19 - 11.01.19 - 14:49
(17) а вот на счет этого не понял... Я правильно понимаю что (16) = (15)+см (7)?
   Ёпрст
 
20 - 11.01.19 - 14:49
(16) можешь и так слепить
   13_Mult
 
21 - 11.01.19 - 14:51
(19) да
   Артур Хвостов
 
22 - 11.01.19 - 14:51
(21) Спасибо.
   13_Mult
 
23 - 11.01.19 - 14:52
(19) Ещё проверь Натройки у ПКО стоит ли галка Продолжить поиск по полям...бла бла бла
   13_Mult
 
24 - 11.01.19 - 14:54
(23) + Галка Авто генерации номера если не задан
   Артур Хвостов
 
25 - 11.01.19 - 14:56
Еще вопрос по переносу Номенклатуры...
У меня в торговле 38942 позиций товара... в БП 14453.
При первой выгрузке - загрузке:
выгружено 38942, загружено: 38942.
А запросом в БП делаю выборку там не 14453+38942, примерно на 100 позиций меньше... Это у меня получается происходит сопоставление? КАк мне добиться что было 14453+38942 в БП...
   Артур Хвостов
 
26 - 11.01.19 - 14:56
(24) Это сделано
   Ёпрст
 
27 - 11.01.19 - 15:23
(25) у тебя идет в начале поиск по внутреннему идентификатору, если не найден  - по полям поиска. Возможно, что-то нашлось по внутреннему гуиду номенклатуры (или вы ее раньше грузили).
   Артур Хвостов
 
28 - 11.01.19 - 22:21
(14) Проверил.... не получается... система упорно подставляет номенклатуру, которая прилетела из Ут...
   hhhh
 
29 - 11.01.19 - 22:24
(28) ну сними галку "поиск по внутреннему идентификатору"
   Артур Хвостов
 
30 - 11.01.19 - 22:47
(29) Это я сделал самым первым и все равно подсталяется не та номенклатура...
https://cloud.mail.ru/public/CgBV/Ccj9nJCP9
   Артур Хвостов
 
31 - 11.01.19 - 22:52
(29) При загрузке документа, когда доходит очередь до номенклатуры, он даже в обработчик поля поиска игнорирует... не понимаю почему...
обработчик поля поиска
Если НомерВариантаПоиска = 1 тогда
    //СтрокаИменСвойствПоиска = "Код";

    Сообщить("Номер варинта" + НомерВариантаПоиска);
    СсылкаНаОбъект = Справочники.Номенклатура.НайтиПоКоду(СвойстваПоиска["Код"]);
    Сообщить(СсылкаНаОбъект.Наименование);
Иначе
    Сообщить("Иначе номер варинтра" + НомерВариантаПоиска);
    СтрокаИменСвойствПоиска = "Наименование, Родитель, ЭтоГруппа";
КонецЕсли;
   Артур Хвостов
 
32 - 11.01.19 - 23:32
вроде разобрался...
Нужно просто было поставить в ПКО Номенклатура вкладка "Настройка" секция "Выгрузка данных" галочку "не запоминать выгруженные объекты" и вроде все работает... буду тестировать...


Список тем форума
Рекламное место пустует  Рекламное место пустует
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует