Имя: Пароль:
1C
 
Программное сохранение отчета с ошибкой
0 Nivator
 
naïve
28.03.25
00:31
Всем здравствуйте!
Такая проблема. Программно открываю форму отчета ОСВ по кнопке, он формируется и мне нужно его сохранить. Сохраняю в конце процедуры этой кнопки и не сохраняет. Выдает ошибку, что отчет формируется. Как будто он не успевает сформироваться, а я его сохраняю.
В отчете есть несколько показателей. Если я сохраняю с одним показателем, то сохраняется. Если больше, чем с одним - выпадает с ошибкой "Отчет формируется", то есть не успевает.
Может паузу какую то выждать в коде?
1 Волшебник
 
28.03.25
00:55
тупые боты засрали мисту
2 Nivator
 
naïve
28.03.25
00:55
(0) Ставлю метод ВызватьПаузу, падает с ошибкой, что использование в клиент-серверном вызове запрещено, но отчет сохраняется)) Ну типа время проходит, ему хватает сформироваться
3 Nivator
 
naïve
28.03.25
01:13
Подскажите пожалуйста, как сделать паузу на клиенте?
4 Мультук
 
гуру
28.03.25
07:23
(3)

Проблема в том, что люди не умеют ни читать, ни думать, ни гуглить.


(0)

Подскажите как сделать паузу при выполнении кода?

(0)
В БП есть готовый механизм "Рассылка отчётов".
Формируйте и рассылайте отчёт ОСВ через него.

-- или оттуда можно посмотреть код формирования отчётов
-- или дописать, чтобы вместо рассылки оно сохраняло отчёт в сетевую папку
-- или просто посмотреть код, как же 1С формирует ОСВ не открывая форму отчёта,
использовать этот код в своих доработках
5 AlexKimp
 
28.03.25
07:55
эмммм.... причем тут пауза? нужен гарантированно созданный и заполненный табличный документ, как я понял. какую паузу ставить? сколько он будет формироваться? а если в этот момент сервер будет нагружен, и формирование растянется несколько дольше? ИМХО пауза в данном случае - гадание на кофейной гуще. если отчет формируется асинхронно, то нужно ЖДАТЬ коллбэк, который даст понять окончание формирования. Например, то какой-то экспортный метод в модуле менеджера отчета ОСВ, который всё сформирует и вернет готовый табдок. дальше делайте с ним, что хотите: хоть сохраняйте, хоть автоматом печатайте, хоть уничтожьте и забудьте. и зачем программно открывать отчет? форма нужна для взаимодействия с пользователем, программно достаточно заполнить нужные параметры и дернуть формирование. Как-то что-то не туда автор поехал. ну или я не врубился, чего ему надо-то

ЗЫ чет мне уже не очень заходит эта идея 1С с ВызватьПаузу. чую, будет костыль на костыле в конфах, лепить начнут куда только можно и нельзя.