Привет!
Кто как создает отчеты? И какой способ когда лучше использовать?
Все зависит от того, что ты хочешь получить ...
Я если быстро - компоновку, если качественно - построитель, а точнее универсальный отчет ...
Компоновка хороша, но не все отчеты в компоновке можно нарисовать ...
Ясно. Спасибо за ответ!
(спрашиваю здесь, что бы не плодить темы)
Подскажите пожалуйста, как сделать отбор по Контрагенту, к примеру, в схеме компоновки данных?
Как пытаюсь сделать я:
При формировании запроса, я задаю выбранной виртуальной таблице условие "Контрагент = &Контрагент"... но тут я столкнулся с тем, что не понял, как в таком случае задать параметр &Контрагент. Кода невидно. Где задавать параметры мне пока непонятно.
Подскажите пожалуйста, как же сделать отбор по Контрагенту, который задается пользователем через форму отчета.
Creaturka
17.05.10, 17:33
параметр в режиме пользователя задается в форме настроек отчета Настройки-ПараметрыДанных (это при схеме компоновки в стандартном случае), код не нужен
Цитата(Creaturka @ 17.05.10, 19:33) необходимо зарегистрироваться для просмотра ссылки
параметр в режиме пользователя задается в форме настроек отчета Настройки-ПараметрыДанных (это при схеме компоновки в стандартном случае), код не нужен
Спасибо, добрый человек! )
Приоткрыл глаза!
Но, к сожалению, проблема все-равно остается актуальной по той причине, что пользователь не должен сам выбирать контрагента - он должен подставляться в зависимости от пользователя.
Как тут быть?
Цитата(Cnhtkjr @ 17.05.10, 19:51) необходимо зарегистрироваться для просмотра ссылки
Но, к сожалению, проблема все-равно остается актуальной по той причине, что пользователь не должен сам выбирать контрагента - он должен подставляться в зависимости от пользователя.
Как тут быть?
В настройках пользователя добавить настройку "Контрагент для отчетов" и подставлять ее.
Хотя мне трудно понять что же надо:
Цитата(Cnhtkjr @ 17.05.10, 18:40) необходимо зарегистрироваться для просмотра ссылки
Подскажите пожалуйста, как же сделать отбор по Контрагенту, который задается пользователем через форму отчета.
Цитата(Cnhtkjr @ 17.05.10, 19:51) необходимо зарегистрироваться для просмотра ссылки
пользователь не должен сам выбирать контрагента - он должен подставляться в зависимости от пользователя.
Creaturka
17.05.10, 18:08
можно попробовать так:
а).в режиме конфигуратора в схеме компоновки напротив нужного параметра ставим флажок "ограничение доступности"
б).изменяем процедуру формирования отчета в форме, вместо стандартной вставляем что-то типа
Процедура СформироватьОтчет()
КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки=КомпоновщикМакета.Выполнить(ОтчетОбъект.СхемаКомпоновкиДанных, ОтчетОбъект.КомпоновщикНастроек.Настройки);
//в этот момент подставляем нужный параметр
МакетКомпоновки.ЗначенияПараметров.Контрагент.Значение=НужныйКонтрагент;
ПроцессорКомпоновки=Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,,,Истина);
ПроцессорВывода=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.ОтображатьПроцентВывода=Истина;
ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.ТабДок);
ПроцессорВывода.НачатьВывод();
Пока Истина Цикл
СледЭлемент=ПроцессорКомпоновки.Следующий();
Если СледЭлемент=Неопределено Тогда
Прервать;
Иначе
ПроцессорВывода.ВывестиЭлемент(СледЭлемент);
КонецЕсли;
КонецЦикла;
ПроцессорВывода.ЗакончитьВывод();
КонецПроцедуры
Цитата(logist @ 17.05.10, 20:03) необходимо зарегистрироваться для просмотра ссылки
В настройках пользователя добавить настройку "Контрагент для отчетов" и подставлять ее.
не совсем понял, но посмотрю и попробую понять. спасибо.
Цитата(logist @ 17.05.10, 20:03) необходимо зарегистрироваться для просмотра ссылки
Хотя мне трудно понять что же надо:
Извините )) Это я уже просто думаю одно - говорю другое. Запарился немного.
Цитата(Creaturka @ 17.05.10, 20:08) необходимо зарегистрироваться для просмотра ссылки
можно попробовать так:
а).в режиме конфигуратора в схеме компоновки напротив нужного параметра ставим флажок "ограничение доступности"
б).изменяем процедуру формирования отчета в форме, вместо стандартной вставляем что-то типа
Спасибо! Кажется главный смысл уловил, утром опробую. Спасибо!
2Creaturka
Дай Бог вам здоровья и счастья!!!
Нет слов, что бы выразить как я счастлив! И как вы мне помогли!
Работает! Прелесть как работает!
Вот только если я в отчете задал параметр, то потом даже если я его меняю, все-равно отчет выводится по старому параметру. Буду думать почему так, но это уже не жизненно важно.
(а нет, если меняю параметр, то добавляется просто новая таблица с заданным параметром, не затирая старую. Тоже интересно)) В общем вектор получил и это главное)
Creaturka
18.05.10, 13:26
перед выводом результата отчета очистить поле табличного документа
Люди. Подскажите такую вещь:
можно ли как-то сделать так, что бы пользователь мог сохранять и загружать свои настройки компоновки данных?
Если пользователь сможет сохранять где-то свои настройки отчетов и потом загружать себе по надобности нужный, то отпадет львиная доля работы.
Процедура ДействияФормыСохранить(Кнопка)
Настройки = ОтчетОбъект.КомпоновщикНастроек.Настройки;
НовыйCXDTO = Новый СериализаторXDTO(ФабрикаXDTO);
Путь = СокрЛП("d:\настройки\");
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл(Путь + "\config.xml");
Запись.ЗаписатьОбъявлениеXML();
НовыйCXDTO.ЗаписатьXML(Запись, Настройки, НазначениеТипаXML.Явное, ФормаXML.Элемент);
Запись.Закрыть();
КонецПроцедуры
Процедура ДействияФормызагрузить(Кнопка)
Чтение = Новый ЧтениеXML;
НовыйCXDTO = Новый СериализаторXDTO(ФабрикаXDTO);
Путь = СокрЛП("d:\настройки\");
Чтение.ОткрытьФайл(Путь + "\config.xml");
Настройки = НовыйCXDTO.ПрочитатьXML(Чтение);
ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
КонецПроцедуры
вот мой вариант. Работает, не спорю.
Но может есть другие варианты? можно ил использовать регистры сведений?
И сейчас думаю как реализовать возможность сохранения множества профилей.
В типовых это регистром сведений и сделано ... Посмотри любой отчет ...
Что касается компоновки данных и вообще механизмов компоновки в восьмерке. На мой взгляд, это отличные механизмы для формирования отчетов. Гибкий, многофункциональный...НО!
1. Неудобен тем, что пока разберёшься как править отчеты на нем - сойдешь с ума. Но делать нечего...80% отчетов в типовых решениях написаны на нем. Без пива и Хрусталёвой не поддается пониманию)
2. Для тех, кто начинает заниматься 1С программированием, на мой взгляд, этот механизм можно осваивать в последнюю очередь, так как написание отчетов руками - начиная от формы и заканчивая макетом - полезный тяжелый труд.
Лично я пишу руками...как-то интересней.
а чем не устраивают стандартные кнопки "Сохранить\восстановить значения"?(добавляются на панель по дефолту если речь идет о форме отчета). делают именно то что заказывали без РС и привязаны к текущему пользователю
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.