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



Конвертация данных УТ 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
вроде разобрался...
Нужно просто было поставить в ПКО Номенклатура вкладка "Настройка" секция "Выгрузка данных" галочку "не запоминать выгруженные объекты" и вроде все работает... буду тестировать...


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