Приветствую!
Вопрос вот какой. Сделал правила обмена, сделал правило выгрузки данных по произвольному алгоритму, там запрос - а как в него передать параметры - мне надо дату передать, чтобы она подхватилась из обработки Универсальный обмен данными в формате XML.

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | РеализацияТоваровУслугТовары.Номенклатура.Ссылка КАК Ссылка,
    | РеализацияТоваровУслугТовары.Номенклатура.Артикул КАК Артикул,
    | РеализацияТоваровУслугТовары.Номенклатура.ФирмаИзготовитель КАК ФирмаИзготовитель,
    | РеализацияТоваровУслугТовары.Номенклатура.СтавкаНДС КАК СтавкаНДС,
    | РеализацияТоваровУслугТовары.Номенклатура.Родитель КАК Родитель,
    | РеализацияТоваровУслугТовары.Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
    | РеализацияТоваровУслугТовары.Номенклатура.Наименование КАК Наименование
    |ИЗ
    | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    | ГДЕ
    РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания";

    ВыборкаДанных = Запрос.Выполнить().Выгрузить();
```
---
http://prntscr.com/ht7h3p

http://prntscr.com/ht7hce

Изменение: В 1 скриншоте ошибся с обводкой галки. Нужно поставить Диалог (Соседняя)
---
не в фирмах дело было, а в ПВД
выборка многократно дублирующейся номенклатуры со всеми родителями.... + не запоминает выгруженные/загруженные - вот и падала обработка с нехваткой памяти. Да и еще смотрю в правилах оставил параметры = удали их. ни одного параметра тебе не нужно.
P.S. не за что =)
---
Если разовая, то напиши дату вручную, если не разовая, то в кд добавляешь общие параметры, а в обработке их потом указываешь.
---
Это где добавить можно?
---
http://prntscr.com/ht7h3p

http://prntscr.com/ht7hce

Изменение: В 1 скриншоте ошибся с обводкой галки. Нужно поставить Диалог (Соседняя)
---
Спасибо, помогло :)
---
Вдогонку вопрос. Гружу порциями данные - примерно по 300 тысяч. Через какое-то время падает c ошибкой

Ошибка выполнения запроса
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Недостаточно свободной памяти на сервере 1С:Предприятия.

На жестком свободно 200 ГБ, оперативная память тоже не занята - 2 ГБ свободно из 8
Платформа 8.3.11.2899. Не сталкивались с таким делом?
---
а сгруппировать в запросе номенклатуру не пробовали?
у вас же все ТЧ всех реализаций уходят в выгрузку, а если еще и в правилах эта номенклатура выгружается разными ПКО, тогда выгруженные не запоминаются, и объем файла который должен получится на выходе - трудно себе представить.
---
Для номенклатуры только одно ПКО. Файлы получаются большими. Подскажите, как оптимизировать?
---
1) сгруппировать в запросе номенклатуру.
2) вместо ВыборкаДанных = Запрос.Выполнить().Выгрузить(); лучше ВыборкаДанных = Запрос.Выполнить(); ибо нафига всю ТЗ тащить сразу в оперативную память
---
С выгрузкой проблем нет - с загрузкой есть
---
Полагаю сервер 1с 32х ?
---
64
---
если проблемы с загрузкой = значит цикличные ссылки в правилах. выкладывай правила, наугад не узнать.
P.S. то , что на твоем компе нет проблем с выгрузкой не означает что они не могут возникнуть на компе клиента например.
я б оптимизировал выгрузку, такую точно клиенту бы не отдал.
---
Вот правила
---
ПКО номенклатура - стоит галка "не запоминать выгруженные", сними её, и не ставь больше если нет необходимости, крайне редко она нужна.
если перегоняешь в пустую базу - тогда норм, синхронизация по УИД подходит, а если в существующую, тогда спорный момент.
---
Важно:
Если для выборки данных ПВД используется произвольный алгоритм и в обработчике ПВД "Перед обработкой" инициируется параметр ВыборкаДанных, то для ПКО следует установить признак "Не запоминать выгруженные объекты".
---
Он выгрузил всего 4 объекта
---
ВыборкаДанных = Запрос.Выполнить().Выгрузить();
Замените на ВыборкаДанных = Запрос.Выполнить().Выбрать();

Вообще криминального ничего нет, кроме обработки иерархии справочника.

Можно попробовать КлючВыгружаемыхДанных заполнять.
Все же думаю стоит попробовать поменять платформу. Нечто похожее встречал при синхронизации ЗГУ. вылечилось сменой платформы на 2299
---
Что значит кроме обработки иерархии справочника?
---
Обычно делают или отдельное правило на выгрузку Групп номенклатуры или в событии Поля поиска пишут что-то типа

```1c
    Если СвойстваПоиска["ЭтоГруппа"] = Истина тогда

    СтрокаИменСвойствПоиска = "ЭтоГРУППА, Наименование, Родитель";

    Иначе
    СтрокаИменСвойствПоиска = "АРТИКУЛ, Наименование, ФирмаИзготовитель и что там у вас еще было";

    КонецЕсли;
```
---
Платформу не могу поменять - у меня там объект добавлены в расширения.
---
Если х64 и места навалом, посмотрите настройки сервера 1с. Может существует лимит на выделение памяти процессу.
Если он не стоит, тогда танцы с бубном (после того как попробуете Выгрузить() заменить на Выбрать())
---
Ограничений нет
---
Смотрели сколько всего элементов номенклатуры у вас? И не увидел в правилах "порции 300 000". Это полные правила?
---
Да, полные. Всего надо загрузить 349000 наименваний
---
Ну могу посоветовать попробовать загрузить в файловую базу.
---
Как вариант
---
А где порции проставить?
---
Вдогонку вопрос. Гружу порциями данные - примерно по 300 тысяч. Через какое-то время падает c ошибкой . Вот и я хотел узнать как вы это делаете
---
Ну я их вытаскиваю по годам. У меня не получилось вытащить сразу. Падала при загрузке.
---
Более предложить не могу. (23) (34). Остались танцы или длительные разборы падений
---
Ладно, спасибо за помощь. Буду смотреть, что к чему.
---
Я выгружаю все на серваке, а на своем компьютере развернул новую базу. Из УТ 10 в 11 перегоняю
---
(5)
Зачем вам параметры то???

```1c
    Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
    Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
```

и всё. датаначала и датаокончания - реквизиты обработки "универсальный обмен данными в формате XML" и доступны из контекста модуля обработки непосредственно.
---
А на сервере есть свободное место? Сервер и ваш ПК это одна машина?
---
Да, все крутится на моем ПК. Номенклатуру выгружаю через ВЫБРАТЬ РАЗЛИЧНЫЕ
---
Места навалом. 200 гб свободного и 2 гб оперативки
---
ПВД:

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | РеализацияТоваровУслугТовары.Номенклатура.Ссылка КАК Ссылка
    |ПОМЕСТИТЬ СписокТоваров
    |ИЗ
    | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    |ГДЕ
    | РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
    |
    |СГРУППИРОВАТЬ ПО
    | РеализацияТоваровУслугТовары.Номенклатура.Ссылка
    |;
    |
    |////////////////////////////////////////////////////////////­////////////////////
    |ВЫБРАТЬ
    | СписокТоваров.Ссылка КАК Ссылка,
    | СписокТоваров.Ссылка.Артикул КАК Артикул,
    | СписокТоваров.Ссылка.Наименование КАК Наименование,
    | СписокТоваров.Ссылка.ФирмаИзготовитель КАК ФирмаИзготовитель,
    | СписокТоваров.Ссылка.СтавкаНДС КАК СтавкаНДС,
    | СписокТоваров.Ссылка.Родитель КАК Родитель,
    | СписокТоваров.Ссылка.ЭтоГруппа КАК ЭтоГруппа
    |ИЗ
    | СписокТоваров КАК СписокТоваров";

    Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
    Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
    ВыборкаДанных = Запрос.Выполнить();
```
---
Я для ПКО ФирмыИзготовители поставил галку Не замещать существующие объекты
---
просто замени ПВД , выгрузи правила, перечитай в обработке выгрузке, выгрузи данные, загрузи данные. должно быть все ок.
---
Вот сейчас выгрузка идет, как выгрузится - посмотрю.
---
Пока все ОК. Похоже, дело было в галке По фирмам производителям...много записей в базу
---
не в фирмах дело было, а в ПВД
выборка многократно дублирующейся номенклатуры со всеми родителями.... + не запоминает выгруженные/загруженные - вот и падала обработка с нехваткой памяти. Да и еще смотрю в правилах оставил параметры = удали их. ни одного параметра тебе не нужно.
P.S. не за что =)
---
Дополнительно помогает сжатие журнала до 0 в SQL
---
Как вариант