Неизвестный модуль 1 ошибка при вызове метода контекста получитьформу

Как открыть форму внешней обработки в Серверном режиме в Управляемых формах?

Я
   D_Pavel

02.03.12 — 11:10

Делаю так:

Основнаяформа=ПолучитьФорму(«ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма», Новый Структура(«Ключ», ЭтотОбъект));

В файловом режиме 1С работает, а в серверном не работает, клиент толстый. Пишет:

Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма».

Как сделать чтобы в серверном работала?

   D_Pavel

1 — 02.03.12 — 11:12

+0

&НаКлиенте

Функция МаяФункция() Экспорт

   Основнаяформа=ПолучитьФорму(«ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма», Новый Структура(«Ключ», ЭтотОбъект));

КонецФункции

   ДенисЧ

2 — 02.03.12 — 11:12

Запустить управляемого клиента?

   andrewks

3 — 02.03.12 — 11:16

а она у тебя точно ТвАяОбработка?

   D_Pavel

4 — 02.03.12 — 11:17

(2) конечно. А потом выходить ошибка которую я описать в (0)

   D_Pavel

5 — 02.03.12 — 11:17

(3) Да, иначе в файловом варианте бы не открылась.

   andrewks

6 — 02.03.12 — 11:17

а, ясно, «мы нэмэстные…»

   D_Pavel

7 — 02.03.12 — 11:20

(6) Да, у нас на районе все пишут «МаяОбработка»

Ну так что по теме? Знает кто-нибудь?

   andrewks

8 — 02.03.12 — 11:20

(5) и ты хочешь сказать, что в файловом в тонком клиенте она у тебя открывается?

   D_Pavel

9 — 02.03.12 — 11:20

(8) в ТОЛСТОМ файловом открывается.

   ptiz

10 — 02.03.12 — 11:20

В каком модуле располагается: Функция МаяФункция() Экспорт ?

   andrewks

11 — 02.03.12 — 11:22

(9) ну а форма-то какая открывается? Управляемая, или обычная?

   D_Pavel

12 — 02.03.12 — 11:23

(10) В общем модуле.

   D_Pavel

13 — 02.03.12 — 11:24

(11) Управляемая. Она так и называется «УправляемаяФорма»

   andrewks

14 — 02.03.12 — 11:27

(13) ну, мало ли. может, у вас там принято так называть обычные формы

   aleks-id

15 — 02.03.12 — 11:27

кинь свою обработку на ифолдер. интересно поглядеть

   D_Pavel

16 — 02.03.12 — 11:34

(15) Ща попробую. Там релиться не надо?

   D_Pavel

17 — 02.03.12 — 11:35

   aleks-id

18 — 02.03.12 — 11:41

а я не понял, где ты код из (0) пишешь? в другой обработке?

   D_Pavel

19 — 02.03.12 — 11:43

(18) Код из (0) в модуле объекта.

   aleks-id

20 — 02.03.12 — 11:43

ага. в модуле объекта нет клиента. там тока сервер.

   aleks-id

21 — 02.03.12 — 11:44

и мне непонятно зафига ты так сделал вообще?

   D_Pavel

22 — 02.03.12 — 11:45

(21) Потому что она вызывается из общего модуля общей командой для всех внешних обработок.

   aleks-id

23 — 02.03.12 — 11:45

ты хочешь чтобы перед печатью этой внешней печатной формы вылезало окно настроек чтоли?

   D_Pavel

24 — 02.03.12 — 11:46

   D_Pavel

25 — 02.03.12 — 11:47

(20) Как сделать чтобы было клиент? Как я понял в файловом варианте само делается, потому что там нет сервера.

   aleks-id

26 — 02.03.12 — 11:49

в файловом варианте есть сервер. но поскольку он крутится на твоей локальной машине, то и позволяет открыть окно настроек.

   D_Pavel

27 — 02.03.12 — 11:50

(26) Ну да. А на серверном варианте как открыть форму?

   Кириллка

28 — 02.03.12 — 11:51

во-первых, ЭтотОбъект доступен на «Сервер, толстый клиент, внешнее соединение».

   DrShad

29 — 02.03.12 — 11:52

(28) и что?

   D_Pavel

30 — 02.03.12 — 11:53

(28) ЭтотОбъект можно вообще убрать, он не нужен. Щас там просто Объект, реквизит обработки.

   D_Pavel

31 — 02.03.12 — 11:57

К (0). Из внешнего модуля так вызывается:

   ИмяФайла = «C:МаяОбработка.epf»;

   Обработка = ВнешниеОбработки.Создать(ИмяФайла);

   Обработка.Объект = ОбъектИзБазы;

   ТабДокумент = Обработка.МаяФункция();

В (17) МаяФункция() заменена на функцию Печать()

   D_Pavel

32 — 02.03.12 — 11:58

Вообще строка     Обработка.Объект = ОбъектИзБазы;    роли не играет, не обращайте внимания.

   DrShad

33 — 02.03.12 — 11:59

ну не откроешь ты на сервере форму

   Кириллка

34 — 02.03.12 — 12:00

во-вторых, внешняя обработка предварительно зарегистрированы в системе?

в-третьих, а как это открытие обработки на сервере? Кто ее ТАМ будет наблюдать?

может мы чего не поняли в твоей задуме?

   ptiz

35 — 02.03.12 — 12:07

   ptiz

36 — 02.03.12 — 12:08

У меня вот даже зарегистрировать внешнюю обработку не получается в толстом клиенте.

   D_Pavel

37 — 02.03.12 — 12:11

(34) Не на сервере, а на клиенте в серверном варианте.

   Кириллка

38 — 02.03.12 — 12:13

(37)ну значит нужно прояснить только второй вопрос :)

   D_Pavel

39 — 02.03.12 — 12:15

(34) Как их регистировать в системе? И для чего?

   DrShad

40 — 02.03.12 — 12:22

(39) +1 для чего? после этого платформа позволит из модуля обработки открывать формы?

   aleks-id

41 — 02.03.12 — 12:34

короче. твоя печатная форма должна быть создана по технологии внешних обработок 8.2

только тогда ты сможешь открыть ее форму.

   aleks-id

42 — 02.03.12 — 12:35

делается это так:

   ДобавитьКоманду(ТаблицаКоманд,

       «Бла-бла-ба, то что пишем в менюшке»,

       «ИМЯ_ТВОЕЙ_ФОРМЫ»,

       «ОткрытиеФормы»,

   );

   aleks-id

43 — 02.03.12 — 12:36

+42 делается это в функции СведенияОВнешнейОбработке

   Кириллка

44 — 02.03.12 — 12:38

Вот этого нужно тебе?

&НаКлиенте

Процедура ОткрытьОбработку(Команда)

   Перем стрИмя, стрАдрес;

   
   стрАдрес = «»;

   Если НЕ ПоместитьФайл(стрАдрес, «D:ИмяОбработки.epf», , Ложь) Тогда

       Возврат;

   КонецЕсли;

   
   стрИмя = ПодключитьВнешнююОбработку(стрАдрес);

   
   Основнаяформа = ПолучитьФорму(«ВнешняяОбработка.» + стрИмя + «.Форма.Форма»);

   Основнаяформа.Открыть();

КонецПроцедуры // ОткрытьОбработку()

&НаСервере

Функция ПодключитьВнешнююОбработку(Знач стрАдрес)

   Возврат ВнешниеОбработки.Подключить(стрАдрес);

КонецФункции // ПодключитьВнешнююОбработку()

   aleks-id

45 — 02.03.12 — 12:43

   D_Pavel

46 — 02.03.12 — 12:49

Спасибо, буду разбираться

   D_Pavel

47 — 02.03.12 — 13:48

(41) Не понял как это может помочь открыть форму внешней обработки. Это для типовой УТ? Похоже не то что нужно

   aleks-id

48 — 02.03.12 — 13:53

(47) что конкретно тебе непонятно? ты делаешь дополнительную печатную форму для какого то документа. правильно?

   D_Pavel

49 — 02.03.12 — 13:53

(44) Пишет:  Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма»

   D_Pavel

50 — 02.03.12 — 13:54

(48) Да, но в той статье написано как сделать дополнительную печатную форму, это я сделал, работает.

Теперь мне надо открыть ее форму.

   aleks-id

51 — 02.03.12 — 13:56

(50) я тебе дал код в (42)

ищи в своей обработке «ДобавитьКоманду(ТаблицаКоманд,»

и пиши туда вместо ИМЯ_ТВОЕЙ_ФОРМЫ имя формы как она у тебя обзывается в обработке

   Кириллка

52 — 02.03.12 — 13:57

(49)я тебе рабочий код написал и выложил.

   aleks-id

53 — 02.03.12 — 14:00

(52) и куда надо прикрутить этот «рабочий» код чтобы ТС мог напечатать внешнюю печатную форму?

   Кириллка

54 — 02.03.12 — 14:03

(53)вопрос стоял, как открыть внешнюю обработку. Про печать ничего не слышал :)

   aleks-id

55 — 02.03.12 — 14:13

   Кириллка

56 — 02.03.12 — 14:32

(55)а в двух словах чего ему надо, если ты скачал и видел его файло.

   aleks-id

57 — 02.03.12 — 14:35

(56) ровно то, что я написал. ему надо сделать внешнюю печатную форму для УТ11, которая прилепляется к нужным документам штатными средствами без изменения конфы и позволяет перед печатью открывать окно с некоторыми настройками.

   aleks-id

58 — 02.03.12 — 14:36

но судя по тому, что ТС молчит, то предположу что он не осилил как же это сделать. видимо придется ему предложить купить эту форму ))))

   D_Pavel

59 — 05.03.12 — 05:52

(51) Этот код не работает. ДобавитьКоманду — такая процедура не определена.

(57) Вообще-то не для УТ11. Интересует как открыть форму в принципе, «с нуля»

   D_Pavel

60 — 05.03.12 — 05:54

(52) Код не работает.

Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма»

   Кириллка

61 — 05.03.12 — 06:52

(60)покажи код.

   D_Pavel

62 — 05.03.12 — 07:04

(61) Я его уже убрал. Смотри в (44)

   Кириллка

63 — 05.03.12 — 07:08

(62)код в (44) работает.

   D_Pavel

64 — 05.03.12 — 07:11

(63) Действительно, работает. Ошибся

   D_Pavel

65 — 05.03.12 — 07:16

Почему-то в пятницу не работало. 1с перезапустил, заработало.

Вот так тоже рабюотает:

&НаКлиенте

Функция Печать() Экспорт

   Перем стрАдрес;

   
   стрАдрес = «»;

   Если НЕ ПоместитьФайл(стрАдрес, «C:Temptmp.epf», , Ложь) Тогда

       Возврат (Неопределено);

   КонецЕсли;

   
   Основнаяформа = ПолучитьФорму(«ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма»);

   Основнаяформа.Открыть();

   
   Возврат(Неопределено);

КонецФункции

   Кириллка

66 — 05.03.12 — 07:19

(65)рандомный генератор пишешь?

   D_Pavel

67 — 05.03.12 — 07:23

Вот так тоже теперь работает:

&НаКлиенте

Функция Печать() Экспорт

   //Перем стрАдрес;

   //

   //стрАдрес = «»;

   //Если НЕ ПоместитьФайл(стрАдрес, «C:Temptmp.epf», , Ложь) Тогда

   //    Возврат (Неопределено);

   //КонецЕсли;

   //

   Основнаяформа = ПолучитьФорму(«ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма»);

   Основнаяформа.Открыть();

   
   Возврат(Неопределено);

КонецФункции

   D_Pavel

68 — 05.03.12 — 07:24

Что за фигня! В пятницу не работало, а сейчас работает без всяких дополнений! Всего-то платформу перезапустил

   Кириллка

69 — 05.03.12 — 07:28

(68)не делай как в (65) и (67), делай как в (44).

   D_Pavel

70 — 05.03.12 — 07:33

(69) Почему может быть такое сообщение?:

{ВнешняяОбработка.МаяОбработка.МодульОбъекта(52,14)}: Процедура или функция с указанным именем не определена (ПодключитьВнешнююОбработку)

   Кириллка

71 — 05.03.12 — 07:36

(70)а давай я тебе по руке погадаю? Тыж меня в телепаты записал.

Я думаю, что сообщение об ошибке достаточно для понимания.

   D_Pavel

72 — 05.03.12 — 07:40

(71) твой код. Пишется ошибка.

Закомментированная строка не работает. Переделал как во второй строке, ошибку не выдает:

   //стрИмя = ПодключитьВнешнююОбработку(стрАдрес);

   стрИмя = ВнешниеОбработки.Подключить(стрАдрес);

   Кириллка

73 — 05.03.12 — 07:49

(67)Если предполагать, что ты используешь код из (67), дополнив его куском кода из (72), то у меня разрыв шаблона — метод Подключить имеет доступность «Сервер, внешнее соединение», хотя у тебя выставлено &НаКлиенте.

Ты занимаешься мозгоимением??

   D_Pavel

74 — 05.03.12 — 07:52

&НаКлиенте

Функция Печать() Экспорт

   Перем стрИмя, стрАдрес;

   
   стрАдрес = «»;

   Если НЕ ПоместитьФайл(стрАдрес, «C:Temptmp.epf», , Ложь) Тогда

       Возврат (Неопределено);

   КонецЕсли;

   
   стрИмя = ВнешниеОбработки.Подключить(стрАдрес);

   
   Основнаяформа = ПолучитьФорму(«ВнешняяОбработка.» + стрИмя + «.Форма.УправляемаяФорма»);

   Основнаяформа.Открыть();

   
   Возврат(Неопределено);

КонецФункции

&НаСервере

Функция ПодключитьВнешнююОбработку(Знач стрАдрес)

   Возврат ВнешниеОбработки.Подключить(стрАдрес);

КонецФункции

   D_Pavel

75 — 05.03.12 — 07:53

Если использовать ПодключитьВнешнююОбработку вместо ВнешниеОбработки.Подключить, то выходит сообщение об ошибке:

Процедура или функция с указанным именем не определена (ПодключитьВнешнююОбработку)

   D_Pavel

76 — 05.03.12 — 07:55

Еще один косяк: Если переименовать мою обработку в любое имя кроме «МаяОбработка», то выходит сообщение об ошибке:

Неизвестное имя формы. Имя: «ВнешняяОбработка.блаблабла.Форма.УправляемаяФорма»

   D_Pavel

77 — 05.03.12 — 07:57

Третий косяк: Если взять другую обработку и задать ей имя «МаяОбработка», и открыть ее форму из той процедуры, то всё равно откроется форма старой обработки. Тоесть она как-то зарегистрировалась под этим именем, и не пойму когда и как она это сделала

   Кириллка

78 — 05.03.12 — 08:17

(74)а где это «Функция Печать() Экспорт» расположено?

   D_Pavel

79 — 05.03.12 — 08:23

(78) В модуле объекта внешней обработки

   Кириллка

80 — 05.03.12 — 08:26

(79)ты каким-то чудом вызываешь метод «Печать» из одной внешней обработки, а потом хочешь открыть другую внешнюю обработку «tmp.epf»??

А как ты вызываешь «Печать»?

   D_Pavel

81 — 05.03.12 — 08:31

(80) Из общего модуля вызываю:

   ИмяФайла = «C:Temptmp.epf»;

   Обработка = ВнешниеОбработки.Создать(ИмяФайла);

   ТабДокумент = Обработка.Печать();

   D_Pavel

82 — 05.03.12 — 08:33

Я вызываю метод Печать одной внешней обработки, и хочу чтобы она сама открыла свою форму.

   D_Pavel

83 — 05.03.12 — 09:00

Ап.

   Кириллка

84 — 05.03.12 — 09:12

хз, чего там у тебя как работает, но (74) не должен работать: &НаКлиенте и ВнешниеОбработки.Подключить не должны вместе дружить.

Еще раз: в (44) код достаточен для твоей задачи. «ОткрытьОбработку(Команда)» — это вызов по команде/кнопке на форме.

Открыл форму, сделал настройки, там же нажал кнопку/команду печать.

   D_Pavel

85 — 05.03.12 — 09:17

(84) Чтобы нажать кнопку на форме, нужно сперва открыть эту форму, а она не открывается. А вообще вызов внешней обработки и ее метода «Печать» нельзя менять. И почему работает ВнешниеОбработки.Подключить я не знаю. Могу выложить обработку чтобы посмотрели

   D_Pavel

86 — 05.03.12 — 09:30

(84) Вот выложил: http://ifolder.ru/29092486

Кнопка на обработке открывает такую же обработку и вызывает «Печать()». И твой код не работает.

{Форма.УправляемаяФорма.Форма(4)}: Ошибка при вызове метода контекста (Создать)

   Обработка = ВнешниеОбработки.Создать(ИмяФайла);

по причине:

{ВнешняяОбработка.МаяОбработка.МодульОбъекта(11,14)}: Процедура или функция с указанным именем не определена (ПодключитьВнешнююОбработку)

   стрИмя = <<?>>ПодключитьВнешнююОбработку(стрАдрес);

   D_Pavel

87 — 05.03.12 — 11:00

Ап.

   mikeA

88 — 05.03.12 — 11:26

(86)

ВнешниеОбработки не доступно в тонком клиенте

ПодключитьВнешнююОбработку это метод объекта. чтобы его вызвать, нужно сначала получить объект с помощью РеквизитФормыВЗначение. но сделать это можно только на сервере

а вообще зачем всё это нужно?

   D_Pavel

89 — 05.03.12 — 11:30

(88) У меня в ТОЛСТОМ клиенте

Этот метод вызывается в модуле объекта, тоесть получать объект не нужно, он уже есть.

Нужно просто разобраться. Почему оно не работает!

   D_Pavel

90 — 05.03.12 — 11:32

И как могут работать два метода ПоместитьФайл и ВнешниеОбработки.Подключить в одной процедуре!??! У них же разная доступность на клиенте и на сервере!

   mikeA

91 — 05.03.12 — 11:51

(89) тогда, ты будешь смеяться, всё работает

замени

   Основнаяформа = ПолучитьФорму(«ВнешняяОбработка.» + стрИмя + «.Форма.УправляемаяФорма»);

   Основнаяформа.Открыть();

