Здравствуйте.
Делаю отчет, беру данные из виртуальной таблицы ОстаткиИОбороты Хозрасчетный.
Пользователь вводит дату, и формирует отчет на сегодня, остатки подтягиваются верные. на другое число формирует, то остатки неверные.
В консоль запросе результат запроса на все даты все верно выдает.
В СКД результат верный только на текущую дату, в остальных случаях какие-то неверные остатки.
Может какие-то есть нюансы в СКД при работе с регистром Хозрасчетный?
Делаю отчет, беру данные из виртуальной таблицы ОстаткиИОбороты Хозрасчетный.
Пользователь вводит дату, и формирует отчет на сегодня, остатки подтягиваются верные. на другое число формирует, то остатки неверные.
В консоль запросе результат запроса на все даты все верно выдает.
В СКД результат верный только на текущую дату, в остальных случаях какие-то неверные остатки.
Может какие-то есть нюансы в СКД при работе с регистром Хозрасчетный?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Выхода обычно 2:
1. Правильно указать параметры для компоновщика.
2. Отключить в СКД автозаполнение и прописать нужные поля и отборы самостоятельно.
И с такими вопросами лучше сразу запрос показывать.
В консоль запросе результат запроса на все даты все верно выдает.
В СКД результат верный только на текущую дату
Это говорит о том, оптимизатор компоновщика что-то меняет в итоговом запросе.
В СКД результат верный только на текущую дату
Выхода обычно 2:
1. Правильно указать параметры для компоновщика.
2. Отключить в СКД автозаполнение и прописать нужные поля и отборы самостоятельно.
И с такими вопросами лучше сразу запрос показывать.
(2) Обычный запрос:
Параметры прикрепила. Пользователь вводит на форме КонецПериода, я его преобразую к концу дня
ВЫБРАТЬ
ХозрасчетныйОстаткиИОбороты.Организация КАК Организация,
ВЫРАЗИТЬ(ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Справочник.ДоговорыКонтрагентов).ВидВзаиморасчетов КАК ВидРасчетов,
ВЫРАЗИТЬ(ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Справочник.ДоговорыКонтрагентов).Слата_ВидУслуги КАК ВидУслуги,
ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Субконто1,
ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Субконто2,
ВЫРАЗИТЬ(ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Справочник.Контрагенты).ИНН КАК ИННКонтрагента,
ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт КАК БУКонечныйОстатокДт,
ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт КАК БУКонечныйОстатокКт,
ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
ВТ_ОтветственныеБухгалтера.ЗначениеНач КАК ОтветственныйБухгалтер,
ЕСТЬNULL(ВТ_ДатаВозникновенияЗадолженности.ДатаВозникновенияЗадолженности, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаВозникновенияЗадолженности,
ВТ_ОтветственныеДирекция.ЗначениеНач КАК ОтветственнаяДирекция,
"" КАК Комментарий,
"" КАК НаличиеАктаСверки,
0 КАК ЗадолженностьКонтрагентаПоАктуСверки
ПОМЕСТИТЬ ВТ_ВсеДанные
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(НАЧАЛОПЕРИОДА(&КонецПериода, МЕСЯЦ), КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ), , , {(Счет В ИЕРАРХИИ (&СчетУчета))}, , {(Субконто1 = &Контрагент)}) КАК ХозрасчетныйОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОтветственныеБухгалтера КАК ВТ_ОтветственныеБухгалтера
ПО ХозрасчетныйОстаткиИОбороты.Субконто2 = ВТ_ОтветственныеБухгалтера.Договор
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОтветственныеДирекция КАК ВТ_ОтветственныеДирекция
ПО ХозрасчетныйОстаткиИОбороты.Субконто2 = ВТ_ОтветственныеДирекция.Договор
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДатаВозникновенияЗадолженности КАК ВТ_ДатаВозникновенияЗадолженности
ПО ХозрасчетныйОстаткиИОбороты.Организация = ВТ_ДатаВозникновенияЗадолженности.Организация
И ХозрасчетныйОстаткиИОбороты.Счет = ВТ_ДатаВозникновенияЗадолженности.Счет
И ХозрасчетныйОстаткиИОбороты.Субконто1 = ВТ_ДатаВозникновенияЗадолженности.Субконто1
И ХозрасчетныйОстаткиИОбороты.Субконто2 = ВТ_ДатаВозникновенияЗадолженности.Субконто2
{ГДЕ
(ХозрасчетныйОстаткиИОбороты.Организация = &Организация),
(ВТ_ОтветственныеБухгалтера.ЗначениеНач = &ОтветственныйБухгалтер)}
;
ПоказатьПараметры прикрепила. Пользователь вводит на форме КонецПериода, я его преобразую к концу дня
Прикрепленные файлы:
(1) Можно ли написать так:
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(НАЧАЛОПЕРИОДА(&НачалоПериода, ГОД), &КонецПериода, Счет.СчетРасчетов = ИСТИНА {(Счет В ИЕРАРХИИ (&СчетУчета)
И Счет.СчетРасчетов = ИСТИНА)}, , ) КАК ХозрасчетныйДвиженияССубконто
В НачалоПериода записать НАЧАЛОПЕРИОДА(&НачалоПериода, ГОД)?
Я попробовала, у меня все равно не считает все данные
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(НАЧАЛОПЕРИОДА(&НачалоПериода, ГОД), &КонецПериода, Счет.СчетРасчетов = ИСТИНА {(Счет В ИЕРАРХИИ (&СчетУчета)
И Счет.СчетРасчетов = ИСТИНА)}, , ) КАК ХозрасчетныйДвиженияССубконто
В НачалоПериода записать НАЧАЛОПЕРИОДА(&НачалоПериода, ГОД)?
Я попробовала, у меня все равно не считает все данные
Может еще добавить "Использование" -> "Всегда", и на вкладке "Настройки" добавить галочку, и еще также добавить "Включать в пользовательские настройки". А если не получится, то использовать другой параметр, например "КонПериода", чтобы понять когда СКД теряет стандартный параметр "КонецПериода"
Прикрепленные файлы:
(3) как минимум
Та как вместо НАЧАЛОПЕРИОДА(&КонецПериода, МЕСЯЦ) компоновщик подставит &НачалоПериода
И запрос не весь. Это временная таблица
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(НАЧАЛОПЕРИОДА(&КонецПериода, МЕСЯЦ) {НАЧАЛОПЕРИОДА(&КонецПериода, МЕСЯЦ)}, КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ) {КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)}, , , {(Счет В ИЕРАРХИИ (&СчетУчета)) КАК Поле2}, , {(Субконто1 = &Контрагент) КАК Поле2}) КАК ХозрасчетныйОстаткиИОбороты
Та как вместо НАЧАЛОПЕРИОДА(&КонецПериода, МЕСЯЦ) компоновщик подставит &НачалоПериода
И запрос не весь. Это временная таблица
(5) Можно ли написать так:
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(НАЧАЛОПЕРИОДА(&НачалоПериода, ГОД), &КонецПериода, Счет.СчетРасчетов = ИСТИНА {(Счет В ИЕРАРХИИ (&СчетУчета)
И Счет.СчетРасчетов = ИСТИНА)}, , ) КАК ХозрасчетныйДвиженияССубконто
В НачалоПериода записать НАЧАЛОПЕРИОДА(&НачалоПериода, ГОД)?
Я попробовала, у меня все равно не считает все данные
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(НАЧАЛОПЕРИОДА(&НачалоПериода, ГОД), &КонецПериода, Счет.СчетРасчетов = ИСТИНА {(Счет В ИЕРАРХИИ (&СчетУчета)
И Счет.СчетРасчетов = ИСТИНА)}, , ) КАК ХозрасчетныйДвиженияССубконто
В НачалоПериода записать НАЧАЛОПЕРИОДА(&НачалоПериода, ГОД)?
Я попробовала, у меня все равно не считает все данные
(9) Для компоновщика с выставленной галкой автозаполнения не важно, что вы пишите без фигурных скобок, т.е.
будет интерпретироваться как для компоновщика период нужно указывать в фигурных скобках. Т.е. уже должно работать как надо.
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(НАЧАЛОПЕРИОДА(&НачалоПериода, ГОД), &КонецПериода, ........)
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&НачалоПериода, &КонецПериода, ........)
РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто({НАЧАЛОПЕРИОДА(&НачалоПериода, ГОД)}, {&КонецПериода}, ........)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот