Получение фактических данных с помощью произвольного запроса. Бюджетирование. ERP 2.2

17.10.17

Разработка - Запросы

Часто, при получение факта для Статей и Показателей бюджетов, недостаточно данных из разделов источника "Оперативный" и "Регламентированный" учёт. Приходится обращаться к "Произвольным данным". Но, как в анекдоте по Петьку и Василия Ивановича, есть нюанс!

Коротко хочу передать суть и опыт работы с произвольным получением факт для бюджета в ERP.

После того как вы:

  1. Создали Правила получения фактических данных для статьи бюджета;
  2. Выбрали Произвольные данные в поле Раздел источника данных;
  3. Перешли к конструктору СКД;

 

 

Вы должны помнить, что на выходе нужно иметь ряд обязательных полей, а именно:

  • Период данных. Поля периода должны называться: Период, ПериодДень, ПериодНеделя…
  • Сумма фактического оборота (остатка). Сумма может выбираться в исходной валюте, валюте управленческого учета или в валюте регламентированного учета. Поля должны соответственно называться: СуммаВВалюте, СуммаУпр, СуммаРегл. // Я всегда писал СуммаУпр
  • Если выбирается сумма в исходной валюте, то в схеме должно присутствовать поле Валюта.

Так же могут присутствовать необязательные поля:

  • Аналитики, которые вы указывали в статье бюджета и не только (Контрагент, Номенклатура, Касса, Подразделение, Статьи Доходов\Расходов, Регистратор…);
  • Количество.

Необходимо помнить, что для дальнейшей корректной работы нужно указать Тип значения для получаемых данных на вкладке СКД - Поля данных, а так же максимально снять галочки Ограничение поля и Ограничение реквизитов в колонке Поле, на той же вкладке СКД. Для поля Период нужно поставить Роль - "Без роли".

 

 

Далее проверяем вкладку параметры и, применяя изменения, возвращаемся на форму нашего Правила получения фактических данных.

На вкладке Дополнительный отбор поэкспериментируете сами, а вот вкладка Заполнение аналитик статей - это важно.

Если у вас есть хоть одно аналитика в статье, то выбираем использование расширенных настроек. Здесь в колонке способа заполнения есть два значение:

  • Из источника данных - динамическое значение, для которого надо указать поле, получаемое из произвольного запроса, созданного ранее. Если не снять галки ограничений в СКД в нужных полях (о которых я говорил выше), то выбрать необходимое значение не получится;
  • Указанным значением - статическое значение, указываемое руками, когда не надо заморачиваться (используется крайне редко, т.к. если не надо заморачиваться, то зачем, спрашивается, ты в статью бюджета занёс эту аналитику?!).

 

 

Далее записываем наше Правила получения фактических данных и жмём на кнопку Результат работы правил.

В открывшемся отчёте выбираем период, периодичность, валюту, значение аналитики и показатель в соответствии со своим запросом.

Сценарий должен быть предопределённый - Фактические данные.

____________________________________________________________

Надеюсь, пригодится. Конец

бюджетирование бюджет ERP факт фактические произвольный произвольные

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 руб.

02.09.2020    119908    656    389    

701

Для чего используют конструкцию запроса "ГДЕ ЛОЖЬ" в СКД на примере конфигурации 1С:ERP

Запросы СКД Платформа 1С v8.3 Запросы Система компоновки данных 1С:ERP Управление предприятием 2 Бесплатно (free)

В типовых конфигурациях разработчики компании 1С иногда используют в отчетах, построенных на СКД, такую конструкцию, как "ГДЕ ЛОЖЬ". Такая конструкция говорит о том, что данные в запросе не будут получены совсем. Для чего же нужен тогда запрос?

13.02.2024    5618    KawaNoNeko    23    

23

Набор-объект для СКД по тексту или запросу

Запросы СКД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Есть список полей в виде текста, или запрос - закидываем в набор СКД.

1 стартмани

31.01.2024    1964    2    Yashazz    0    

29

Запрос 1С copilot

Инструментарий разработчика Запросы Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Пишем на человеческом языке, что нам надо, и получаем текст запроса на языке 1С. Используются большие языковые модели (LLM GPT) от OpenAI или Яндекс на выбор.

5 стартмани

15.01.2024    6089    29    mkalimulin    23    

48

PrintWizard: поддержка представлений ЗУП в конструкторе

Инструментарий разработчика Запросы Платформа 1С v8.3 Бесплатно (free)

Одной из интересных задач, стоящих в процессе разработки, была поддержка механизма представлений в ЗУП. Но не просто возможность исполнения запросов с ними. Основная проблема была в том, чтобы с ними было удобно работать, а именно: создавать, модифицировать и отлаживать. Кратко о том, что в итоге получилось...

14.12.2023    1714    vandalsvq    7    

28

Объектная модель запроса "Схема запроса" 2

Запросы Платформа 1С v8.3 Запросы Конфигурации 1cv8 Бесплатно (free)

Далеко уже не новый тип данных "Схема запроса". Статья о том, как использовать его "попроще". Примеры создания текста запроса с нуля и изменение имеющегося запроса.

06.12.2023    5282    user1923546    26    

43

Начните уже использовать хранилище запросов

HighLoad оптимизация Запросы

Очень немногие из тех, кто занимается поддержкой MS SQL, работают с хранилищем запросов. А ведь хранилище запросов – это очень удобный, мощный и, главное, бесплатный инструмент, позволяющий быстро найти и локализовать проблему производительности и потребления ресурсов запросами. В статье расскажем о том, как использовать хранилище запросов в MS SQL и какие плюсы и минусы у него есть.

11.10.2023    15954    skovpin_sa    14    

97
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. progr-2008 118 18.10.17 09:37 Сейчас в теме
Полезно как краткий конспект.
egorbenko; +1 Ответить
2. пользователь 21.10.17 22:57
Сообщение было скрыто модератором.
...
3. egorbenko 20.09.18 16:36 Сейчас в теме
Добрый день. Подскажите плз в чем ошибка:
Все настроила. Результат обработки правил показывает верные данные. Оборотная ведомость по статьям бюджетов также корректно отражает фактические данные, а вот если делаю Бюджетный отчет по соответствующей статье, получаю ошибку: Поле не найдено "ИсточникДанных".
4. Zircool 190 01.10.18 15:53 Сейчас в теме
(3) в новой версии, в запросе должно быть указано Имя источника данных.
Прикрепленные файлы:
ejka; gorin; user789394; vinni_pooh; mark_oilbass; buriZa; +6 Ответить
5. mark_oilbass 11.02.19 07:46 Сейчас в теме
Автору спасибо большое!
6. d_kondruk 28.05.19 18:12 Сейчас в теме
Добрый день!

Столкнулся с такой проблемой, не могу понять, что к чему.

Код запроса прописан в статью бюджета, при формировании оборотной ведомости по статье - все ОК.
Но при попытке сформировать отчет с указанной статьей, система выводит следующую ошибку (файл во вложении).

Можете помочь, специалисты?

Запрос вот.

ВЫБРАТЬ
ЗаказКлиентаТовары.СуммаСНДС - ЗаказКлиентаТовары.СуммаНДС КАК СуммаУпр,
ЗаказКлиентаТовары.Ссылка.НаправлениеДеятельности КАК НаправлениеДеятельности,
ЗаказКлиентаТовары.Ссылка.Дата КАК Период,
ЗаказКлиентаТовары.Ссылка КАК Ссылка
ИЗ
Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
ГДЕ
ЗаказКлиентаТовары.Ссылка.Проведен
И НЕ ЗаказКлиентаТовары.Ссылка.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
И НЕ ЗаказКлиентаТовары.Отменено
И ЗаказКлиентаТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода

ОБЪЕДИНИТЬ

ВЫБРАТЬ
ЗаказКлиентаТовары.СуммаСНДС - ЗаказКлиентаТовары.СуммаНДС,
ЗаказКлиентаТовары.Ссылка.НаправлениеДеятельности,
ЗаказКлиентаТовары.Ссылка.Дата,
ЗаказКлиентаТовары.Ссылка
ИЗ
Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
ГДЕ
ЗаказКлиентаТовары.Ссылка В
(ВЫБРАТЬ
ЗаказКлиентаТовары.Ссылка
ИЗ
Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
ГДЕ
ЗаказКлиентаТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
И ЗаказКлиентаТовары.Ссылка.Проведен
И НЕ ЗаказКлиентаТовары.Ссылка.НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)
И ЗаказКлиентаТовары.Отменено
И ЗаказКлиентаТовары.ПричинаОтмены.Наименование ПОДОБНО "Закрытие заказа%")
Прикрепленные файлы:
Схема.xml
7. buriZa 50 29.05.19 11:06 Сейчас в теме
(6)
&ИД_ВыражениеПериода

скорее всего у вас проблема не в тесте запроса получения факта по бюджету, а в общем модуле из текста ошибки. По крайней мере теста с параметром "&ИД_ВыражениеПериода" у вас я не увидел, надо отлаживать код и, скорее всего, "ВЫРАЗИТЬ" это поле "ИД_ВыражениеПериода".
10. user834585 01.06.20 16:47 Сейчас в теме
(6) у вас в результирующей выборке объединение двух запросов, 1С пихает к ним &ИД_ВыражениеПериода неограниченной длины и вылетает с ошибкой. Поместите выборку двух запросов во временную таблицу, а затем выберите из нее. Также будет ошибка, если в результирующей выборке есть группировка по полям. Лечение такое же - помещать во временную таблицу и затем выбирать из временной.

Минифак - в результирующей выборке не должно быть ОБЪЕДИНИТЬ и ГРУППИРОВКА ПО
8. ODergunov 10.09.19 05:54 Сейчас в теме
Доброго времени суток. Для решения задачи (Получение фактических данных с помощью произвольного запроса) требуется специалист имеющий опыт работы в этой области. Задача не тривиальная, результат не очевиден, но все другие способы я перепробовал... Кому интересно пишите в личку либо на ODergunov@mail.ru
9. fieryfist 15 26.11.19 11:53 Сейчас в теме
Создал скд на получение произвольных данных, работает. Снял ограничения с полей, но после записи ограничения у полей вновь отображаются, в чем может быть причина?
Прикрепленные файлы:
11. mulder242 3 27.11.20 07:50 Сейчас в теме
Настроил схему, в проверке результата фактические данные есть а в отчете по бюджету нет, в чем может быть причина, в оборотке тоже фактические данные получаю.
12. mulder242 3 27.11.20 09:29 Сейчас в теме
(11)
в проверке результата фактические данные есть а в отчете по бюджету нет

Нашел в коде настройку где ВычислениеФакта производится по альернативному методу, в ИТС написано что для убыстрения процесса формирования отчета в альтернативном методе используется объединение всех скд и вполнение в одном запосе, по старому методу каждая статья расчитвалась отдельно, при проверке используется старый метод он и выводит данные. Получается надо строго соответствовать трбованиям к оформлению СКД, вот где полностью взять эти требования? в ИТС например написано
При формировании запроса надо учитывать, что помимо необходимых для проектного запроса полей он должен содержать в своем составе обязательно поля:

● ПериодСекунда,

● ПериодМинута,

● ПериодЧас,

● ПериодДень,

● ПериодНеделя,

● ПериодДекада,

● ПериодМесяц,

● ПериодКвартал,

● ПериодПолугодие,

● ПериодГод.

Вот реально надо формально все это прописать? в моем случае нужен только Месяц
В приложенном файле место куда надо вставить Ложь, при возникновении такой ситуации.
Прикрепленные файлы:
13. NeoCor 26.02.21 08:51 Сейчас в теме
(12) У меня получился обратный эффект.
Для каждого поля "Период*" был прописан способ его получения из актуальной даты документа, вроде Год(Документ.Дата), а "Период" выглядел просто как Документ.Дата. Это привело к тому, что всё расчёты были отнесены к январю 0001 года.
После удаления из запроса всех полей, кроме "Период", всё заработало как надо.
15. NeoCor 10.03.21 10:13 Сейчас в теме
(13) Дополню. Для корректной отработки полей вида Период* нужно их задать, например НАЧАЛОПЕРИОДА(*НужнаяДата*, ГОД) КАК ПериодГод.
18. user619529_a.trukhina73 19.12.21 06:46 Сейчас в теме
(12) Спасибо вам огромное!!! Ваш комментарий меня очень сильно выручил!!!
(12)
14. shiaju 25 02.03.21 09:17 Сейчас в теме
Напишу про свои грабли, для кого-то возможно очевидно будет, но я день убил:
если в разных показателях с произвольным источником источники данных назвать одинаково, то данные выводиться будут только в одном из них (в других выводятся пустые строки).
16. krollzlat 18.03.21 15:43 Сейчас в теме
Добрый день может кто сталкивался? Запрос отрабатывает, факт данные верные. Но вот не задача граница факт данных 28.02, при этом в отчет попадают фактические данные за март месяц, должны быть только плановые...
17. mulder242 3 06.12.21 08:23 Сейчас в теме
Добрый день! может кто поможет, настроил получение факт данных СКД взял из шаблонов из справочника, Если формирую результат работы правил, все формируется как надо, но если пробую формировать "Посмотреть вид отчета" показатель выводится а сумм нет и расшифровки по статьсям нет только <прочие статьи расходов>
Прикрепленные файлы:
19. Mor_2020 15.02.23 12:18 Сейчас в теме
(17) столкнулись с подобной проблемой, получилось найти причину?
20. Mor_2020 15.02.23 12:53 Сейчас в теме
(19) Для тех кто столкнулся с похожей проблемой.
Отчет Результат работы правил показывает данные
А сами бюджеты показывают пустые значения, но при этом если провалиться в расшифровку, то данные есть.

Нужно: Наименование Источник данных обозвать и передать в запрос. см фото
Прикрепленные файлы:
user1102915; +1 Ответить
Оставьте свое сообщение