Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 сен 2021, 14:20

Ребята, помогите новичку вытянуть в запрос Колонку реквизита формы плз.

Автор Risy, 24 апр 2017, 19:15

0 Пользователей и 1 гость просматривают эту тему.

Risy

Здравствуйте. Ребята помогите плз. Пишу обработку по выгрузке в ДБФ файл расходной накладной и никак не могу понять, как мне вытащить в запрос колонку реквизита.

&НаСервере
Процедура ВыгрузитьДБФНаСервере()
    ДБФ = Новый XBase;
    ДБФ.Кодировка = КодировкаXBase.OEM;
    ДБф.Поля.Добавить("DT1",   3, 8, 0);
    ДБф.Поля.Добавить("ND",   2, 30, 0);
    ДБф.Поля.Добавить("TNV",   1, 10, 0);
    ДБф.Поля.Добавить("NAI",   2, 100, 0);
    ДБф.Поля.Добавить("MP",   2, 16, 0);
    ДБф.Поля.Добавить("ART",   2, 16, 0);
    ДБф.Поля.Добавить("DL",   2, 20, 0);
    ДБф.Поля.Добавить("SORT",   2, 5, 0);
    ДБф.Поля.Добавить("NCW",   2, 50, 0);
    ДБф.Поля.Добавить("ED",   2, 10, 0);
    ДБф.Поля.Добавить("KOL",   1, 12, 3);
    ДБф.Поля.Добавить("CROZ",   1, 12, 2);
    ДБф.Поля.Добавить("PNAC",   1, 5, 2);
    ДБф.Поля.Добавить("CROZ_",   1, 12, 2);
    ДБф.Поля.Добавить("P_NDC",   2, 20, 0);
    ДБф.Поля.Добавить("NDS_S",   1, 12, 2);
    ДБф.Поля.Добавить("SUM",   1, 12, 2);
    ДБф.Поля.Добавить("SUM_P",   1, 12, 2);
    ДБф.Поля.Добавить("EAN_ED",2, 13, 0);
    ДБф.Поля.Добавить("M_NETTO",1, 7, 4);
    ДБф.Поля.Добавить("KOL_MEST",1, 7, 0);
    ДБф.Поля.Добавить("TYPE",   1, 1, 0);

    Путь = "C:\DBF Накладные\1.DBF";
    ДБФ.СоздатьФайл(Путь);
    ДБФ.Записать();
   
    Запрос = Новый Запрос;
    Запрос.Текст =
      "ВЫБРАТЬ
      |   СУММА(РеализацияТоваровУслугТовары.Количество) КАК Количество,
      |   СУММА(РеализацияТоваровУслугТовары.Цена) КАК Цена,
      |   СУММА(РеализацияТоваровУслугТовары.Сумма) КАК Сумма,
      |   РеализацияТоваровУслугТовары.СтавкаНДС,
      |   СУММА(РеализацияТоваровУслугТовары.СуммаНДС) КАК СуммаНДС,
      |   СУММА(РеализацияТоваровУслугТовары.КоличествоМест) КАК КоличествоМест,
      |   РеализацияТоваровУслугТовары.Номенклатура.Наименование,
      |   РеализацияТоваровУслугТовары.Номенклатура.НаименованиеПолное,
      |   РеализацияТоваровУслугТовары.Ссылка.Номер,
      |   РеализацияТоваровУслугТовары.Ссылка.Дата
      |ПОМЕСТИТЬ ДокТч
      |ИЗ
      |   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
      |ГДЕ
      |   РеализацияТоваровУслугТовары.Ссылка = &Ссылка
      |
      |СГРУППИРОВАТЬ ПО
      |   РеализацияТоваровУслугТовары.Номенклатура.Наименование,
      |   РеализацияТоваровУслугТовары.СтавкаНДС,
      |   РеализацияТоваровУслугТовары.Номенклатура.НаименованиеПолное,
      |   РеализацияТоваровУслугТовары.Ссылка.Номер,
      |   РеализацияТоваровУслугТовары.Ссылка.Дата
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   ДокТч.Количество КАК Количество1,
      |   ДокТч.Цена КАК Цена1,
      |   ДокТч.Сумма КАК Сумма1,
      |   ДокТч.СтавкаНДС КАК СтавкаНДС1,
      |   ДокТч.СуммаНДС КАК СуммаНДС1,
      |   ДокТч.КоличествоМест КАК КоличествоМест1,
      |   ДокТч.НоменклатураНаименование КАК Номенклатура1,
      |   ДокТч.НоменклатураНаименованиеПолное КАК Номенклатура2,
      |   Номенклатура.Модель КАК Модель,
      |   Номенклатура.РостРазмер КАК РостРазмер,
      |   Номенклатура.Сорт КАК Сорт,
      |   Номенклатура.Цвет КАК Цвет,
      |   Номенклатура.ШтрихКод КАК ШтрихКод,
      |   Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
      |   Номенклатура.Артикул КАК Артикул,
      |   ДокТч.Номер КАК НомерДок,
      |   ДокТч.Дата КАК ДатаДок,
      |   Номенклатура.КодТНВЭД.Код КАК КодТНВЭД
      |ИЗ
      |   ДокТч КАК ДокТч
      |      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
      |      ПО ДокТч.НоменклатураНаименование = Номенклатура.Наименование";
      
      
      
   Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);   
   РезультатЗапроса = Запрос.Выполнить();
   
   ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
           
      
   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
         ДБФ.Добавить();     
         ДБф.DT1 = ВыборкаДетальныеЗаписи.ДатаДок;
         ДБф.ND =  " " ;
         ДБф.TNV = ВыборкаДетальныеЗаписи.КодТНВЭД;
         ДБФ.NAI = ВыборкаДетальныеЗаписи.Номенклатура2;
         ДБф.MP =  ВыборкаДетальныеЗаписи.Модель;
         ДБф.ART = ВыборкаДетальныеЗаписи.Артикул;
         ДБф.DL =  ВыборкаДетальныеЗаписи.РостРазмер;
         ДБф.SORT = ВыборкаДетальныеЗаписи.Сорт;
         ДБф.NCW = ВыборкаДетальныеЗаписи.Цвет;
         ДБф.ED = ВыборкаДетальныеЗаписи.ЕдиницаИзмерения;
         ДБф.KOL = ВыборкаДетальныеЗаписи.Количество1;
         ДБф.CROZ = " ";
         ДБф.PNAC = " ";
         ДБф.CROZ_= ВыборкаДетальныеЗаписи.Цена1;
         ДБф.P_NDC = ВыборкаДетальныеЗаписи.СтавкаНДС1 ;
         ДБф.NDS_S = ВыборкаДетальныеЗаписи.СуммаНДС1;
         ДБф.SUM = ВыборкаДетальныеЗаписи.Сумма1;      
         //ДБф.SUM_P = СтрокаТаблицы.Всего;
         ДБф.EAN_ED = ВыборкаДетальныеЗаписи.ШтрихКод;
         ДБф.KOL_MEST = ВыборкаДетальныеЗаписи.КоличествоМест1;
         ДБф.TYPE = " ";      
         ДБф.Записать();
      
   КонецЦикла;
   ДБф.ЗакрытьФайл();   
   
КонецПроцедуры

&НаКлиенте
Процедура ВыгрузитьДБФ(Команда)
    ВыгрузитьДБФНаСервере();   
КонецПроцедуры


Можно ли как-нибудь вытянуть обведенную красным кругом колонку реквизита в запрос, или сразу в ДБф.SUM_P =. Или может есть другое решение проблемы? Помогите плз.

Risy

Решил вопрос, тем, что добавил рекизит всего, и удалил колонку реквизита. На коде и на работе ни как не сказалась а выгрузка теперь работает. Но если кто нибудь объяснит как вот такие калонки реквизитов вытягивать в запросы, буду очень благодарен.

alex0402

Цитата: Risy от 24 апр 2017, 20:25Но если кто нибудь объяснит как вот такие калонки реквизитов вытягивать в запросы, буду очень благодарен.

обычно выборку делают из базы, а не из формы...
Спасибо за Сказать спасибо

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск