Здравствуйте! В 1С:ERP Управление предприятием 2 (2.1.3.169) на платформе 8.3 (8.3.7.1917) захотел я разобраться в блоке бюджетирования.
Там есть справочник Статьи бюджетов, а в нём правила получения фактических данных. Эти данные можно получить универсально через СКД запросик. Вот мой запрос:
ВЫБРАТЬ
ПартнерыСегмента.Сегмент,
ПартнерыСегмента.Партнер,
ПартнерыСегмента.Партнер.ОсновнойМенеджер КАК ОсновнойМенеджер,
РасчетыСКлиентамиПоДокументам.Период,
РасчетыСКлиентамиПоДокументам.ДолгУпр
ИЗ
РегистрСведений.ПартнерыСегмента КАК ПартнерыСегмента
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентамиПоДокументам КАК РасчетыСКлиентамиПоДокументам
ПО ПартнерыСегмента.Партнер = РасчетыСКлиентамиПоДокументам.АналитикаУчетаПоПартнерам.Партнер
Показать
В консоле запросов код отрабатывает правильно, результаты есть!
А для дальнейшей работы в справочнике надо нажать кнопку проверки "Результат работы правил" и тут - ни одной строки результата.
Куда копать или что почитать про универсальные получения данных из пользовательского режима?
(4) lm-alex, в общем мне ответили 1с-ники, изменил свой запрос в соответствии с ним:
//Начало Письма
Схема должна содержать поля:
• Период данных. Поля периода должны называться: Период, ПериодДень, ПериодНеделя…
• Сумма фактического оборота (остатка). Сумма может выбираться в исходной валюте, валюте управленческого учета или в валюте регламентированного учета. Поля должны соответственно называться: СуммаВВалюте, СуммаУпр, СуммаРегл. Если выбирается сумма в исходной валюте, то в схеме должно присутствовать поле Валюта.
Схема может содержать поля:
• Аналитики (Контрагент, Номенклатура, Касса…). Для данных полей должен быть указан Тип значения (см. скриншот) [скрина во вложение не было!!!]
• Количество.
Для ограничения периода выбираемых данных использовать параметры НачалоПериода и КонецПериода.
Для примера настройку схемы источников данных можно посмотреть в макетах регистра сведений ПравилаПолученияФактаПоСтатьямБюджетов.
//Конец Письма
Судя по их письму и твоему запросу с ошибкой, тебе надо поменять Роль своих периодов. У меня всего один он, но я поставил роль своего не "Период", а "Без роли". Должно помочь. У меня запрос отрабатывает верно и все суммы выдаёт.
Далее, я брал из основной таблицы регистра данные, а не из Оборотов. Но тебе надо добавить реквизит Валюта. У меня он есть.
А вот если тебе понадобится расшифровывать твои суммы по Регистраторам, то надо добавить и реквизит Регистратор. Его в Оборотах точно нет.
Вот мой, работающий запрос:
ВЫБРАТЬ
ПартнерыСегмента.Сегмент КАК Сегменты,
ПартнерыСегмента.Партнер КАК Партнеры,
ПартнерыСегмента.Партнер.ОсновнойМенеджер КАК Менеджер,
РасчетыСКлиентамиПоДокументам.Период,
РасчетыСКлиентамиПоДокументам.ДолгУпр КАК СуммаУпр,
РасчетыСКлиентамиПоДокументам.Валюта,
РасчетыСКлиентамиПоДокументам.Регистратор.Подразделение КАК Подразделение,
РасчетыСКлиентамиПоДокументам.Регистратор
ИЗ
РегистрСведений.ПартнерыСегмента КАК ПартнерыСегмента
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентамиПоДокументам КАК РасчетыСКлиентамиПоДокументам
ПО ПартнерыСегмента.Партнер = РасчетыСКлиентамиПоДокументам.АналитикаУчетаПоПартнерам.Партнер
ГДЕ
НЕ ПартнерыСегмента.Партнер.ОсновнойМенеджер = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)
И ТИПЗНАЧЕНИЯ(РасчетыСКлиентамиПоДокументам.Регистратор) = ТИП(Документ.РеализацияТоваровУслуг)
И РасчетыСКлиентамиПоДокументам.Период МЕЖДУ &НачалоПериода И &КонецПериода
(5)Сделал все как написано, контекстный отчет "Контроль результата выполнения формируется" из справочника "Статья бюджета" формируется. Добавил эту статью в вид бюджета, но там значение из этого источника не появляется. Но если зайти в расшифровку то там все есть. Может сталкивались с таким?
Помогите и мне разобраться с этим механизмом. Вот скрин моего набора данных
и он же выгружен в файлик.
Текст запроса:
ВЫБРАТЬ
ФактическиеДанныеБюджетирования.Период,
ФактическиеДанныеБюджетирования.Регистратор,
ФактическиеДанныеБюджетирования.Валюта,
ФактическиеДанныеБюджетирования.СуммаВВалюте,
ФактическиеДанныеБюджетирования.СуммаУпр,
ФактическиеДанныеБюджетирования.СуммаРегл
ИЗ
РегистрНакопления.ФактическиеДанныеБюджетирования КАК ФактическиеДанныеБюджетирования
ГДЕ
ФактическиеДанныеБюджетирования.Период МЕЖДУ &НачалоПериода И &КонецПериода
Показать
Проблема та же - в консоле запросов получаю данные. Результат работы правила нулевой.
(7) Taliesien, а пришлите скрин отчета "Результата работы правил".
Странно, у меня тоже бюджетирование ведётся, но данных в регистре ФактическиеДанныеБюджетирования нет...
По своему вопросу я разобрался. Проблема заключалась в том, что в СКДешке параметры НачалоПериода и КонецПериода надо вывести в доступные. Мда... Ларчик просто открывался...
(8) buriZa, в правилах необходимо проставить флажок хранение данных или как-то так. Как запустить регламент из интерфейса я не разобрался. Но можно в настройках в бюджетировании проставить флажок "Автоматически запускать фоновое задание расчета хранимых данных...". Я для себя вручную вызывал заполнение. Вот код:
&НаСервере
Процедура РаспределитьФактБюджетаНаСервере()
ЗарегистрироватьПравила();
ФактическиеДанныеБюджетированияСервер.ОтразитьДокументыВБюджетировании(НачалоКвартала(ТекущаяДата()),КонецКвартала(ТекущаяДата()));
КонецПроцедуры
&НаСервере
Процедура ЗарегистрироватьПравила()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СтатьиБюджетов.Ссылка КАК СтатьяСсылка
|ПОМЕСТИТЬ СтатьиБДДС
|ИЗ
| Справочник.СтатьиБюджетов КАК СтатьиБюджетов
|ГДЕ
| (СтатьиБюджетов.Родитель.Наименование = &СтатьиБДДС
| ИЛИ СтатьиБюджетов.Родитель.Родитель.Наименование = &СтатьиБДДС
| ИЛИ СтатьиБюджетов.Родитель.Родитель.Родитель.Наименование = &СтатьиБДДС
| ИЛИ СтатьиБюджетов.Родитель.Родитель.Родитель.Родитель.Наименование = &СтатьиБДДС
| ИЛИ СтатьиБюджетов.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование = &СтатьиБДДС
| ИЛИ СтатьиБюджетов.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование = &СтатьиБДДС
| ИЛИ СтатьиБюджетов.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование = &СтатьиБДДС)
| И СтатьиБюджетов.ЭтоГруппа = ЛОЖЬ
| И СтатьиБюджетов.ПометкаУдаления = ЛОЖЬ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ПравилаПолученияФактаПоСтатьямБюджетов.Ссылка
|ИЗ
| Справочник.ПравилаПолученияФактаПоСтатьямБюджетов КАК ПравилаПолученияФактаПоСтатьямБюджетов
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ СтатьиБДДС КАК СтатьиБДДС
| ПО ПравилаПолученияФактаПоСтатьямБюджетов.СтатьяБюджетов = СтатьиБДДС.СтатьяСсылка
| И (ПравилаПолученияФактаПоСтатьямБюджетов.ПометкаУдаления = ЛОЖЬ)
| И (ПравилаПолученияФактаПоСтатьямБюджетов.ПромежуточноеКэшированиеРезультатовРаботыПравил = ЛОЖЬ)";
СтатьиБДДС = "Статьи БДДС";
Запрос.УстановитьПараметр("СтатьиБДДС", СтатьиБДДС);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОписаниеПравила = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
ВидыДокументов = ФактическиеДанныеБюджетированияСервер.ОпределитьИменаВидовДокументовПоСКД(ОписаниеПравила).ВыгрузитьКолонку("ИмяВидаДокумента");
Справочники.ПравилаПолученияФактаПоСтатьямБюджетов.ЗарегистрироватьДокументыДляОтражения(Период.ДатаНачала, период.ДатаОкончания, ВидыДокументов, ВыборкаДетальныеЗаписи.Ссылка);
КонецЦикла;
КонецПроцедуры //ЗарегистрироватьПравила
Подскажите кто сталкивался.
Когда добавляю поле "Организация" в запрос - он перестает работать.
Без поля "Организация" работает, если не включать отбор по Организации.
Какие есть нюансы, что еще нужно сделать чтоб отбор по организациям заработал?
ВЫБРАТЬ
УСОERP_ГрафикДвиженийПоДоговору.Организация,
УСОERP_ГрафикДвиженийПоДоговору.Период КАК Период,
УСОERP_ГрафикДвиженийПоДоговору.Договор КАК Договоры,
УСОERP_ГрафикДвиженийПоДоговору.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
УСОERP_ГрафикДвиженийПоДоговору.Регистратор КАК Регистратор,
&Валюта КАК Валюта,
УСОERP_ГрафикДвиженийПоДоговору.ФинансированиеПлан КАК СуммаВВалюте,
УСОERP_ГрафикДвиженийПоДоговору.ФинансированиеПлан КАК СуммаУпр,
УСОERP_ГрафикДвиженийПоДоговору.ФинансированиеПлан КАК СуммаРегл
ИЗ
РегистрНакопления.УСОERP_ГрафикДвиженийПоДоговору КАК УСОERP_ГрафикДвиженийПоДоговору
ГДЕ
УСОERP_ГрафикДвиженийПоДоговору.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
И УСОERP_ГрафикДвиженийПоДоговору.Период >= &НачалоПериода
И УСОERP_ГрафикДвиженийПоДоговору.Период <= &КонецПериода
И УСОERP_ГрафикДвиженийПоДоговору.Договор.СтатьяДвиженияДенежныхСредств = &СтатьяДвиженияДенежныхСредствСкрытый текст
11.
user600545_marina.vishnyakova.e
03.03.17 13:51 Сейчас в теме
Помогите и мне... Такая же проблема... Создаю запрос, но данные в бюджет не выводит...
Параметры периода отмечены галочками как доступные, суммы в нужном мне регистре нет, поэтому суммой обозвала количество...
Подскажите, где ошибка
Пример запроса:
ВЫБРАТЬ
МатериалыИРаботыВПроизводстве.Номенклатура КАК Номенклатура,
МатериалыИРаботыВПроизводстве.Количество КАК СуммаУпр,
РесурсныеСпецификацииВыходныеИзделия.Номенклатура КАК Продукция,
МатериалыИРаботыВПроизводстве.Период,
"RUB" КАК Валюта
ИЗ
РегистрНакопления.МатериалыИРаботыВПроизводстве КАК МатериалыИРаботыВПроизводстве
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.РесурсныеСпецификации.ВыходныеИзделия КАК РесурсныеСпецификацииВыходныеИзделия
ПО МатериалыИРаботыВПроизводстве.Спецификация.Ссылка = РесурсныеСпецификацииВыходныеИзделия.Ссылка
ГДЕ
МатериалыИРаботыВПроизводстве.ВидДвижения = &ВидДвижения
И МатериалыИРаботыВПроизводстве.Период МЕЖДУ &НачалоПериода И &КонецПериода
Здравствуйте! подобная проблема, в Экземпляре бюджета для статьи 1.1.1.1 добавить правила получения фактических данных по статьям бюджета. (Исполнение бюджета) Произвольные данные.
На СКД сделал запрос, в консоли отрабатывает как надо, в результате работы правил - пусто