|
Своеобразность открытия внешних обработок 8.2 толстый клиент | ☑ | ||
---|---|---|---|---|
0
ares
20.04.12
✎
16:32
|
Есть внешняя обработка в общем модуле которой прописана экспортная процедура, которая прописана как внешняя обработка заполнения табличных частей
Перем мОбъект Экспорт; Перем мИмяТабличнойЧасти Экспорт; Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт мОбъект = Объект; мИмяТабличнойЧасти = ИмяТабличнойЧасти; Форма = ЭтотОбъект.ПолучитьФорму("Форма"); Форма.ОткрытьМодально(); КонецПроцедуры // ЗаполнитьТовары() Проблема : если обратиться к этой процедуре открыв обработку, через файл меню т.е. напрямую то Строка Форма = ЭтотОбъект.ПолучитьФорму("Форма"); отрабаьтывает нормально в переменную Форма попадает значение. если использовать механиз создания временной внешней обработки (механизм внешних дополнительных обработок для заполнения табличных частей), то обработка создается, но строка Форма = ЭтотОбъект.ПолучитьФорму("Форма"); возвращает неопределено !!!! Я уже права в системем смотрел, не могу понять почему ? Может дело в правах учеток сети, хотя на папку где создаются временные обработки у меня полных контроль. Где может быть собака зарыта, образно выражаясь ? |
|||
1
sanja26
20.04.12
✎
16:39
|
Без Этот объект не отрабатывает?
|
|||
2
Hmster
20.04.12
✎
16:50
|
форма управляемая ?
|
|||
3
experimentator76
20.04.12
✎
17:13
|
внешние управляемые не любят открываться в толстом
|
|||
4
ares
23.04.12
✎
08:17
|
(1) Тоже самое
(2)(3) Нет не управляемая |
|||
5
ares
25.04.12
✎
10:19
|
Написал в 1С, пока молчат ((
|
|||
6
Лоботряс
25.04.12
✎
10:23
|
А ЭтотОбъект что возвращает?
|
|||
7
aspirant
25.04.12
✎
10:27
|
Процедура Инициализировать (Объект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта) Экспорт
сообщить(ОбъектДокумент); ДатаВыпуска = Объект.Дата; Форма = ЭтотОбъект.ПолучитьФорму("форма"); Форма.ОткрытьМодально(); Режим = РежимДиалогаВопрос.ДаНет; Текст = "Внести новые данные в табличную часть (предварительно табличная часть будет очищена)?"; Ответ = Вопрос(Текст, Режим, 0); Если Ответ = КодВозвратаДиалога.Да Тогда Объект[ИмяТабличнойЧасти].Загрузить(Товары.Выгрузить()); КонецЕсли; КонецПроцедуры У меня вот такой код (по-моему ничем от твоего не отличается) - все работает. Обработок очень много (все НЕ УФ) - все так работают |
|||
8
ares
25.04.12
✎
12:27
|
(6)(7) ЭтотОбъект - возвращает
ЭтотОбъект ВнешняяОбработкаОбъект.ЗаполнениеТЧПередачаМатериаловВЭксплуатацию ВнешняяОбработкаОбъект.ЗаполнениеТЧПередачаМатериаловВЭксплуатацию ИспользуемоеИмяФайла "C:\Users\ХХХХХХХ\Desktop\Заполнение табличной части передачи материалов в эксплуатацию.epf" Строка На локальной работает, в серверной НЕТ. |
|||
9
acsent
25.04.12
✎
12:29
|
не может быть
|
|||
10
ares
25.04.12
✎
12:29
|
(8)+ а может нужно эту обработочку на сервере хранить СУБД ?
|
|||
11
ares
25.04.12
✎
12:30
|
(9) чТО ИМЕННО ?
|
|||
12
aspirant
25.04.12
✎
12:42
|
(10) у меня храняться на сетевом диске (ваще на другом сервере), но все равно открывается в 1С через внешние обработки
|
|||
13
ares
25.04.12
✎
12:55
|
(12)От создает обработку на локальном диске пользователя, это все понятно.
Но факт есть факт, возвращает неопределено. тут что то с правами, как мне кажется. |
|||
14
aspirant
25.04.12
✎
13:09
|
а какой тип возвращает?
Тип объекта совпадает с типом документа, для которго создана обработка? |
|||
15
ares
25.04.12
✎
13:15
|
(14) А при чем тут это, он форму ЭтотОбъект не видит, не от что не видет, не может получить ! Привязка обработки к объекту, это уже иное немного.
|
|||
16
Лоботряс
25.04.12
✎
13:18
|
Версии обработок которые открываешь через меню Файл и встроенная в спр Внешних обработок одинаковые?
|
|||
17
aspirant
25.04.12
✎
13:19
|
(15) да, я чета затупил. сейчас тоже делаю, и в своем соку варюсь.
|
|||
18
ares
25.04.12
✎
13:24
|
(16) Конечно, она у меня одна
(17) А у тебя на серверной форма открывается ? |
|||
19
ares
25.04.12
✎
13:29
|
Еще раз перечитал рекомендации ничего дельного не нашел
Обработка для заполнения ТЧ объектов Для обработок заполнения ТЧ необходимо указывать внешнюю обработку (файл на диске, с расширением epf), список объектов и их ТЧ, для которых необходимо использовать данную обработку. В типовых конфигурациях объектами, использующими данный механизм, являются все документы, содержащие хоть одну табличную часть. Перед открытием формы объекта в командных панелях табличных полей (источником данных для которых является табличная часть объекта), которым соответствуют определенные строки в справочнике ВПФО, программно добавляются пункты в подменю "Заполнить" (если подменю "Заполнить" отсутствует на командной панели, оно создается). При нажатии на созданную перед открытием кнопку подменю "Заполнить" происходит сохранение соответствующей обработки на диск во временный файл, для сохраненной внешней обработки вызывается процедура: Копировать в буфер обмена Инициализировать (Объект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта) где: Объект – ДокументОбъект, СправочникОбъект. Откуда был произведен вызов процедуры заполнения внешней обработки; ИмяТабличнойЧасти – Строка. Имя табличной части, для которой вызвана обработка; ТабличноеПолеОбъекта – Элемент формы: Табличное поле. Табличное поле формы, для которого вызвана обработка. Наличие экспортной процедуры "Инициализировать()" в модуле объекта обработки с видом "Заполнение табличных частей" обязательно. В теле данной процедуры должен располагаться программный код, заполняющий табличную часть в соответствии с назначением обработки. Обработка так же может иметь в своем составе макет "Параметры_Авторегистрации", используемый для автоматического заполнения принадлежности печатной формы в справочнике "Внешние обработки". Макет должен состоять из 2-х колонок – "полное имя объекта" и "имя табличной части". Пример макета Параметры_Авторегистрации: |
|||
20
ares
25.04.12
✎
13:37
|
Просто вываливается ошибка :
Заполнение ТЧ не произведено! Значение не является значением объектного типа (ОткрытьМодально) |
|||
21
ares
25.04.12
✎
13:40
|
А внешние печатные формы работают, я уже ХЗ куда копать ?
|
|||
22
acsent
25.04.12
✎
13:44
|
может у тебя в модуле формы какая хрень?
|
|||
23
Serg_1960
25.04.12
✎
13:56
|
(0) Возник однажды вопрос "Как часто обновляется кэш?". После того, как внес изменения во внешнюю обработку, а открыть исхитрился предыдущую версию (без этих изменений)
|
|||
24
ares
25.04.12
✎
14:51
|
Посмотрел остальные обработки заполнения ТЧ, везде где есть конструкция в модуле обрабтки получения формы, пишет ошибку, там где ее нет, а сразу код заполнения ТЧ все отрабатывает хорошо.
(23)Кеш был бы актуален для одной обработки, а если решь о всех, то дело не в этом, хотя........ очистил я все кеши на клиенте..... эффект тот же (( |
|||
25
ares
25.04.12
✎
14:52
|
(22) А у тебя на серверной БД работает ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |