Версия для печати темы (https://pro1c.org.ua/index.php?s=3fa0bbc1f1db0c76579f249f95f85b78&showtopic=42025)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Почему не удается в параметры построителя отчетов поместить границу регистра накопления

Автор: redking 19.11.17, 21:48

Добрый день, создана простая обработка конструктором (Построитель отчетов) на регистре денежные ср-ва (УПП)

ВЫБРАТЬ
    ДенежныеСредстваОбороты.СуммаОборот,
    ДенежныеСредстваОбороты.Период
ИЗ
    РегистрНакопления.ДенежныеСредства.Обороты(&НачДата, &КонДата, День, ) КАК ДенежныеСредстваОбороты

Обработка работает.Далее
в Процедура ОтчетВывести() добавлено:
    НачДата = '20171011';
    КонДата = Новый граница(Документы.ПлатежноеПоручениеВходящее.НайтиПоНомеру("00006",РабочаяДата),ВидГраницы.Включая);
    
        ПостроительОтчетаОтчет.Параметры.Вставить("КонДата", КонДата);
    ПостроительОтчетаОтчет.Параметры.Вставить("НачДата", НачДата);

при выполнении отчета ошибка
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Отчет.Форма(57)}: Ошибка при вызове метода контекста (Вывести)
ПостроительОтчетаОтчет.Вывести(ЭлементыФормы.ПолеТабличногоДокумента);
по причине:
{(5, 2)}: Ошибка обработки представления "РегистрНакопления.ДенежныеСредства.Обороты:Несоответствие типов (Параметр номер ""2"")"
<<?>>РегистрНакопления.ДенежныеСредства.Обороты(&НачДата, &КонДата, День, ) КАК ДенежныеСредстваОбороты

Почему не удалось прописать Границу в параметры? или где может указывать тип параметров?


 ! 

http://pro1c.org.ua/index.php?act=announce&id=2: 4,5,9
 

Автор: Bernet 20.11.17, 0:18

redking @ Вчера, 21:48 * ,
В оборотах нельзя использовать "МоментВремени" - он используется только в остатках. В оборотах можно брать параметры с типом "Дата" либо "Граница".
http://pro1c.org.ua/redirect.php?https://its.1c.ru/db/metod8dev/content/2610/hdoc

Автор: redking 20.11.17, 0:36

Bernet @ Сегодня, 1:18 * ,
Так я Граница и использую... или ее тоже нельзя???
У меня конечная задача - просматривать обороты по конкретному документу(причем без указания регистратора, те только по моменту можно отобрать).

Автор: Bernet 20.11.17, 10:12

redking @ Сегодня, 0:36 * ,
я чего-то решил что Вы МоментВремени туда запихнуть пытаетесь...
У вас при создании Границы параметры не верные, граница создается на основании Даты и ВидаГраницы, цитата из Синтаксис-помощника:

Цитата
Синтаксис:

Новый Граница(<Значение>, <ВидГраницы>)
Параметры:

<Значение> (обязательный)

Тип: Произвольный.
Значение границы.
<ВидГраницы> (необязательный)

Тип: ВидГраницы.
Включение/исключение граничного значения.
Если параметр не задан, используется вариант границы с включением граничного значения.
Описание:

Создает новую границу с заданными характеристиками.
Также может быть создан с использованием функциональной формы оператора Новый.
Важно! Конструктор в тонком и веб-клиентах не доступен.
Пример:

Параметры = Новый Массив(2);
Параметры[0] = Дата;
Параметры[1] = ВидГраницы.Включая;
Граница = Новый(Тип("Граница"),Параметры);
Запрос.УстановитьПараметр("КонГраница", Граница);

А у вас в коде на вход идет ссылка на документ вместо даты. Пропишите при создании границы дату а не ссылку на документ и все взлетит

Автор: redking 20.11.17, 12:59

Bernet @ Сегодня, 11:12 * ,
Спасибо, если я создаю границу из даты - все работает.Но проблема в том, что нужна граница на момент документа.
Граница создается и из док-та, но похоже в ПостроительОтчета нужна только граница созданная из даты.
Может есть идеи как обойти это ограничение?

Автор: Bernet 20.11.17, 13:04

redking @ Сегодня, 12:59 * ,
Так чтоб границей спозиционироваться на одном документе не знаю как сделать. А по какой причине не хотите отбор по регистратору сделать?

Автор: Petre 20.11.17, 13:07

redking @ Сегодня, 13:59 * ,

КонДата = Новый Граница(Документы.ПлатежноеПоручениеВходящее.НайтиПоНомеру("00006", РабочаяДата).МоментВремени(), ВидГраницы.Включая);

Автор: redking 20.11.17, 13:55

Я в бюджетировании УПП перебираю все статьи и формирую УчетФактическихДанныхПоБюджетам по конкретному документу(боятся что будет задваивать и хотят что-бы все шло автоматом).И мне надо отбирать либо по регистратору - а это на каждый вид регистра добавлять в запрос регистратор и в отборы... или просто устанавливать параметры построителя.Второе проще.

Petre @ Сегодня, 14:07 * ,
Момент времени выдает такую-же ошибку

Petre @ Сегодня, 14:07 * ,
Урраа!!! спасибо!!! работает!!! Те надо было в границе указать момент!!!

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua