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

скд в тз

Автор sali, 24 окт 2025, 12:43

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

sali

вот, antoneus, врать не буду, с вашим даже кодом путая ТЗ. с измененной  скд, там теперь один набор данных
 Снимок экрана 2025-10-29 125037.png

antoneus

>_<
Да не сюда, а на строчку, где написано ТаблицаДанных. У меня какая строка обведена?

antoneus

Хотя колонок нет. Если схему в отчет запихать - что выведет?

sali

antoneus,
Цитата: antoneus от 29 окт 2025, 09:53Если схему в отчет запихать - что выведет?
типо выведет ли запрос данные? выведет

sali

давайте с самого начала. делается выполнение регламента на основе работы битрикса, но там это план обмена , который в момент создания регламента обращается уже к созданному РЗ , который состоит в списке объектов конфигурации. У меня же все происходит в РС потому что, на 21 версии создать объект регламента я не могу - не позволяет платформа и собственно это уже ограничение в параметрах, в обращениях. Свою занозу в заднице - скд, схемы с запросами, решил делать по отдельности , а не целым запросом . К примеру ,
если параметры.выгружатьтовары = истина тогда
    КомпоновщикНастроек = ПолучитьНоменклатуру(ХранилищеНастроекВыгрузкиТоваров);
// процедура должна объединить отбор и скд запрос + запихнуть в таблицу. чтобы массив из строк таблицы выбранных данных отправить дальше в другой модуль для выгрузки
конецесли;
это фигня работает так СхемаКомпоновкиДанных = РегистрыСведений.ЭДОН_ПараметрыРегламентныхЗаданий.ПолучитьМакет("ШаблонОтбораНоменклатура");

    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
   
    НастройкиКомпоновщикаИзНастройкиОбмена = Неопределено;
    Если ЗначениеЗаполнено(НастройкиОтбораТоваров) Тогда
        НастройкиКомпоновщикаИзНастройкиОбмена = НастройкиОтбораТоваров.НастройкиКомпоновкиДанныхТоваров;
    КонецЕсли;
   
    Если ЗначениеЗаполнено(НастройкиКомпоновщикаИзНастройкиОбмена) Тогда
        КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиКомпоновщикаИзНастройкиОбмена);
        КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.ПроверятьДоступность);
    Иначе
        КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
    КонецЕсли;
Снимок экрана 2025-10-29 135033.png
 
а так нет
СхемаКомпоновкиДанных = Обработки.ЭДОН_РабочееМесто.ПолучитьМакет("ШаблонОтбораНоменклатура");
    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
    УстановитьЗначениеПараметраСКД(КомпоновщикНастроек, "Организация", Справочники["Организации"].ОрганизацияПоУмолчанию());
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
     МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(),,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
   
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
   
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
    ТаблицаРезультат = Новый ТаблицаЗначений;
    ПроцессорВывода.УстановитьОбъект(ТаблицаРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

    Возврат ТаблицаРезультат;
Снимок экрана 2025-10-29 125037.png

sali

получилось у меня с таблицей, правда не все колонки там почему то
а собственно что дальше и как получить сами данные?

    Запрос = ПолучитьЗапросДляВыгрузкиДанных(ПараметрыОбмена, Операция, ПараметрыОбмена.СтруктураСхемКомпоновки.Контрагенты, ПараметрыОбмена.НастройкиКомпоновкиДанныхКонтрагентов);
        ТаблицаОбъектовОбменаВыгрузки = запрос.Выполнить().Выгрузить();


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

   
    Запрос = Новый Запрос;
   
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных();
   
    Если  Операция = "ОбщаяИнформация" тогда
        //МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаВыгрузки, КомпоновщикНастроек.ПолучитьНастройки(),,,Тип("ГенераторМакетаКомпоновкиДанных"));
        МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаВыгрузки, ПолучитьОтборыОбщейИнформацииДляФормированияПакетаДанных(КомпоновщикНастроек.ПолучитьНастройки()),,,Тип("ГенераторМакетаКомпоновкиДанных"));
    Иначе
        МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаВыгрузки, КомпоновщикНастроек.ПолучитьНастройки(),,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
    КонецЕсли;
   
    Запрос.Текст = МакетКомпоновкиДанных.НаборыДанных.ОсновнойНаборДанных.Запрос;
   
    Для каждого Параметр Из МакетКомпоновкиДанных.ЗначенияПараметров Цикл
        Запрос.Параметры.Вставить(Параметр.Имя, Параметр.Значение);
    КонецЦикла;
   
    Возврат Запрос;
   
КонецФункции

 
Снимок экрана 2025-11-04 155222.png

antoneus

Какие данные-то?

sali

antoneus, живые . ну там пупкин, федоров
делаю все по аналогии битрикса в итоге пусто
Снимок экрана 2025-11-05 113254.pngСнимок экрана 2025-11-05 113306.png 

Теги:

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

Рейтинг@Mail.ru

Поиск