подскажите как выгрузить большой объём данных постранично в json . В каждую страницу по 10 000. как через page передавать типо первая страница 10 000. вторая начиная с 10 001 по 20 000 и т.д
ПараметрыИзЗапроса = Новый Структура;
ПараметрыИзЗапроса.Вставить("token", Запрос["ПараметрыURL"].Получить("token"));
//ПараметрыИзЗапроса.Вставить("page", Запрос["ПараметрыURL"].Получить("page"));Если ПараметрыИзЗапроса.token = "fxGXX13iRkE5y0f0NvQAz9mjrAFtF4sRT9QRqZXhifgypLGAF"тогда////Прайс //////////////////////////////////
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| dbo_Table_1.Артикул КАК Артикул,
| dbo_Table_1.Производитель КАК Производитель,
| dbo_Table_1.Наименование КАК Наименование,
| dbo_Table_1.Валюта КАК Валюта,
| dbo_Table_1.Поставщик КАК Поставщик,
| dbo_Table_1.Цена КАК Цена,
| dbo_Table_1.Наличие
|ИЗ
| ВнешнийИсточникДанных.Price.Таблица.dbo_Table_1 КАК dbo_Table_1
|
|СГРУППИРОВАТЬ ПО
| dbo_Table_1.Артикул,
| dbo_Table_1.Цена,
| dbo_Table_1.Наименование,
| dbo_Table_1.Производитель,
| dbo_Table_1.Наличие,
| dbo_Table_1.Валюта,
| dbo_Table_1.Поставщик";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
МассивУслуг = Новый Массив;
Пока Выборка.Следующий() Цикл
МассивУслуг.Добавить(Новый Структура("Артикул, Производитель, Цена, Наименование, Наличие", Выборка.Артикул, Выборка.Производитель , Выборка.Цена, Выборка.Наименование, Выборка.Наличие));
КонецЦикла;
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, МассивУслуг);
СтрокаДляОтвета = ЗаписьJSON.Закрыть();
Ответ = Новый HTTPСервисОтвет(200);
Ответ.Заголовки.Вставить("Content-type", "application/json; charset=utf-8");
Ответ.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
Vofka @ 12.02.24, 13:54
, забыл упомянуть что лежит на sql. то есть АВТОНОМЕРЗАПИСИ() не работает через внешние источники. как быть? внутри да всё ок работает как вы подсказали.
Vofka @ Сегодня, 15:05
, делать Автоинкремент и пробывать запросами через саму sql делать? ну уже тоже так решил, ибо через 1С я так понял это ника как не решить
burza @ Сегодня, 18:55
, что-то такое SELECT * FROM dbo.Table_1 ORDER BY Id OFFSET 1 ROWS FETCH NEXT 10 ROWS ONLY
как запросом через 1С получить данные и разобрать?)
У нас здесь своя атмосфера...
Группа: Основатель
Сообщений: 14052
Из: Киев
Спасибо сказали: 4613 раз
Рейтинг: 3750.1
Цитата(burza @ 20.02.24, 10:46)
сейчас пробну
Я сейчас подумал, что это не сработает именно так как вам надо, если в Id есть пробелы. Т.е. если ИД идут 1, 2, 3, 800, 801, 900 и т.п. Надо выбирать первые ххх без условия ГДЕ с сортировкой по ИД. В таком случае, если вам надо вернуть, например, вторую тысячу записей, то делаем так:
|ВЫБРАТЬ ПЕРВЫЕ 2000|...|УПОРЯДОЧИТЬ ПО| Ид
Потом открываете выборку и на уровне обхода выборки пропускаете 1000 записей и начинаете брать с 1001.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!