Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   цепляется, но не открывается внешняя обработка под БП 3.0 (http://forums.kuban.ru/f1040/ceplyaetsya_no_ne_otkryvaetsya_vneshnyaya_obrabotka_pod_bp_3_0_a-7570036.html)

med 02.03.2016 09:26

цепляется, но не открывается внешняя обработка под БП 3.0
 
попросили сделать какую то формочку что б сразу видеть остатки в бухгалтерии 3.0, не стал заморачиваться - сохранил во внешнюю обработку "ПодборНоменклатуры", чуть подправил - убрал лишнее - все прекрасно. Через Файл - открыть - открывается и показывает остатки - стал пытаться вставить ее как внешнюю обработку
прописал в модуль
Функция СведенияОВнешнейОбработке() Экспорт
РегистрационныеДанные = Новый Структура();
РегистрационныеДанные.Вставить("Наименование", "Остатки номенклатуры");
РегистрационныеДанные.Вставить("БезопасныйРежим", Истина);
РегистрационныеДанные.Вставить("Версия", "v 1.0");
РегистрационныеДанные.Вставить("Информация", "Обработка для показа остатков номенклатуры");
РегистрационныеДанные.Вставить("Вид", "ДополнительнаяОбработка");
тз = Новый ТаблицаЗначений;
тз.Колонки.Добавить("Идентификатор");
тз.Колонки.Добавить("Использование");
тз.Колонки.Добавить("Представление");
НоваяСтрока = тз.Добавить();
НоваяСтрока.Идентификатор = "ОткрытьОбработку";
НоваяСтрока.Использование = "ОткрытиеФормы";
НоваяСтрока.Представление = "Открыть показ остатков номенклатуры";
РегистрационныеДанные.Вставить("Команды", тз);
Возврат РегистрационныеДанные;
КонецФункции
добавил в дополнительные отчеты и обработки - прописал пользователей, указал размещение (раздел справочники)
Иду туда - захожу Дополнительные обработки - там она есть пытаюсь открыть - не фига - никакой реакции (прописал сообщить во все функции формы - отрабатывается только "при закрытии")
скачал тестовую обработку - нормально цепляется - сравниваю - не нахожу каких либо принципиальных отличий.
В чем еще может быть дело ?

roma n 02.03.2016 10:03

на вскидку - состав колонок ТЗ команд
[url]https://its.1c.ru/db/bspdoc#content:427:1:issogl2_создание_нового_отчета_или_обработки[/url]

med 02.03.2016 11:24

однако пароль требует...

bma1 02.03.2016 11:31

Не указан тип команды. Вот пример работающий
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
ПараметрыРегистрации.Версия = "01.01";
Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = "Обработка: Загрузка новой номенклатуры от поставщика списком в бухгалтерию БП3.0 из XML";
Команда.Идентификатор = "ОбработкаЗагрузкаНовойНоменклатурыСпискомВБухгалтериюБП30ИзXML";
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
Команда.ПоказыватьОповещение = Ложь;
//Команда = ПараметрыРегистрации.Команды.Добавить();
//Команда.Представление = "Выполнить обработку";
//Команда.Идентификатор = "ВыполнитьОбработку";
//Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
//Команда.ПоказыватьОповещение = Ложь;
Возврат ПараметрыРегистрации;
КонецФункции // СведенияОВнешнейОбработке()

med 02.03.2016 12:13

[quote=bma1;41547310]Не указан тип команды[/quote]
Какой строки не хвататет ? Сравниваю с моим - принципиальных отличий не нахожу...
Попробовал в лоб скопировать твою функцию (замениа Представление и Идентификатор) ... результат такой же - нет открытия

bma1 02.03.2016 12:18

ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКома ндыОткрытиеФормы();

В модуле формы есть такая вещь?

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ДополнительнаяОбработкаСсылка = Параметры.ДополнительнаяОбработкаСсылка;
ИдентификаторКоманды = Параметры.ИдентификаторКоманды;
КонецПроцедуры

И в реквизитах формы должны быть строковые реквизиты неограниченной длины:
ДополнительнаяОбработкаСсылка
ИдентификаторКоманды

med 02.03.2016 12:54

[quote=bma1;41547310]СведенияОВнешнейОбр аботке("2.2.2.1");[/quote]
а вот эти 2.2.2.1 что то значат или чисто ручной номер версии ?

USSR 02.03.2016 13:01

(0)Так ты ее сначала сделай, чтобы работала через "Файл" -> "Открыть", а регистрация - это уже другая проблема.

bma1 02.03.2016 13:10

[quote=med;41548025]а вот эти 2.2.2.1 что то значат или чисто ручной номер версии ? [/quote]
Это номер версии БСП в 1с.

med 02.03.2016 13:22

[quote=USSR;41548090](0)Так ты ее сначала сделай, чтобы работала через "Файл" -> "Открыть", а регистрация - это уже другая проблема. [/quote]
Хм я вроде четко написал:
[quote=med;41546064] Через Файл - открыть - открывается и показывает остатки - стал пытаться вставить ее как внешнюю обработку[/quote]
:-)

