Имя: Пароль:
1C
 
отбор по группе справочника
0 Nemirov
 
13.05.20
16:19
Здравствуйте! Ну подскажите как сделать в данном запросе отбор по ГРУППЕ из справочника контрагенты(код группы :("1-00008665")), то есть записывать в файл только контрагентов входящих в данную группу.

    ИмяФайлаКодов = "Code.DBF";
    ПолноеИмяФайлаКодов = КаталогВременныхФайлов() + ИмяФайлаКодов;
    
    XBase = Новый XBase;
    XBase.Кодировка = КодировкаXBase.OEM;
    XBase.Поля.Добавить("KONTR","S",150,);
    XBase.Поля.Добавить("SUPPNOM","S",150,);
    XBase.Поля.Добавить("NOMENKL","S",150,);
    XBase.Поля.Добавить("CHAR","S",15,);
    XBase.Поля.Добавить("AUTHOR","S",150);
    XBase.Поля.Добавить("KOD","S",15);
    XBase.СоздатьФайл(ПолноеИмяФайлаКодов);
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    КодыПоставщика.Контрагент КАК Контрагент,
    |    КодыПоставщика.НоменклатураПоставщика КАК НоменклатураПоставщика,
    |    КодыПоставщика.Номенклатура КАК Номенклатура,
    |    КодыПоставщика.КодПоставщика КАК КодПоставщика,
    |    КодыПоставщика.Характеристика КАК Характеристика,
    |    КодыПоставщика.АвторПривязки КАК АвторПривязки
    |ИЗ
    |    РегистрСведений.КодыПоставщика КАК КодыПоставщика
    |ГДЕ
    |    КодыПоставщика.Контрагент В ИЕРАРХИИ(&Холдинг)";
    Результат = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи= Результат.Выбрать();
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        
        XBase.Добавить();
        XBase.KONTR =   ВыборкаДетальныеЗаписи.Контрагент;
        XBase.SUPPNOM      =  ВыборкаДетальныеЗаписи.НоменклатураПоставщика;
        XBase.NOMENKL =  ВыборкаДетальныеЗаписи.Номенклатура;
        XBase.CHAR      =  ВыборкаДетальныеЗаписи.Характеристика;
        XBase.AUTHOR       =  ВыборкаДетальныеЗаписи.АвторПривязки;
        XBase.KOD          =  ВыборкаДетальныеЗаписи.КодПоставщика;
        XBase.Записать();
        КонецЦикла;    
    
    XBase.ЗакрытьФайл();
    
    обФТП = Обработки.ftp.Создать();
    обФТП.Конструктор(Константы.FTPКодыПоставщикаАдрес.Получить(),Константы.FTPКодыПоставщикаПорт.Получить(),Константы.FTPКодыПоставщикаЛогин.Получить(),Константы.FTPКодыПоставщикаПароль.Получить());
    обФТП.Записать(ПолноеИмяФайлаКодов, ИмяФайлаКодов);
    обФТП.Деструктор();
1 laeg
 
13.05.20
16:28
Отбор в запросе уже есть "ГДЕ КодыПоставщика.Контрагент В ИЕРАРХИИ(&Холдинг)"
только нету установки параметра: Запрос.УстановитьПараметр("Холдинг", Справочники.Контрагенты.НайтиПоКоду("1-00008665"))
2 Nemirov
 
13.05.20
16:31
(1) та это пробовал, не мог понять проблему, потом вспомнил что форма управляемая, спасибо.
3 Nemirov
 
13.05.20
16:43
(1) Вообще теперь пустой файл