на

   ОткрытьФорму(«ВнешняяОбработка.» + стрИмя + «.Форма.УправляемаяФорма»,,,Истина);

в принципе можно и ПолучитьФорму использовать и потом открывать, только при попытке передать туда ключ уникальности ругается на количество параметров, хотя параметры и там и там одинаковые

   aleks-id

92 — 05.03.12 — 11:55

(90) ты для какой конфы это безобразие ваяешь?

для УТ11 я тебе дал все карты в руки. у меня все работает, подключается, открывает форму настроек и печатает.

   D_Pavel

93 — 05.03.12 — 12:02

(91) если указать имя обработки «МаяОбработка», то работает. А если поменять имя и указать там новое имя, то не работает.

   D_Pavel

94 — 05.03.12 — 12:02

(92) Для пустой конфы. Тестовой

   D_Pavel

95 — 06.03.12 — 06:11

Выяснил что нужно хотябы раз открыть форму обработки через меню файл, и выполнить команду:

&НаКлиенте

Функция Команда1(Команда) Экспорт

   Перем стрИмя, стрАдрес;

   стрАдрес = «»;

   Если НЕ ПоместитьФайл(стрАдрес, «C:Temptmp.epf», , Ложь) Тогда

       Возврат (Неопределено);

   КонецЕсли;

   стрИмя = ВнешниеОбработки.Подключить(стрАдрес);

КонецФункции

Тогда в следующий раз форма открывается из модуля объекта нормально. Но как сделать чтобы не нужно было открывать ее в первый раз вручную?

   Кириллка

96 — 06.03.12 — 08:03

(95)свойства конфигурации — Обычное приложение???

   D_Pavel

97 — 06.03.12 — 08:07

(96) Основной режим: Управляемое приложение

   Кириллка

98 — 06.03.12 — 08:31

(97)да как так? открываю твою обработку в ут11 — в модуле формы уже ругань идет.

   D_Pavel

99 — 06.03.12 — 08:47

(98) Щас скачал ту которую выкладывал, открывается форма с одной кнопкой. Как так?

   D_Pavel

100 — 06.03.12 — 08:47

Платформа 8.2.15.289

Рекомендовать в новости

Не могу запустить регламентное задание под клиент-серверным вариантом. Помогите!

Гость

0

25.12.2011 — 22:30


1С УТ. ред. 10.3. Не могу запустить регламентное задание под клиент-серверным вариантом. В файловом все получается, а вот в клиент-серверном, что то никак не хочет. Что сделал:
1. Добавил регламентное задание;
2. В общем модуле создал процедуру:

Процедура ЭкспортTXT() ЭКСПОРТ
Сообщить(«Запуск обработки загрузки! «+ТекущаяДата());
ТФ = Обработки.ЭкспортTXT.Создать();
ТекФорма = ТФ.ПолучитьФорму();
ТекФорма.ЭкспортTXT();
КонецПроцедуры

3. Добавил обработку ЭкспортTXT.
Короче, все как в файловом варианте который работает.
Теперь запускаю консоль заданий, выдает ошибку:
Ошибка при вызове метода контекста (ПолучитьФорму).
В чем может быть ошибка подскажите.
Спасибо.

Гость

1

26.12.2011 — 00:44

управление сервером, свойства базы

Гость

2

26.12.2011 — 01:08

Разобрался, теперь проблема в модуле обработки пытаюсь создать текстовый файл
Файл = Новый ЗаписьТекста(«С:\111.txt»);, консоль запросов выдает ошибку:
Ошибка при вызове методе контекста (ЗаписьТекста) -вот что за фигня???

Гость

3

26.12.2011 — 07:44

С:???111.txt

Гость

4

26.12.2011 — 08:00

А есть ли права у юзера, под которым стартует сервер 1С, на запись в каталог С: на серваке?

Гость

5

26.12.2011 — 10:15

(5) Стартует под админом! Сисадмин уверяет, что он может делать ВСЕ ))) !!!

Гость

6

26.12.2011 — 10:19

(4) Сорри. С:111.txt — писал)))

Гость

7

26.12.2011 — 13:21

6-uh534 > Это админ может делать всё. Наверное, он не зяря уверяет…
А служба сервера предприятия стартована от имени пользователя, имеющего соответствующие права на файловые операции в корне системного диска?

Гость

8

26.12.2011 — 13:22

8-roma n > уйёёёёё…. создание формы… на сервере предприятия…
ЗЫ совсем я слепой стал…

Гость

9

28.12.2011 — 11:08

(1) не кошерно так писать код для вызова на сервере. :)
причем тут получить форму????

Процедура ЭкспортTXT() ЭКСПОРТ
Сообщить(«Запуск обработки загрузки! «+ТекущаяДата());
ТФ = Обработки.ЭкспортTXT.Создать();
ТФ.ЭкспортTXT();
КонецПроцедуры

при этом процедура ЭкспортTXT() должна располагаться в модуле объекта и быть экспортной.

так лучше будет. А то у романа чуть инфаркт не случился от такого святотатства.

Студворк — интернет-сервис помощи студентам

Уважаемые пользователи форума, ору вам о помощи — не могли бы вы помочь устранить данную проблему

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
&НаКлиенте
Процедура Команда1(Команда)
НайтиИОткрыть();
КонецПроцедуры
 
&НаСервере
Процедура НайтиИОткрыть() 
    Запрос = Новый Запрос;
    Запрос.Текст =  "ВЫБРАТЬ
                    |   МАКСИМУМ(ВладельцыКатегорий.Номер) КАК Номер
                    |ИЗ
                    |   Документ.ВладельцыКатегорий КАК ВладельцыКатегорий
                    |ГДЕ
                    |   ВладельцыКатегорий.ПрисвоеннаяКатегория = &Параметр";
    Запрос.УстановитьПараметр("Параметр", объект.КатегорияТовара);
    
    Результат = Запрос.Выполнить().Выбрать();
    ИскомыйДокумент = Документы.ВладельцыКатегорий.НайтиПоНомеру(Результат);
    Форма = ИскомыйДокумент.ПолучитьФорму(); 
Форма.Открыть()
КонецПроцедуры;

Суть модуля заключается в следующем — необходим поиск Номера документа на основе параметра &КатегорияТовара и как результат открытие его формы на экране.
Выскакивает следующая ошибка {Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(18)}: Ошибка при вызове метода контекста (ПолучитьФорму)
Форма = ИскомыйДокумент.ПолучитьФорму();
по причине:
Элемент не выбран!

Добавлено через 23 минуты
Забыл добавить, что ВладельцыКатегорий — документ, а сам модуль написан на Справочник Номенклатура (с реквизитом категория товара — ссылка на соответствующий справочник)

1С:Предприятие 8.3 (8.3.17.1851)
Толстый клиент
6_5.91 портативный вариант — более точно не скажу так как не запускается в принципе

Зарплата и управление персоналом, редакция 3.1 (3.1.17.94) 

Процедура воспроизведения
1. открываем ЗУП из конфигуратора
2. устанавливаем запускать в ОП
3. Запускаем в ОП
4. Запустилась
5. Файл открыть — выбираем основной файл ИР ирПортативный.epf
6. 
{ВнешняяОбработка.ирОбщий.МодульОбъекта(35006)}: Ошибка при вызове метода контекста (ПолучитьФорму)
Результат = ирПортативный.ПолучитьФорму(ИмяФормы, Владелец, Уникальность);
по причине:
Ошибка инициализации модуля: ВнешняяОбработка.ирПортативный.Форма.ПерезапускСеансаОбычная.Форма
по причине:
{ВнешняяОбработка.ирОбщий.МодульОбъекта(27005)}: При запуске сеанса из конфигуратора с текущим свойством конфигурации «Режим использования модальности» включается контроль модальности. 
Рекомендуется изменить это свойство конфигурации либо запустить сеанс другим способом.
Результат = ирПортативный.ПолучитьФорму(ИмяФормы, Владелец, Уникальность);

7. так же внизу выводится сообщение:

При запуске сеанса из конфигуратора с текущим свойством конфигурации «Режим использования модальности» включается контроль модальности. Для его отключения рекомендуется перезапустить сеанс через открывшуюся форму.

но ни какое окно при этом не открывается

8. на портативной версии 6_4.18 данное окно на этой же базы открывается без проблем и ошибка не возникает, так же ошибка не возникает на версии 6_5.55
9. Данная ошибка воспроизводится на версии 6_5.87.2

Делаю так: В файловом режиме 1С работает, а в серверном не работает, клиент толстый. Пишет: Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма». Как сделать чтобы в серверном работала?

Делаю так: В файловом режиме 1С работает, а в серверном не работает, клиент толстый. Пишет: Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма». Как сделать чтобы в серверном работала?

Запустить управляемого клиента?

а она у тебя точно ТвАяОбработка?

конечно. А потом выходить ошибка которую я описать в

Да, иначе в файловом варианте бы не открылась.

а, ясно, «мы нэмэстные…»

Да, у нас на районе все пишут «МаяОбработка» Ну так что по теме? Знает кто-нибудь?

и ты хочешь сказать, что в файловом в тонком клиенте она у тебя открывается?

в ТОЛСТОМ файловом открывается.

В каком модуле располагается: Функция МаяФункция Экспорт ?

ну а форма-то какая открывается? Управляемая, или обычная?

Управляемая. Она так и называется «УправляемаяФорма»

ну, мало ли. может, у вас там принято так называть обычные формы

кинь свою обработку на ифолдер. интересно поглядеть

Ща попробую. Там релиться не надо?

а я не понял, где ты код из пишешь? в другой обработке?

ага. в модуле объекта нет клиента. там тока сервер.

и мне непонятно зафига ты так сделал вообще?

Потому что она вызывается из общего модуля общей командой для всех внешних обработок.

ты хочешь чтобы перед печатью этой внешней печатной формы вылезало окно настроек чтоли?

Как сделать чтобы было клиент? Как я понял в файловом варианте само делается, потому что там нет сервера.

в файловом варианте есть сервер. но поскольку он крутится на твоей локальной машине, то и позволяет открыть окно настроек.

Ну да. А на серверном варианте как открыть форму?

во-первых, ЭтотОбъект доступен на «Сервер, толстый клиент, внешнее соединение».

ЭтотОбъект можно вообще убрать, он не нужен. Щас там просто Объект, реквизит обработки.

К . Из внешнего модуля так вызывается:

Вообще строка     Обработка.Объект = ОбъектИзБазы;    роли не играет, не обращайте внимания.

ну не откроешь ты на сервере форму

во-вторых, внешняя обработка предварительно зарегистрированы в системе? в-третьих, а как это открытие обработки на сервере? Кто ее ТАМ будет наблюдать? может мы чего не поняли в твоей задуме?

У меня вот даже зарегистрировать внешнюю обработку не получается в толстом клиенте.

Не на сервере, а на клиенте в серверном варианте.

ну значит нужно прояснить только второй вопрос :)

Как их регистировать в системе? И для чего?

+1 для чего? после этого платформа позволит из модуля обработки открывать формы?

короче. твоя печатная форма должна быть создана по технологии внешних обработок 8.2 только тогда ты сможешь открыть ее форму.

+42 делается это в функции СведенияОВнешнейОбработке

Вот этого нужно тебе? &НаКлиенте Функция ПодключитьВнешнююОбработку(Знач стрАдрес)

Спасибо, буду разбираться

Не понял как это может помочь открыть форму внешней обработки. Это для типовой УТ? Похоже не то что нужно

что конкретно тебе непонятно? ты делаешь дополнительную печатную форму для какого то документа. правильно?

Пишет:  Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма»

Да, но в той статье написано как сделать дополнительную печатную форму, это я сделал, работает. Теперь мне надо открыть ее форму.

я тебе дал код в ищи в своей обработке «ДобавитьКоманду(ТаблицаКоманд,» и пиши туда вместо ИМЯ_ТВОЕЙ_ФОРМЫ имя формы как она у тебя обзывается в обработке

я тебе рабочий код написал и выложил.

и куда надо прикрутить этот «рабочий» код чтобы ТС мог напечатать внешнюю печатную форму?

вопрос стоял, как открыть внешнюю обработку. Про печать ничего не слышал :)

а в двух словах чего ему надо, если ты скачал и видел его файло.

ровно то, что я написал. ему надо сделать внешнюю печатную форму для УТ11, которая прилепляется к нужным документам штатными средствами без изменения конфы и позволяет перед печатью открывать окно с некоторыми настройками.

но судя по тому, что ТС молчит, то предположу что он не осилил как же это сделать. видимо придется ему предложить купить эту форму ))))

Этот код не работает. ДобавитьКоманду — такая процедура не определена. Вообще-то не для УТ11. Интересует как открыть форму в принципе, «с нуля»

Код не работает. Ошибка при вызове метода контекста (ПолучитьФорму): Неизвестное имя формы. Имя: «ВнешняяОбработка.МаяОбработка.Форма.УправляемаяФорма»

Я его уже убрал. Смотри в

Действительно, работает. Ошибся

Почему-то в пятницу не работало. 1с перезапустил, заработало. Вот так тоже рабюотает:

рандомный генератор пишешь?

Вот так тоже теперь работает:

Что за фигня! В пятницу не работало, а сейчас работает без всяких дополнений! Всего-то платформу перезапустил

не делай как в и , делай как в .

Почему может быть такое сообщение?: {ВнешняяОбработка.МаяОбработка.МодульОбъекта(52,14)}: Процедура или функция с указанным именем не определена (ПодключитьВнешнююОбработку)

а давай я тебе по руке погадаю? Тыж меня в телепаты записал. Я думаю, что сообщение об ошибке достаточно для понимания.

