Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Как открыть программно отчет со своим периодом?          
Vofka Подменю пользователя
сообщение 06.07.12, 9:04
Сообщение #1

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Привет!

Есть отчет, на СКД. В его детали не вдаемся, ибо не о том речь. В отчете есть параметры период, НачальнаяДата и КонечнаяДата. Период имеет тип СтандартныйПериод. НачальнаяДата и КонечнаяДата заполняются из него. Поле период выведено на форму через свойство "Быстрый выбор". Хочу вызвать этот отчет за текущую дату (из управляемой формы):

ПараметрыФормы = Новый Структура("СформироватьПриОткрытии, Отбор");

ПараметрыФормы.СформироватьПриОткрытии = Истина;
    
Отбор = Новый Структура("Период");
Отбор.Период = Новый СтандартныйПериод(НачалоДня(ТекущаяДата()), КонецДня(ТекущаяДата()));

ПараметрыФормы.Отбор = Отбор;
    
ОткрытьФорму("Отчет.Продажи.ФормаОбъекта", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);


На первый взгляд всё замечательно - отчет открывается и формируется за текущую дату. Есть небольшое "но". Параметр Период на форме не отмечен галкой и там ничего не выбрано. Ну да отчет формируется и ладно.

А вот теперь внимание. Запускаю отчет Продажи руками, указываю там период ЭтаНеделя, например. Отчет формируется за неделю. После этого запускаю программно этот отчет кодом, который указа выше - мне выдается ошибка:

Цитата
Отчет не может быть выполнен, т.к. некоторые отборы или параметры уже установлены в дополнительном отборе. Измените настройки отчета или выберите другой вариант отчета.
по причине:
Невозможно применить фиксированные настройки. Совпадают значения параметра.


Пробовал я по всякому: и так, и добавлял в отбор НачальнаяДата и КонечнаяДата, пробовал через КомпоновщикНастроек - но нифига не вышло.

Если кто в подскажет как это побороть - буду благодарен.

Vofka Подменю пользователя
сообщение 09.07.12, 10:50
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Ап

DartRomanius Подменю пользователя
сообщение 09.07.12, 11:14
Сообщение #3

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Форма - Отчет - КомпоновщикНастроек - Элементы.

Насчет передачи параметров, думаю объяснять не надо.
Далее скорее всего в "ПриСозданииНаСервере" проработать вариант установки параметров, и потом сформировать отчет через "СкомпоноватьРезультат();".

Сообщение отредактировал DartRomanius - 09.07.12, 11:16


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Vofka Подменю пользователя
сообщение 09.07.12, 11:48
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Я писал выше, что пробовал и через компоновщик.

Форма = ПолучитьФорму("Отчет.Продажи.ФормаОбъекта", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);
ПараметрПериод = Форма.Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Период");
ПараметрПериод.Значение = Новый СтандартныйПериод(НачалоДня(ТекущаяДата()), КонецДня(ТекущаяДата()));
Форма.Открыть();


Но ситуация не меняется.

DartRomanius Подменю пользователя
сообщение 09.07.12, 12:00
Сообщение #5

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Цитата(Vofka @ 09.07.12, 12:48) *
Я писал выше, что пробовал и через компоновщик.

Форма = ПолучитьФорму("Отчет.Продажи.ФормаОбъекта", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);
ПараметрПериод = Форма.Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Период");
ПараметрПериод.Значение = Новый СтандартныйПериод(НачалоДня(ТекущаяДата()), КонецДня(ТекущаяДата()));
Форма.Открыть();


Но ситуация не меняется.


Не, передать при открытии формы параметры, а изменение настроек делать уже в модуле формы, в процедуре при создании.
ЗЫ: Просто компоновщик может быть не доступен до открытия (созднания?) формы. И ошибки не будет, а результат нулевой.

Сообщение отредактировал DartRomanius - 09.07.12, 12:01


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Vofka Подменю пользователя
сообщение 09.07.12, 15:51
Сообщение #6

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Цитата(DartRomanius @ 09.07.12, 13:00) *
Не, передать при открытии формы параметры, а изменение настроек делать уже в модуле формы, в процедуре при создании.

Не, ну это ж не то пальто smile.gif . А как-то внешне на него вздействовать всётаки нельзя?

DartRomanius Подменю пользователя
сообщение 09.07.12, 15:55
Сообщение #7

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Цитата(Vofka @ 09.07.12, 16:51) *
Не, ну это ж не то пальто smile.gif . А как-то внешне на него вздействовать всётаки нельзя?


Попробую на досуге потренироваться, так пока не скажу.


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Vofka Подменю пользователя
сообщение 09.07.12, 16:43
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Цитата(DartRomanius @ 09.07.12, 16:55) *
Попробую на досуге потренироваться, так пока не скажу.

Буду ждать smile.gif . Только имейте ввиду то, что я в первом посте написал. Т.е. вариант тот на первый взгял работает. Но работает он только до тех пор, пока я в этом отчете руками какие-то настройки не поставлю. Короче говоря, надо чтобы отчет формировался с заданными параметрами (в данном случае периодом) независимо не от чего.

Harun Подменю пользователя
сообщение 27.09.12, 12:26
Сообщение #9

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 10.07.12, 2:43) *
Буду ждать smile.gif . Только имейте ввиду то, что я в первом посте написал. Т.е. вариант тот на первый взгял работает. Но работает он только до тех пор, пока я в этом отчете руками какие-то настройки не поставлю. Короче говоря, надо чтобы отчет формировался с заданными параметрами (в данном случае периодом) независимо не от чего.


Привет!

Через отбор устанавливаются параметры в фиксированных настройках.
Если в настройках варианта отчета выведен параметр, и он обязателен, при формировании отчета будет возникать такая ошибка.
Для обхода нужно или убрать "использование" с параметра в настройках варианта, либо задавать параметр не через отбор, а кодом типа:
    
ПараметрПериода = НастройкиСКД.ПараметрыДанных.Элементы.Найти("СтандартныйПериод");

ПараметрПериода.Значение = Новый СтандартныйПериод;
ПараметрПериода.Использование = Истина;


Мог где то ошибиться, ну суть верна

Vofka Подменю пользователя
сообщение 27.09.12, 12:47
Сообщение #10

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

Я освежу в памяти для себя о чем шла речь и попробую воспользоваться вашим советом smile.gif . За ответ спасибо!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.04.24, 22:31
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!