Имя: Пароль:
1C
1С v8
1С Конвертация 2,1 ПВД Контрагенты только ЮрЛица
0 crisalis
 
17.01.16
11:23
Доброе время суток. Стоит задача перекинуть контрагентов только которые являются Юр.Лицами.Сделал ПКО настроил ПКС и ПКЗ для перечисления в ПВД в обработчике Перед обработкой добавил произвольный алгоритм запрос:  

Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
|    Вложенный.Наименование,
|    Вложенный.Код,
|    Вложенный.ПометкаУдаления,
|    Вложенный.Родитель,
|    Вложенный.ЭтоГруппа,
|    Вложенный.ЮрФизЛицо
|ИЗ
|    (ВЫБРАТЬ
|        Контрагенты.Наименование КАК Наименование,
|        Контрагенты.Код КАК Код,
|        Контрагенты.ПометкаУдаления КАК ПометкаУдаления,
|        Контрагенты.Родитель КАК Родитель,
|        Контрагенты.ЭтоГруппа КАК ЭтоГруппа,
|        Контрагенты.ЮрФизЛицо КАК ЮрФизЛицо
|    ИЗ
|        Справочник.Контрагенты КАК Контрагенты
|    ГДЕ
|        Контрагенты.ЮрФизЛицо = ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.ЮрЛицо)
|        И НЕ Контрагенты.ПометкаУдаления
|    
|    ОБЪЕДИНИТЬ ВСЕ
|    
|    ВЫБРАТЬ
|        Контрагенты.Наименование,
|        Контрагенты.Код,
|        Контрагенты.ПометкаУдаления,
|        Контрагенты.Родитель,
|        Контрагенты.ЭтоГруппа,
|        NULL
|    ИЗ
|        Справочник.Контрагенты КАК Контрагенты
|    ГДЕ
|        Контрагенты.ЭтоГруппа
|        И НЕ Контрагенты.ПометкаУдаления) КАК Вложенный";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДанных = РезультатЗапроса;


Выгружаются только 2 записи хоть в консольке запросов их туча. Что не так делаю, помогите пожалуйста заранее благодарен.
1 strange2007
 
17.01.16
11:40
Да там может быть что угодно. Последовательно и проверяй. Что в выгрузке в ПВД выгружается, что дальше идёт и куда. Т.е. просто глянуть обрезалку.
Если честно, просто лень поднимать свои правила, а так эта проблема решаема минут за несколько последовательным изучением, где теряются данные.
Но я бы без произвольного запроса делал и обрезал бы в ПКО по признаку юрлиц. Кода то меньше (3 строки, при чём третья КонецЕсли;)
2 Абыр
 
17.01.16
12:45
(0) Не проще ли бы в ПКО было проверять на пометку удаления и ЮрФизЛицо у элементов и делать отказ?
3 Popkorm
 
17.01.16
15:16
(2) +1 при выгрузки в ПКО ,пометку и на юрлицо лучше проверять у источника.Или покажи что после выборкизапроса
4 crisalis
 
17.01.16
17:03
(1) (2) (3) Спасибо, я понял пробую...
5 crisalis
 
17.01.16
17:10
(4) А как проверять Источник на перечисление ? Источник.ЮрФизЛицо = Перечисление.ЮрФизЛицо.ЮрЛицо
6 crisalis
 
17.01.16
17:17
(5) Ругается шибка в обработчике события

ПередВыгрузкойОбъекта
    ПКО                    =  Контрагенты  (Справочник: Контрагенты)
    Объект                 =  VLASIGO-TRANS  (Контрагенты)
    Обработчик             =  ПередВыгрузкойОбъекта
    ОписаниеОшибки         =  Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(2,31)}: Переменная не определена (Перечисление)
    ПозицияМодуля          =  ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(9370)
    КодСообщения           =  41
7 crisalis
 
17.01.16
19:23
Решил все запросом в ПВД (перед обработкой ()). Важно !!! В ПКО следует установить признак "Не запоминать выгруженные объекты" и в конце запроса ВыборкаДанных = Запрос.Выполнить().Выбрать();

Спасибо всем, делал все запросом так как соединял и регистр св.КонтактнаяИнформация (вытягивал юр.адрес, телефоны, почтовый) да и мне так легче. Всем здоровичко и успехов !!!
8 MishaD
 
17.01.16
19:54
(6) А если попробовать "Перечисления"
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.