Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 дек 2025, 03:38

пакетная выгрузка

Автор sali, 10 дек 2025, 10:27

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

sali

где найти информацию, как выгружать данные справочника (с той же номенклатуры) пакетами? там по 50 элементов, по 100 или 200

antoneus

Я обычно в голове ищу.

sali

antoneus, а если в голове нет такой информации?
или максимум предположение как это делается - в отдельный реквизит/переменную задается число (сколько позиций должно быть в одном пакете), ставиться счетчик/цикл, что пока не пройдет выгрузка с [количествопозиций] по [всегопозиций]
выгружать позиции
+ доп переменные для расчета сколько выгрузилось
я так вижу, но не знаю будет ли это правильно? ищу по базам где может быть такое и в принципе если не отлаживать для детального просмотра то так оно и выходит, только там нет дополнительных реквизитов

antoneus

Ну вот, а говоришь нет информации.
Если будет работать - будет правильно.

sali

antoneus, это ведь просто виденье , представление . возможно есть более гуманный метод выгрузки  :D , поэтому задаюсь вопросом , чтоб знать. опыту и голове, в плане информации, это никак не помешает

sali

в какой момент будет правильней подставить этот цикл, в момент когда идет запись в JSON или когда отправляется уже?
Структура_auth.Вставить("general", Данные_general);

ЗаписьJSON = Новый ЗаписьJSON;
ПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, " ", Истина); 
ЗаписьJSON.УстановитьСтроку(ПараметрыJSON);
ЗаписатьJSON(ЗаписьJSON, Структура_auth);
СтрокаJS = ЗаписьJSON.Закрыть(); // Данные Номенклатура
Сообщить("Выгрузка Номенклатуры"); 
    ОтправитьВЭДО(СтрокаJS);
Сообщить("Выгрузка Номенклатуры Завершена");     

Максим75

sali, конечно же при создании джисона. засунули туда сколько надо, отправили, создали новый и снова засовываете. и так пока есть что засовывать.

sali

Я ещё не запускал, но есть сомнения что это будет работать как надо. всё время интересует вопрос как программа отсчитает 100 строк и отправит?
КоличествоПозиций = 100;
КоличествоВыгруженныхПозиций = 0;
ВсегоПозицийНоменклатуры = Данные_goods.Количество();

Для КоличествоВыгруженныхПозиций = КоличествоПозиций по ВсегоПозицийНоменклатуры цикл   
КоличествоВыгруженныхПозиций = КоличествоВыгруженныхПозиций + КоличествоПозиций;

ЗаписьJSON = Новый ЗаписьJSON;
ПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, " ", Истина); 
ЗаписьJSON.УстановитьСтроку(ПараметрыJSON);

ЗаписатьJSON(ЗаписьJSON, Структура_auth);
СтрокаJS = ЗаписьJSON.Закрыть(); // Данные Номенклатура
Сообщить("Выгрузка Номенклатуры");     

    КонецЦикла;


Максим75

sali, заполняете структуру нужным количеством строк. когда отсчитали - структуру в джисон, джисон на отправку кинули. переменную, отслеживающую количество строк обнулили.

sali

так в структуре есть массивы по номенклатуре и по группам номенклатуры.
это все так выглядит
Данные_goods = Новый Массив;
   
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    Запрос.Текст =  "текст запроса"
    РезультатЗапроса = Запрос.Выполнить();
   
    Выборка = РезультатЗапроса.Выбрать();
   
    Пока Выборка.Следующий() Цикл
        Данные_goods_strukt = Новый Структура;

//заполнение полей структуры
    Если ЗначениеЗаполнено(Выборка.ФайлКартинки) Тогда
//картинки заполняются
   
    Данные_goodsGroups = Новый Массив;
           
    Запрос.Текст =
    //запрос на выбор групп номенклатуры

Результат = Запрос.Выполнить();
   
    Выборка = Результат.Выбрать();
   
    Пока Выборка.Следующий() Цикл
        Данные_goodsGroups_strukt = Новый Структура;
//заполняем структуру групп

Данные_general = Новый Структура;
    Данные_general.Вставить("method", "goods");
    Данные_general.Вставить("deviceID", deviceID);
    Данные_general.Вставить("goods", Данные_goods);   
    Данные_general.Вставить("goodsGroups", Данные_goodsGroups);
   
    Структура_auth.Вставить("general", Данные_general);
//и потом json


и здесь я не понимаю как действительно отсчитывать уже готовую структуру, примеры смотрел , шаманят уже с готовыми данными , а не с начало всей истории выгрузки по типу
отгрузить 100 позиций , записать это число потом пропустить их и отгрузить следующие 100 позиций

Теги:

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

Рейтинг@Mail.ru

Поиск