med 02.03.2016 13:23

[quote=USSR;41548090]а регистрация - это уже другая проблема. [/quote]
золотые слова !!!!!

med 02.03.2016 13:25

[quote=bma1;41547723]&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ДополнительнаяОбработкаСсылка = Параметры.ДополнительнаяОбработкаСсылка; ИдентификаторКоманды = Параметры.ИдентификаторКоманды; КонецПроцедуры И в реквизитах формы должны быть строковые реквизиты неограниченной длины: ДополнительнаяОбработкаСсылка ИдентификаторКоманды [/quote]

Прописал всё это но ... почему то результат тот же
не регистрируется, но открывается
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
ПараметрыРегистрации.Версия = "01.03";
Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = "Открыть показ остатков номенклатуры";
Команда.Идентификатор = "ОстаткиНоменклатуры";
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
Команда.ПоказыватьОповещение = Ложь;
Возврат ПараметрыРегистрации;
КонецФункции

bma1 02.03.2016 13:33

Регистрировал через справочник дополнительных внешних обработок и отчетов?

USSR 02.03.2016 14:23

Значит я что то пропустил. Иди в администрирование, внешниие отчеты и обработки и там загрузить из файла

med 02.03.2016 14:50

[quote=bma1;41548388]Регистрировал через справочник дополнительных внешних обработок и отчетов? [/quote][quote=USSR;41548865]Значит я что то пропустил. Иди в администрирование, внешниие отчеты и обработки и там загрузить из файла [/quote]
Да
Администрирование - печатные формы отчеты и обработки - Дополнительные отчеты и обработки
Создать - выбираю файл
размещение - "раздел склад"
Быстрый доступ - добавить всех пользователей
Записать и закрыть
Раздел склад - сервис - дополнительные обработки
вижу "Открыть показ остатков номенклатуры"
выбираю - выполнить
тишина.....

med 02.03.2016 15:18

Я говорил, что во все функции и процедуры прописал "сообщить" отрабатываются почему то только
ПриЗакрытии()
и
ПриЗакрытииНаСервере()

bma1 03.03.2016 00:02

значит кто-то что-то недоговаривает... БП хоть типовая? Там кода для создания открывающейся внешней обработки пара строчек всего.

med 03.03.2016 06:43

Абсолютно типовая 3.0.43.89
попробовал просто защел в конфигуратор - обработки - Подбор номенклатуры - сохранить как внешнюю обработку
Пробую Файл - открыть - открывается
захожу в модуль прописываю
Функция СведенияОВнешнейОбработке() Экспорт
опять регистрирую эту обработку - пытаюсь открыть оттуда - не фига...

DeiMos 03.03.2016 20:59

Переходите на 1С77.

bma1 04.03.2016 09:12

[quote=med;41553509]Абсолютно типовая 3.0.43.89[/quote]
Ну, не знаю.. Я писал под БП 3.0.41.53 и все работает, и регистрируется и открывается, может номер версии БСП обновился, хотя вряд ли это влияет...

Попробуй сделать обработку без содержимого, с простой формой, чтоб просто отработать открытие. Там писать три минуты с перекурами на пиво.

USSR 04.03.2016 12:00

У меня и в 3.0.43.124 все работает


Текущее время: 22:43. Часовой пояс GMT +3.