Как програмно проверить был ли сформирован отчет (СКД) ? #664228


#0 by fantomrik
Доброго времени суток! Сделал отчет на СКД. Так же по заданию нужно, что бы после формирования отчета была возможно вывести на печать данные согласно требованиям. Так как результат запроса после формирования отчета удаляется, я создал дополнительный макет СКД идентичный Основному и по нажатию на кнопку печать получаю настрой пользователя, подставляю их в макет и на основании результата запроса уже формирую печатные формы (в Ворде). Но если отчет не был сформирован, а пользователь нажмет на печать бланков, мой запрос не совсем корректно отработает. Подскажите, как программно можно проверить был ли сформирован отчет кнопкой "Сформировать" (и соответственно если не был - выставлю запрет на формирование бланков)? Спасибо!
#1 by Очевидно
т.е. формирование бланков возможно, только после того как сформирован отчёт ? а почему бы не отвязать их друг от друга ?
#2 by fantomrik
Еще только разбираюсь с СКД, не получается выловить ошибку почему неверно формируется мой запрос, если предварительно не был сформирован отчет. Поэтому решил пойти таким путем, но и его не пойму как реализовать )
#3 by Очевидно
если хочешь извернуться - Добавь реквизит в отчёт "Отчёт сформирован" , типа Булево, при открытии пусчай он будет "Отчёт сформирован=Ложь;", а при нажатии сформировать - задай "Отчёт сформирован=Истина;"
#4 by Очевидно
и тогда при нажатии "Сформировать бланки" задай "Если не Отчётсформирован Тогда ,или что там у тебя
#5 by fantomrik
Нашел ошибку - отвязал :) Но все равно по логике как то не правильно формировать печатные бланки, не видя на кого они будут сформированы (там может быть 500 сотрудников). тоже так хотел, не пойму как "подлезть" к нажатию кнопки Сформировать, это же типовая кнопка отчета, процедуры этой нет в модуле формы.
#6 by Очевидно
Кнопка Сформировать - точно такой же объект , как если бы ты нарисовал там рядом свою кнопку ... поэтому В конфигураторе вылазишь на форму - Двойной клик на кнопку - и смотришь что написано в поле "Действие" , переходишь на процедуру (Кнопочка с увеличительным стеклом) (скорее всего в модуле формы) ... а дальше фонтазия может набрать обороты в зависимости от целей
#7 by fantomrik
Да нет там лупы в этом и загвоздка...
#8 by Очевидно
А , сори попутал немного ... тогда там сложнее ... Это из серии
#9 by fantomrik
Спасибо за помощь!!!  вроде пишут никак не доберусь я до обработчика события этой кнопки. Печально.
#10 by fantomrik
Возникла такая мысль - в форме отчета отчет выводится в поле табличного документа "Результат". Можно наверно как то в нем сравнить на заполненность какой ли элемент и сделать вывод - формировался ли отчет(выводилось ли что то в Результат) или нет. Но пока не пойму что именно изменится в поле табличного документа однозначно, если был вывод в него информации (даже пустой отчет если сформировался)
#11 by Web00001
Подозреваю количество строк в табличном документа изменится. Есть такое свойство у табличного документа как ВысотаТаблицы. Я так и не понял ты механизм кнопки осилил?
#12 by fantomrik
Действительно, высота изменяется, спасибо! Не осилил механизм кнопки , не понял куда копать.
#13 by Любопытная
Команда у этой кнопки стандартная, по ней вызывается процедура ПриКомпоновкеРезультата если она прописана в модуле объекта. Больше никак эту кнопку не достанешь вроде
#14 by fantomrik
А если не прописана, можно самому прописать эту процедуру и она будет подхватываться?
#15 by Любопытная
Конечно. Но надо им5ть в виду параметр <СтандартнаяОбработка. Если он истина, то сначала отработает стандартное поведение системы, а потом уже твой код, а если ложь, то стандартного поведения не будет, т.е. всю обработку компоновки надо будет прописывать кодом. По умолчанию параметр имеет значение истина
#16 by Любопытная
Извиняюсь за опечатки. Планшет и торопливость)
#17 by fantomrik
Спасибо! А где посмотреть значение сего параметра?
#18 by Любопытная
Справку почитать. Там все все написано
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С