|
Подскажите, в чем ошибка (упр. форма) | ☑ | ||
---|---|---|---|---|
0
mirrr
30.09.11
✎
11:56
|
Сделал упр. форму, при нажатии "сформировать" вызываю серверную процедуру, которая формирует отчет. При 1-м нажатии "сформировать" работает. При повторном - ошибка:
Ошибка при вызове метода контекста (СформироватьНаСервере)СформироватьНаСервере(); по причине:Неизвестный идентификатор формы Код: &НаКлиенте Процедура Сформировать() СформироватьНаСервере(); КонецПроцедуры &НаСервере Процедура СформироватьНаСервере() ОтчетМ = ВнешниеОтчеты.Создать("с:\Отчет.erf"); Макет=ОтчетМ.ПолучитьМакет("Макет"); ОблШапка=Макет.ПолучитьОбласть("Шапка"); ТабДок.Очистить(); ТабДок.Вывести(ОблШапка); КонецПроцедуры // СформироватьНаСервере() В чем причина? |
|||
1
mirrr
30.09.11
✎
12:03
|
ошибка проявляется, если создаю внешний отчет. Если отчет в составе конф-ии, работает.
|
|||
2
Kuein
30.09.11
✎
12:04
|
А отчет точно лежит на диске "C" СЕРВЕРА?
|
|||
3
mirrr
30.09.11
✎
12:08
|
да, все под локальной машиной. 1-й раз нажимаю сформировать - формирует. 2-ой - ошибка. Как будто не видит процедур и функций, прописанных в модуле упр. формы.
|
|||
4
mirrr
30.09.11
✎
12:13
|
+(3) т.е. когда нажимаю 2-й раз на "сформировать", в модуле упр. формы идет обращение к процедуре на сервере, которую программа не видит, как будто ее нет совсем.
|
|||
5
mirrr
30.09.11
✎
12:28
|
ошибка из-за того, что идет создание внеш. отчета.
Если вместо строк ОтчетМ = ВнешниеОтчеты.Создать("с:\Отчет.erf"); Макет=ОтчетМ.ПолучитьМакет("Макет"); написать строку Макет=Отчеты.ОтчетМ.ПолучитьМакет("Макет"); то будет работать. Подскажите, как правильно это реализовать в случае с внешним отчетом |
|||
6
jump if zero
30.09.11
✎
12:31
|
Макет= ВнешниеОтчеты.Создать("N:\1С\ВнешнийОтчет1.erf").ПолучитьМакет("Макет");
+ неполучается воспроизвести твою ошибку |
|||
7
mirrr
30.09.11
✎
12:35
|
(6) я то же самое написал.
попробуй 2-й раз нажать на сформировать. У меня не видит после 2-го нажатия процедуру СформироватьНаСервере() &НаКлиенте Процедура Сформировать() СформироватьНаСервере(); КонецПроцедуры |
|||
8
mirrr
30.09.11
✎
12:36
|
+(7) это именно после создания внешнего отчета
|
|||
9
jump if zero
30.09.11
✎
12:41
|
я 20 раз нажимал
|
|||
10
jump if zero
30.09.11
✎
12:42
|
20 раз выводится шапка и да же сам внешний отчет отрыл просто инетрактивно
|
|||
11
mirrr
30.09.11
✎
12:45
|
(10) код скопировал из (0)?
Отчет открывать на тонком через файл-открыть. Форма управляемая. |
|||
12
mirrr
30.09.11
✎
12:55
|
пробовал на разных базах, в т.ч. на созданной с нуля, ошибка та же при 2-м нажатии на сформировать.
отчет могу скинуть |
|||
13
jump if zero
30.09.11
✎
13:00
|
не совсем понял ты этот код вызываешь из формы того же отчета
который созаешь в коде? ОтчетОбъект= РеквизитФормыВЗначение("Отчет"); Макет = ОтчетОбъект.ПолучитьМакет("Макет"); ОблШапка=Макет.ПолучитьОбласть("Шапка"); ТабДок.Вывести(ОблШапка); |
|||
14
jump if zero
30.09.11
✎
13:09
|
попробовал твой код в той же форме того же отчета который вызываем в коде , на 2-ром клике
получаем "Ошибка создания источника доступных настроек компоновки данных" и падение клиента. |
|||
15
НЕА123
30.09.11
✎
13:24
|
Процедура СформироватьНаСервере()
Если ОблШапка = НЕОПРЕДЕЛЕНО Тогда ОтчетМ = ВнешниеОтчеты.Создать("с:\Отчет.erf"); Макет=ОтчетМ.ПолучитьМакет("Макет"); ОблШапка=Макет.ПолучитьОбласть("Шапка"); КонецЕсли; ТабДок.Очистить(); ТабДок.Вывести(ОблШапка); КонецПроцедуры // СформироватьНаСервере() |
|||
16
mirrr
30.09.11
✎
13:58
|
(13) вначале открываю отчет (файл-открыть), потом программно создаю его же для того, чтобы получить его макет. Далее получается из него же формирую макет.
Как-то может нужно по-другому написать? |
|||
17
НЕА123
30.09.11
✎
14:00
|
&НаКлиенте
Процедура Сформировать() СформироватьНаСервере(); КонецПроцедуры &НаСервере Процедура СформироватьНаСервере() ПолучитьМакет("Макет"); ОблШапка=Макет.ПолучитьОбласть("Шапка"); ТабДок.Очистить(); ТабДок.Вывести(ОблШапка); КонецПроцедуры // СформироватьНаСервере() |
|||
18
mirrr
30.09.11
✎
14:20
|
(17) не компилится
правильно в (13) |
|||
19
mirrr
30.09.11
✎
14:25
|
(13) можно ли то же реализовать, только НаСервереБезКонтекста, передав в процедуру объект отчет, или нет смысла извращаться?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |