|
НовыйОбъект =
День добрый.
У меня в БДР 250 статей. Под каждую в подсистеме Бюджетирование нужно создать источник данных. Решил создать источники программно.
Для каждой статьи пишу такой код:
НовыйОбъект = Справочники.ИсточникиДанныхДляРасчетовБюджетирования.СоздатьЭлемент();
ИмяСтатьи = Справочники.СтатьиОборотовПоБюджетам.НайтиПоНаименованию("Прочие расходы");
НовыйОбъект.Наименование = ИмяСтатьи;
Стр = НовыйОбъект.ДатыОтбораДанныхИсточника.Добавить();
Стр.ИмяДатаГраницы = "НП";
Стр.НачальнаяГраницаОтсчета = Перечисления.ВидыГраницОтбораИсточникаПланирования.НачалоПериода;
Стр = НовыйОбъект.ДатыОтбораДанныхИсточника.Добавить();
Стр.ИмяДатаГраницы = "КП";
Стр.НачальнаяГраницаОтсчета = Перечисления.ВидыГраницОтбораИсточникаПланирования.КонецПериода;
Стр = НовыйОбъект.Показатели.Добавить();
Стр.Имя = "СуммаПриход";
Стр.Использование = Истина;
Стр.Представление = "СуммаПриход";
//Определяются данные для заполнение таб части связь измерений источника с изм бюджетирования
Стр = НовыйОбъект.ИзмеренияИсточника.Добавить();
Стр.ИзмерениеБюджетирования = Перечисления.ИзмеренияБюджетирования.ЦФО;
Стр.ИмяПоляИсточника = "Подразделение";
Стр.ПутьКДанным = "Подразделение";
Стр = НовыйОбъект.ИзмеренияИсточника.Добавить();
Стр.ИзмерениеБюджетирования = Перечисления.ИзмеренияБюджетирования.Номенклатура;
Стр.ИмяПоляИсточника = "Номенклатура";
Стр.ПутьКДанным = "Номенклатура";
НовыйОбъект.ПроизвольныйЗапрос = Истина;
НовыйОбъект.ТекстЗапроса = "ВЫБРАТЬ
|ЗакупкиОбороты.Период,
|ЗакупкиОбороты.Регистратор,
|ЗакупкиОбороты.Номенклатура,
|ЗакупкиОбороты.Проект,
|ЗакупкиОбороты.Подразделение КАК Подразделение,
|ЗатратыОбороты.СтатьяЗатрат КАК СтатьяЗатрат,
|ЗатратыОбороты.СуммаПриход,
|ЗакупкиОбороты.Контрагент
|ИЗ
|РегистрНакопления.Закупки.Обороты(, , Регистратор, ) КАК ЗакупкиОбороты
|ВНУТРЕННЕЕ СОЕДИНЕНИЕ
|РегистрНакопления.Затраты.Обороты(, , Регистратор, ) КАК ЗатратыОбороты
|ПО ЗакупкиОбороты.Регистратор = ЗатратыОбороты.Регистратор
|ГДЕ
|ЗакупкиОбороты.Период МЕЖДУ &НП И &КП
|И ЗакупкиОбороты.Номенклатура В ИЕРАРХИИ(&Номенклатура)
|И ЗатратыОбороты.СтатьяЗатрат = &СтатьяЗатрат";
Построитель = Новый ПостроительОтчета;
Построитель.Текст = НовыйОбъект.ТекстЗапроса;
//Определяются параметры на вкладке произвольного запроса Параметры
Построитель.Параметры.Вставить("Номенклатура",Справочники.Номенклатура.НайтиПоКоду("00000000015"));
Построитель.Параметры.Вставить("СтатьяЗатрат",ИмяСтатьи);
СтруктураНастройки=Новый Структура;
СтруктураНастройки.Вставить("НастройкиПостроителя", Построитель.ПолучитьНастройки());
СтруктураНастройки.Вставить("ПараметрыПостроителя", Построитель.Параметры);
ХранилищеДанных = Новый ХранилищеЗначения(СтруктураНастройки);
НовыйОбъект.НастройкиПостроителя = ХранилищеДанных;
НовыйОбъект.Записать();
Код отрабатывает без ошибок. Элемент справочника ИсточникиДанных создается, с заполнеными текстом запроса и параметрами.
Но при заполнении документа "Учет фактических данных" данных по выбранной статье не выдает.
Если кто работал с подсистемой Бюджетирование. Прошу помочь |
|