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

Конвертация. Выгрузка произвольным алгоритмом

Автор Валера-программист, 26 янв 2016, 13:15

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

Валера-программист

Добрый день, коллеги! Воюю с Конвертацией. Правила обмена для идентичных Комплексных автоматизаций.
Необходимо, чтобы из одной в другую  автоматом грузились определенные типы документов только за сегодняшний день.

Меняю правила выгрузки (пробую на заказах Поставщику и Покупателю).

Вариант 1.
Объект выборки -  ДокументСсылка.ЗаказПоставщику
Способ выборки - Произвольный алгоритм
Правило конвертации  - ЗаказПоставщику

В обработчике "Перед обработкой":
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущаяДата", День(ТекущаяДата()));
Запрос.Текст = "ВЫБРАТЬ
|   ЗаказПоставщику.Ссылка
|ИЗ
|   Документ.ЗаказПоставщику КАК ЗаказПоставщику
|ГДЕ
|   ДЕНЬ(ЗаказПоставщику.Дата) = &ТекущаяДата";


РезультатЗапроса = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);

Для Каждого Строка Из РезультатЗапроса.Строки Цикл
  ВыгрузитьПоПравилу(Строка.Ссылка, , , , "ЗаказПоставщику");
КонецЦикла;


Итог: Отбора не происходит, выгружаются все документы, а не только за сегодня.

Вариант 2:

Объект выборки -  (оставила пустым)
Способ выборки - Произвольный алгоритм
Правило конвертации  - ЗаказПоставщику

В обработчике "Перед обработкой":
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущаяДата", День(ТекущаяДата()));
Запрос.Текст = "ВЫБРАТЬ
|   ЗаказПоставщику.Ссылка
|ИЗ
|   Документ.ЗаказПоставщику КАК ЗаказПоставщику
|ГДЕ
|   ДЕНЬ(ЗаказПоставщику.Дата) = &ТекущаяДата";


РезультатЗапроса = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);

Для Каждого Строка Из РезультатЗапроса.Строки Цикл
  ВыгрузитьПоПравилу(Строка.Ссылка, , , , "ЗаказПоставщику");
КонецЦикла;

Итог: все падает с ошибкой
Ошибка при выгрузке данных для узла плана обмена
   ОписаниеОшибки         =  Ошибка при вызове метода контекста (НайтиПоТипу): Несоответствие типов (параметр номер '1')
   ПозицияМодуля          =  Обработка.ОбменДаннымиXML.МодульОбъекта(12187)
   КодСообщения           =  72
   УзелПланаОбмена        =  Комплексная автоматизация 1.1
Ошибка при загрузке объектов. Было загружено: 0
Произошла ошибка при выгрузке объектов. Было выгружено: 0

Заранее спасибо

cska-fanat-kz

1) Условие должно быть
    НАЧАЛОПЕРИОДА(Заказ.Дата,День)=&ТекущаяДата
...

Запрос.УстановитьПараметр("ТекущаяДата",НачалоДня(ТекущаяДата()));

2) После запроса можно попробовать переменной ВыборкаДанных присвоить Запрос.Выполнить()
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

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

Рейтинг@Mail.ru

Поиск