Как стандартному периоду программно задать начало и конец периода?
По теме из базы знаний
- Выгрузка-загрузка любых данных (и измененных) между похожими конфигурациями (ФАЙЛ, HTTP, COM) ЛЮБЫХ баз 1С 8.1-8.3 с обработкой и поиском данных по произвольным полям поиска
- 50+ советов для успешной сдачи 1С: Специалист по платформе
- Конфигурация Flowcon
- СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ
- Как сдать экзамен 1С:Специалист по платформе?
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Периодичность.ДатаНачала", ДатаНачала);
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Периодичность.ДатаОкончания", ДатаОкончания);
КонецПроцедуры
(5) Если выложите код создания и сохранения, мб смогу что то подсказать
НовОтчет = Отчеты.ПлановыеОтгрузкиПроизводство.Создать();
НовОтчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Периодичность.ДатаНачала", ДатаНачала);
НовОтчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Периодичность.ДатаОкончания", ДатаОкончания);
(6)
Таб = Новый ТабличныйДокумент;
ИмяФайлаОтчета = КаталогВременныхФайлов() + "Report_.tmp";
Отчет = Справочники.ВнешниеОбработки.НайтиПоНаименованию("2323332");
ДвоичныеДанные = Отчет.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайлаОтчета);
НужныйОтчет = ВнешниеОтчеты.Создать(ИмяФайлаОтчета, ложь);
СхемаКомпоновкиДанных = НужныйОтчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
Настройки = КомпоновщикНастроек.Настройки;
Показать
Так заработает?
Я так понимаю, ниже еще код сохранения в Excell
Таб = Новый ТабличныйДокумент;
ИмяФайлаОтчета = КаталогВременныхФайлов() + "Report_.tmp";
Отчет = Справочники.ВнешниеОбработки.НайтиПоНаименованию("2323332");
ДвоичныеДанные = Отчет.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайлаОтчета);
НужныйОтчет = ВнешниеОтчеты.Создать(ИмяФайлаОтчета, ложь);
СхемаКомпоновкиДанных = НужныйОтчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
Настройки = КомпоновщикНастроек.Настройки;
//после восстановления настроек по умолчанию, ставим свои+
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Периодичность.ДатаНачала", ДатаНачала);
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Периодичность.ДатаОкончания", ДатаОкончания);
//Закончили ставить параметры
ПоказатьЯ так понимаю, ниже еще код сохранения в Excell
(8)Да, правильно понимаете
Выдает ошибку:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(3828)}: Ошибка при вызове метода контекста (УстановитьЗначениеПараметра)
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Периодичность.ДатаНачала", ДатаНачала);
по причине:
Параметр с указанным именем не найден
Выдает ошибку:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(3828)}: Ошибка при вызове метода контекста (УстановитьЗначениеПараметра)
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Периодичность.ДатаНачала", ДатаНачала);
по причине:
Параметр с указанным именем не найден
(10) а так?
Таб = Новый ТабличныйДокумент;
ИмяФайлаОтчета = КаталогВременныхФайлов() + "Report_.tmp";
Отчет = Справочники.ВнешниеОбработки.НайтиПоНаименованию("2323332");
ДвоичныеДанные = Отчет.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайлаОтчета);
НужныйОтчет = ВнешниеОтчеты.Создать(ИмяФайлаОтчета, ложь);
СхемаКомпоновкиДанных = НужныйОтчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
Настройки = КомпоновщикНастроек.Настройки;
//после восстановления настроек по умолчанию, ставим свои+
ИдентификаторПользНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.ПолучитьИдентификаторПоОбъекту(КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Периодичность")));
ПараметрПользовНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ИдентификаторПользНастройки);
ПараметрПользовНастройки.Использование = Истина;
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Периодичность.ДатаНачала", ДатаНачала);
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Периодичность.ДатаОкончания", ДатаОкончания);
//Закончили ставить параметры
Показать
(13) ну допустим я скопировал с другого сайта и не заморачивался
//после восстановления настроек по умолчанию, ставим свои+
КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Периодичность")).Использование = Истина;
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Периодичность.ДатаНачала", ДатаНачала);
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Периодичность.ДатаОкончания", ДатаОкончания);
//Закончили ставить параметры
(14)все равно выдает такую ошибку:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(3828)}: Ошибка при вызове метода контекста (УстановитьЗначениеПараметра)
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Периодичность.ДатаНачала", ДатаНачала);
по причине:
Параметр с указанным именем не найден
перепробовал все параметры
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(3828)}: Ошибка при вызове метода контекста (УстановитьЗначениеПараметра)
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Периодичность.ДатаНачала", ДатаНачала);
по причине:
Параметр с указанным именем не найден
перепробовал все параметры
(14)
так получается установить параметры, но судя по-всему как-то неправильно так ставит период. Потому что ,когда в пользовательском режиме запускаю отчет, ставлю тот же период и отчет выводит корректные данные, а когда так программно делаю, присутствует погрешность.
КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Периодичность")).Использование = Истина;
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[5].Значение.ДатаНачала=ДатаНачала;
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[5].Значение.ДатаОкончания=ДатаОкончания;
так получается установить параметры, но судя по-всему как-то неправильно так ставит период. Потому что ,когда в пользовательском режиме запускаю отчет, ставлю тот же период и отчет выводит корректные данные, а когда так программно делаю, присутствует погрешность.
(22) вот так присваивается:
но все равно почему-то с погрешностью показывает, может дело не в периоде
ПараметрДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Периодичность");
Если ПараметрДанных <> Неопределено Тогда
ПараметрПользовательскойНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрДанных.ИдентификаторПользовательскойНастройки);
Если ПараметрПользовательскойНастройки <> Неопределено Тогда
ПараметрПользовательскойНастройки.Значение.ДатаНачала=НачалоДня(ТекущаяДата()-86400);
ПараметрПользовательскойНастройки.Значение.ДатаОкончания=КонецДня(ТекущаяДата()-80000);
КонецЕсли;
КонецЕсли;
/
Показатьно все равно почему-то с погрешностью показывает, может дело не в периоде
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)