helpf.pro
Регистрация

v8: Источники данных бюджетирования. Программное заполнение

alhimov
08.07.2011 23:26Прочитано: 2104
НовыйОбъект =
День добрый.
У меня в БДР 250 статей. Под каждую в подсистеме Бюджетирование нужно создать источник данных. Решил создать источники программно.
Для каждой статьи пишу такой код:

НовыйОбъект = Справочники.ИсточникиДанныхДляРасчетовБюджетирования.СоздатьЭлемент();
ИмяСтатьи = Справочники.СтатьиОборотовПоБюджетам.НайтиПоНаименованию("Прочие расходы");
НовыйОбъект.Наименование = ИмяСтатьи;

Стр = НовыйОбъект.ДатыОтбораДанныхИсточника.Добавить();
Стр.ИмяДатаГраницы = "НП";
Стр.НачальнаяГраницаОтсчета = Перечисления.ВидыГраницОтбораИсточникаПланирования.НачалоПериода;

Стр = НовыйОбъект.ДатыОтбораДанныхИсточника.Добавить();
Стр.ИмяДатаГраницы = "КП";
Стр.НачальнаяГраницаОтсчета = Перечисления.ВидыГраницОтбораИсточникаПланирования.КонецПериода;

Стр = НовыйОбъект.Показатели.Добавить();
Стр.Имя = "СуммаПриход";
Стр.Использование = Истина;
Стр.Представление = "СуммаПриход";

//Определяются данные для заполнение таб части связь измерений источника с изм бюджетирования
Стр = НовыйОбъект.ИзмеренияИсточника.Добавить();
Стр.ИзмерениеБюджетирования = Перечисления.ИзмеренияБюджетирования.ЦФО;
Стр.ИмяПоляИсточника = "Подразделение";
Стр.ПутьКДанным = "Подразделение";

Стр = НовыйОбъект.ИзмеренияИсточника.Добавить();
Стр.ИзмерениеБюджетирования = Перечисления.ИзмеренияБюджетирования.Номенклатура;
Стр.ИмяПоляИсточника = "Номенклатура";
Стр.ПутьКДанным = "Номенклатура";

НовыйОбъект.ПроизвольныйЗапрос = Истина;

НовыйОбъект.ТекстЗапроса = "ВЫБРАТЬ
|ЗакупкиОбороты.Период,
|ЗакупкиОбороты.Регистратор,
|ЗакупкиОбороты.Номенклатура,
|ЗакупкиОбороты.Проект,
|ЗакупкиОбороты.Подразделение КАК Подразделение,
|ЗатратыОбороты.СтатьяЗатрат КАК СтатьяЗатрат,
|ЗатратыОбороты.СуммаПриход,
|ЗакупкиОбороты.Контрагент
|ИЗ
|РегистрНакопления.Закупки.Обороты(, , Регистратор, ) КАК ЗакупкиОбороты
|ВНУТРЕННЕЕ СОЕДИНЕНИЕ
|РегистрНакопления.Затраты.Обороты(, , Регистратор, ) КАК ЗатратыОбороты
|ПО ЗакупкиОбороты.Регистратор = ЗатратыОбороты.Регистратор
|ГДЕ
|ЗакупкиОбороты.Период МЕЖДУ &НП И &КП
|И ЗакупкиОбороты.Номенклатура В ИЕРАРХИИ(&Номенклатура)
|И ЗатратыОбороты.СтатьяЗатрат = &СтатьяЗатрат";

Построитель = Новый ПостроительОтчета;
Построитель.Текст = НовыйОбъект.ТекстЗапроса;

//Определяются параметры на вкладке произвольного запроса Параметры
Построитель.Параметры.Вставить("Номенклатура",Справочники.Номенклатура.НайтиПоКоду("00000000015"));
Построитель.Параметры.Вставить("СтатьяЗатрат",ИмяСтатьи);

СтруктураНастройки=Новый Структура;
СтруктураНастройки.Вставить("НастройкиПостроителя", Построитель.ПолучитьНастройки());
СтруктураНастройки.Вставить("ПараметрыПостроителя", Построитель.Параметры);

ХранилищеДанных = Новый ХранилищеЗначения(СтруктураНастройки);
НовыйОбъект.НастройкиПостроителя = ХранилищеДанных;

НовыйОбъект.Записать();

Код отрабатывает без ошибок. Элемент справочника ИсточникиДанных создается, с заполнеными текстом запроса и параметрами.
Но при заполнении документа "Учет фактических данных" данных по выбранной статье не выдает.
Если кто работал с подсистемой Бюджетирование. Прошу помочь
Yandex
Возможно, вас также заинтересует
Реклама на портале
alhimov
09.07.2011 18:10Ответ № 1
Конфигурация УПП
alhimov
10.07.2011 23:06Ответ № 2
Сам спросил-сам ответил.
Нашел ошибку, все работает. косяк в запросе был, поэтому Построитель и возвращал пустую ТаблицуЗначений.
в архив.
Подсказка: Для выделения Кода используйте (в редакторе).
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.