Имя: Пароль:
1C
1С v8
Внешняя обработка на управляемых формах
, ,
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
У тебя в меню "Настройка и администрирование - Сервис" должен быть что-то вроде пункта "Внешние обработки", в котором ты указываешь в каких меню будет эта обработка отображаться. После этой настройки твоя обработка появится в соответствующих вкладках.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой