8.х не знаю как проверить есть ли такой товар

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем bannov, 24 июн 2010.

  1. TopicStarter Overlay
    bannov
    Offline

    bannov Опытный в 1С

    Регистрация:
    17 дек 2008
    Сообщения:
    185
    Симпатии:
    0
    Баллы:
    26
    1С 8 УПП

    Пишу обработку, которая будет выгружать номенклатуры из 1С: Аптека, в УПП, но только те которые использовались в Аптеке, если в УПП нет такой номенклатуры, то она создается, если есть, то пропускает. Проблемма в том, что не могу додумать как написать что бы проверялось по идентификатору, по наименованию, по коду, есть такая номенклатура или нет?


    Код:
    ЗапросА=м_Соединение.NewObject("Запрос");
    ТекстЗапроса="ВЫБРАТЬ РАЗЛИЧНЫЕ
    |  ОстаткиТоваровКомпанииОбороты.Номенклатура КАК Номенклатура
    |ИЗ
    |  РегистрНакопления.ОстаткиТоваровКомпании.Обороты(&ДатаНач, &ДатаКон, Период, ) КАК ОстаткиТоваровКомпанииОбороты";
    ЗапросА.Текст=ТекстЗапроса;
    ЗапросА.УстановитьПараметр("ДатаНач", ДатаНач);
    ЗапросА.УстановитьПараметр("ДатаКон", КонецДня(ДатаКон));
    РезультатА=ЗапросА.Выполнить();
    Если РезультатА.Пустой() Тогда
    Возврат;
    КонецЕсли;
    ВыборкаА=РезультатА.Выбрать();
    Пока ВыборкаА.Следующий() Цикл
    НоменклатураА=ВыборкаА.Номенклатура;
    ObjectUA=м_Соединение.String(НоменклатураА.УникальныйИдентификатор());
    
    НоваяНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
    НоваяНоменклатура.Код = НоменклатураА.Код;
    НоваяНоменклатура.Наименование = НоменклатураА.Наименование;
    НоваяНоменклатура.Родитель = Родитель;
    НоваяНоменклатура.НоменклатурнаяГруппа = НоменклатурнаяГруппа;
    НоваяНоменклатура.БазоваяЕдиницаИзмерения = ед;
    НоваяНоменклатура.ВидНоменклатуры = видНом;
    НоваяНоменклатура.Записать();
    Прервать; //ОТЛАДКА
    КонецЦикла;
    
    
    
    
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    в данном случае синхронизацию можно сделать по наименованию.
    Будет что-то вроде:

    Код:
    СуществующаяНоменклатура = Справочники.Номенклатура.НайтиПоНаименованию(ВыборкаА.Номенклатура, Истина)
    Если НЕ ЗначениеЗаполнено(СуществующаяНоменклатура) Тогда
    НоваяНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
    .............
    КонецЕсли;
    

Поделиться этой страницей