твой код. Пишется ошибка. Закомментированная строка не работает. Переделал как во второй строке, ошибку не выдает:

Если предполагать, что ты используешь код из , дополнив его куском кода из , то у меня разрыв шаблона — метод Подключить имеет доступность «Сервер, внешнее соединение», хотя у тебя выставлено &НаКлиенте. Ты занимаешься мозгоимением??

&НаСервере Функция ПодключитьВнешнююОбработку(Знач стрАдрес)

Если использовать ПодключитьВнешнююОбработку вместо ВнешниеОбработки.Подключить, то выходит сообщение об ошибке: Процедура или функция с указанным именем не определена (ПодключитьВнешнююОбработку)

Еще один косяк: Если переименовать мою обработку в любое имя кроме «МаяОбработка», то выходит сообщение об ошибке: Неизвестное имя формы. Имя: «ВнешняяОбработка.блаблабла.Форма.УправляемаяФорма»

Третий косяк: Если взять другую обработку и задать ей имя «МаяОбработка», и открыть ее форму из той процедуры, то всё равно откроется форма старой обработки. Тоесть она как-то зарегистрировалась под этим именем, и не пойму когда и как она это сделала

а где это «Функция Печать Экспорт» расположено?

В модуле объекта внешней обработки

ты каким-то чудом вызываешь метод «Печать» из одной внешней обработки, а потом хочешь открыть другую внешнюю обработку «tmp.epf»?? А как ты вызываешь «Печать»?

Из общего модуля вызываю:

Я вызываю метод Печать одной внешней обработки, и хочу чтобы она сама открыла свою форму.

хз, чего там у тебя как работает, но не должен работать: &НаКлиенте и ВнешниеОбработки.Подключить не должны вместе дружить. Еще раз: в код достаточен для твоей задачи. «ОткрытьОбработку(Команда)» — это вызов по команде/кнопке на форме. Открыл форму, сделал настройки, там же нажал кнопку/команду печать.

Чтобы нажать кнопку на форме, нужно сперва открыть эту форму, а она не открывается. А вообще вызов внешней обработки и ее метода «Печать» нельзя менять. И почему работает ВнешниеОбработки.Подключить я не знаю. Могу выложить обработку чтобы посмотрели

Вот выложил: Кнопка на обработке открывает такую же обработку и вызывает «Печать». И твой код не работает. {Форма.УправляемаяФорма.Форма}: Ошибка при вызове метода контекста (Создать)    Обработка = ВнешниеОбработки.Создать(ИмяФайла); по причине: {ВнешняяОбработка.МаяОбработка.МодульОбъекта(11,14)}: Процедура или функция с указанным именем не определена (ПодключитьВнешнююОбработку)

ВнешниеОбработки не доступно в тонком клиенте ПодключитьВнешнююОбработку это метод объекта. чтобы его вызвать, нужно сначала получить объект с помощью РеквизитФормыВЗначение. но сделать это можно только на сервере а вообще зачем всё это нужно?

У меня в ТОЛСТОМ клиенте Этот метод вызывается в модуле объекта, тоесть получать объект не нужно, он уже есть. Нужно просто разобраться. Почему оно не работает!

И как могут работать два метода ПоместитьФайл и ВнешниеОбработки.Подключить в одной процедуре!??! У них же разная доступность на клиенте и на сервере!

тогда, ты будешь смеяться, всё работает замени в принципе можно и ПолучитьФорму использовать и потом открывать, только при попытке передать туда ключ уникальности ругается на количество параметров, хотя параметры и там и там одинаковые

ты для какой конфы это безобразие ваяешь? для УТ11 я тебе дал все карты в руки. у меня все работает, подключается, открывает форму настроек и печатает.

если указать имя обработки «МаяОбработка», то работает. А если поменять имя и указать там новое имя, то не работает.

Для пустой конфы. Тестовой

Выяснил что нужно хотябы раз открыть форму обработки через меню файл, и выполнить команду: Тогда в следующий раз форма открывается из модуля объекта нормально. Но как сделать чтобы не нужно было открывать ее в первый раз вручную?

свойства конфигурации — Обычное приложение???

Основной режим: Управляемое приложение

да как так? открываю твою обработку в ут11 — в модуле формы уже ругань идет.

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Возможно, вам также будет интересно:

  • Неизвестный модуль 1 ошибка при вызове метода контекста получить
  • Неизвестный модуль 1 ошибка при вызове метода контекста найтипореквизиту
  • Неизвестный модуль 1 ошибка при вызове метода контекста выполнить
  • Неизвестный модуль 1 ошибка при вызове метода контекста open
  • Неизвестный модуль 1 ошибка при вызове конструктора wsопределения

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии