Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Отчте на СКД из формы дока и из меню отчетов. (с параметрами на выбор пользователя).

Отчте на СКД из формы дока и из меню отчетов. (с параметрами на выбор пользователя).
Я
   lirt82
 
25.03.19 - 08:25
Конфа управляемые формы, пользователи попросили сделать самописный отчет на СКД по регистру ПартииТоваровОрганизации. Отчет должен запускаться из формы дока Реализация а также из меню отчетов интерфейса Закупок. 1) с вызовом из документа понятно, на форме сделаю кнопку и при нажатии через параметр передам ссылку на документ и когда отчет откроется в параметре Регистратор будет док из формы которого запускаем отчет и можно управлять доступностью и видимостью параметров на форме отчета. т.е. в отчете есть пока только параметр период витр. таблицы регистра с..по.., т.е. при вызове из дока вместо параметров период должен передаваться параметр Регистратор - док из формы которого мы вызываем наш отчет(период не нужен). Если вызываем из меню отчетов, то пользователям должны иметь выбор параметров или сформировать отчет по документу или за период или по контрагенту. Как это сделать? один отчет для дока и второй файл для меню отчетов? Хотелось бы одним отчетом управлять. 2) как сделать при нажатии кнопки "Сформировать отчет" из формы документа чтоб сразу открывался сформированный отчет, без дополнительного нажатия на форме отчета кнопки "Сформировать"?
 
 
   toypaul
 
1 - 25.03.19 - 08:41
1) два варианта отчета, если структура отчета отличается. основной для открытия из меню. либо просто задавать пользовательские настройки как нужно.
2) передать в параметр СформироватьПриОткрытии = Истина при открытии формы отчета
   lirt82
 
2 - 28.03.19 - 08:55
(1) апну тему, кнопку создал, в конфу добавил свой отчет при нажатии на кнопку отчет формируется но ссылка на документ в котором нажали кнопку не передается. Т.е. нужно ли что-то дописывать в модуле самого отчета? ПриОткрытии()? сейчас у отчета на СКД нет формы, ее создавать?

&НаКлиенте
Процедура ОтчетПоДокументу(Команда)
    
    ПользовательскиеНастройки = Новый ПользовательскиеНастройкиКомпоновкиДанных;
    ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("Док", Объект.Ссылка);
    ПараметрыОтчета = Новый Структура;
    ПараметрыОтчета.Вставить("СформироватьПриОткрытии", Истина);
    ПараметрыОтчета.Вставить("КлючВарианта", "ФормированиеПоПараметрам");
    ПараметрыОтчета.Вставить("ПользовательскиеНастройки", ПользовательскиеНастройки);   
    ОткрытьФорму("Отчет.test_СебестоимостьПоДокументу.ФормаОбъекта", ПараметрыОтчета);
        
КонецПроцедуры
   СтарПом
 
3 - 28.03.19 - 09:05
(2) http://catalog.mista.ru/public/1027823/
и https://forum.infostart.ru/forum9/topic212215/ (Программное открытие отчета СКД без формы с передачей параметров)
   aleks_default
 
4 - 28.03.19 - 10:23
(2)Если можно Документ сделать не параметром а элементом отбора, то все просто ПараметрыОтчета.Вставить("Отбор", Новый Структура("ДокументСсылка",Документ));
   aleks_default
 
5 - 28.03.19 - 10:24
Вернее для тебя так
Если можно Документ сделать не параметром а элементом отбора, то все просто ПараметрыОтчета.Вставить("Отбор", Новый Структура("Док",Объект.Ссылка));
И лучше сделать не кнопку а команду
   lirt82
 
6 - 28.03.19 - 14:26
(3) (4) (5) все получилось, спасибо

теперь проблема чуть другая
в запросе у отчета я сделал 3 параметра это Период, Документ и Контрагент, отчет не дает сформироваться пока все 3 параметра не выберу, а мне нужно универсально сделать, Если выбрали по периоду то формируется по периоду, если по контрагенту то по контрагенту и т.д. как сделать?
   lirt82
 
7 - 28.03.19 - 14:28
вообщем пользователям нужно по примеру ведомости, хочешь так хочешь иначе
   lirt82
 
8 - 28.03.19 - 14:31
а у меня в отчете получилось 3 обязательных параметра:)
   toypaul
 
9 - 28.03.19 - 15:17
в запросе написать {где (Период = &Период),(Контрагент = &Контрагент)} и т.д.
   aleks_default
 
10 - 28.03.19 - 15:18
(9)+Или опять же в отбор

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.