|
Внешняя обработка на управляемых формах | ☑ | ||
---|---|---|---|---|
0
Ar-Bus
11.12.13
✎
18:11
|
Привет всем! Конфигурация УНФ 1.4.6.19. Создал внешнюю обработку по заполнению ТЧ документа ИнвентаризацияЗапасов. Если открывать ее через Файл-Открыть, то нормально открывается форма внешней обработки, все работает. Ну а как мне добиться того, чтобы форма этой обработки открывалась из ДополнительныеОтчетыИОбработки? Т.е. просто надо загрузить мою внешнюю обработку в этот список, чтобы затем, при двойном клике мышкой на строке с обработкой открывалась ее форма и можно было выполнять команды с этой формы?
|
|||
1
Ar-Bus
11.12.13
✎
18:16
|
т.е. у меня на форме обработки 2 реквизита: ДокументИнвентаризация(Ссылка) и ГруппаНоменклатуры(Ссылка). Выбираем документ, группу, нажимаем на кнопку Выполнить - и документ заполняется номенклатурой по остаткам на складе с условием, что Номенклатура принадлежит указанной группе. Т.е. мне надо, чтобы бухгалтер открыл список ДополнительныеОтчетыИОбработки, выбрал нужную обработку, щелкнул по ней мышкой, и открылась моя форма обработки. Сейчас при двойном клике мышкой по строке с Обработкой открывается форма редактирования этой самой обработки, а на выполнение она не запускается! Может быть я накосячил с функцией СведенияОВнешнейОбработке() Экспорт? Ниже привожу ее код:
Функция СведенияОВнешнейОбработке() Экспорт РегистрационныеДанные = Новый Структура; РегистрационныеДанные.Вставить("Наименование", "Пример использование внешних обработок 8.2."); РегистрационныеДанные.Вставить("БезопасныйРежим", Истина); РегистрационныеДанные.Вставить("Версия", "1.0"); //ДополнительнаяОбработка //ДополнительныйОтчет //ЗаполнениеОбъекта //Отчет //ПечатанаяФорма //СозданиеСвязанныхОбъектов РегистрационныеДанные.Вставить("Вид", "ДополнительнаяОбработка"); РегистрационныеДанные.Вставить("Информация", "Обработка сделано по новому стандарту подключения внешних обработок 8.2. Пример обработки ""Hello Word"" "); ///////////// команды ///////////////////////// тзКоманд = Новый ТаблицаЗначений; тзКоманд.Колонки.Добавить("Идентификатор"); тзКоманд.Колонки.Добавить("Представление"); тзКоманд.Колонки.Добавить("Модификатор"); тзКоманд.Колонки.Добавить("ПоказыватьОповещение"); тзКоманд.Колонки.Добавить("Использование"); строкаКоманды = тзКоманд.Добавить(); строкаКоманды.Идентификатор = "1"; строкаКоманды.Представление = "команда ""Hello Word"" (ОткрытиеФормы)"; строкаКоманды.ПоказыватьОповещение = Истина; строкаКоманды.Использование = "ОткрытиеФормы"; //строкаКоманды = тзКоманд.Добавить(); //строкаКоманды.Идентификатор = "2"; //строкаКоманды.Представление = "команда ""Hello Word"" (ВызовКлиентскогоМетода)"; //строкаКоманды.ПоказыватьОповещение = Истина; //строкаКоманды.Использование = "ВызовКлиентскогоМетода"; // //строкаКоманды = тзКоманд.Добавить(); //строкаКоманды.Идентификатор = "3"; //строкаКоманды.Представление = "команда ""Hello Word"" (ВызовСерверногоМетода)"; //строкаКоманды.ПоказыватьОповещение = Истина; //строкаКоманды.Использование = "ВызовСерверногоМетода"; РегистрационныеДанные.Вставить("Команды", тзКоманд); ////////////// назначение (в каких объектах используется) ///////////////////////// //для печ.форм, заполнения, ввода свазанных объектов //МассивНазначений = Новый Массив; //МассивНазначений.Добавить("Документ.*"); // все документы назначаются //МассивНазначений.Добавить("Документ.АвансовыйОтчет"); //МассивНазначений.Добавить("Документ.ЗаказПокупателя"); //РегистрационныеДанные.Вставить("Назначение", МассивНазначений); Возврат РегистрационныеДанные; КонецФункции |
|||
2
Мимохожий Однако
11.12.13
✎
18:18
|
Нужен отладчик. Однозначно.
|
|||
3
Ar-Bus
11.12.13
✎
18:21
|
(2) и что я в отладчике увижу? Где точку останова ставить?
если обработка в принципе на выполнение не запускается из списка внешних отчетов и обработок? |
|||
4
ДенисЧ
11.12.13
✎
18:35
|
Читай её из хранилища, сохраняй в файл, создавай внешнюю обработку и запускай....
|
|||
5
ДенисЧ
11.12.13
✎
18:35
|
Программно, разумеется
|
|||
6
Ar-Bus
11.12.13
✎
18:37
|
(4) внешняя обработка есть, изначально ее написал, лежит в файле на диске, из файла (интерактивно) она норм запускается и отрабатывает. Когда создаю новую внешнюю обработку в справочнике ДопОтчетыИОбработки, загружаю ее туда из файла - то она не работает... вообще форма обработки не открывается из этого справочника
|
|||
7
ДенисЧ
11.12.13
✎
18:40
|
(6) свой код напиши и проверь.
|
|||
8
ДенисЧ
11.12.13
✎
18:41
|
Кроме того, действительно, отладчик пока не запрещён
|
|||
9
Ar-Bus
11.12.13
✎
18:47
|
(6) - какой код свой написать? ОН у меня и есть свой, я только код функции СведенияОВнешнейОбработке() позаимствовал, т.к. не могу разобраться с методикой написания этого кода
|
|||
10
Ar-Bus
11.12.13
✎
18:47
|
(8) ладно, подскажи, как мне отладчиком поймать момент, что обработка моя пытается запуститься? т.е. открыть форму свою??
|
|||
11
Ar-Bus
11.12.13
✎
18:48
|
она у меня находится в справочнике ДопОтчетыИОбработки, как ты ее там отладчиком посмотришь?
|
|||
12
ДенисЧ
11.12.13
✎
18:50
|
обоги...
Свой (!!) код напиши. Который будет выдёргивать из справочника обработку. Кроме того, можно повесить отладчик на сам справочник. Поймаьт момент, когда она сохраняется в внешний файл, и открыть этот самый файл. Ты вообще код по запуску обработки из справочника смотрел? |
|||
13
Ar-Bus
11.12.13
✎
19:41
|
(12) ну да, начинаю только работать с 1С, не соображаю... Какой там вообще принцип запуска этих обработок из справочника? В обычном приложении как было... Добавляешь в справочник обработку, указываешь файл, откуда загружать, сохраняешь... Затем, при двойном клике на строке этой обработки открывается ее форма, и все, используй. А в УФ как?
|
|||
14
Ar-Bus
12.12.13
✎
10:55
|
поднимаю
|
|||
15
Ar-Bus
13.12.13
✎
12:55
|
Какой там вообще принцип запуска этих обработок из справочника? В обычном приложении как было... Добавляешь в справочник обработку, указываешь файл, откуда загружать, сохраняешь... Затем, при двойном клике на строке этой обработки открывается ее форма, и все, используй. А в УФ как?
|
|||
16
vhl
13.12.13
✎
13:08
|
У тебя в меню "Настройка и администрирование - Сервис" должен быть что-то вроде пункта "Внешние обработки", в котором ты указываешь в каких меню будет эта обработка отображаться. После этой настройки твоя обработка появится в соответствующих вкладках.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |