![]() |
![]() |
![]() |
|
Как вставить дополнительную обработку в 3.0? | ☑ | ||
---|---|---|---|---|
0
Мисти
01.11.15
✎
16:12
|
Прописала там всё, что положено, но она не появилась даже после настройки списка!
|
|||
1
zak555
01.11.15
✎
16:14
|
1. функцию СведенияОВнешнейОбработке покажи
2. прочти http://its.1c.ru/db/bspdoc#content:427:1 |
|||
2
Мисти
01.11.15
✎
16:14
|
Я не понимаю, почему я не могу отправить сообщение с подробностями?
|
|||
3
Мисти
01.11.15
✎
16:17
|
ОШИБКА: Сработал фильтр на язык падонков (удафком) на слово "получить таблицу команд". Пишите по-русски!
|
|||
4
SleepyHead
гуру
01.11.15
✎
16:21
|
(3) Какой еще намек вам нужен, чтобы пойти и купить книгу о здоровой пище?
|
|||
5
Мисти
01.11.15
✎
16:41
|
А что, теперь нельзя писать куски кода? Там же полно выражений без пробелов!
|
|||
6
Мисти
01.11.15
✎
16:43
|
// Интерфейс для регистрации обработки.
// Вызывается при добавлении обработки в справочник "Внешние Обработки" // // Возвращаемое значение: // Структура: // Вид - строка - возможные значения: "Дополнительная Обработка" // "Дополнительный Отчет" // "Заполнение Объекта" // "Отчет" // "Печатная Форма" // "Создание Связанных Объектов" // // Назначение - массив строк имен объектов метаданных в формате: // <Имя Класса Объекта Метаданного>.[ * | <Имя Объекта Метаданных>] // Например, "Документ.Счет Заказ" или "Справочник.*" // Прим. параметр имеет смысл только для назначаемых обработок // // Наименование - строка - наименование обработки, которым будет заполнено // наименование справочника по умолчанию - краткая строка для // идентификации обработки администратором // // Версия - строка - версия обработки в формате <старший номер>.<младший номер> // используется при загрузке обработок в информационную базу // Безопасный Режим – Булево – Если истина, обработка будет запущена в безопасном режиме. // Более подбробная информация в справке. // // Информация - Строка- краткая информация по обработке, описание обработки // // Версия БСП - Строка - Минимальная версия БСП, на которую рассчитывает код // дополнительной обработки. Номер версии БСП задается в формате «РР.ПП.ВВ.СС» // (РР – старший номер редакции; ПП – младший номер ре-дакции; ВВ – номер версии; СС – номер сборки). // // Команды - Таблица Значений - команды, поставляемые обработкой, одная строка таблицы соотвествует // одной команде // колонки: // - Представление - строка - представление команды конечному пользователю // - Идентификатор - строка - идентефикатор команды. В случае печатных форм // перечисление через запятую списка макетов // - Использование - строка - варианты запуска обработки: // "Открытие Формы" - открыть форму обработки // "Вызов Клиентского Метода" - вызов клиентского экспортного метода из формы обработки // "Вызов Серверного Метода" - вызов серверного экспортного метода из модуля объекта обработки // - Показывать Оповещение – Булево – если Истина, требуется оказывать оповещение при начале // и при окончании запуска обработки. Прим. Имеет смысл только // при запуске обработки без открытия формы. // - Модификатор – строка - для печатных форм MXL, которые требуется // отображать в форме Печать Документов подсистемы Печать // требуется установить как "ПечатьMXL" // Функция Сведения ОВнешней Обработке() Экспорт // Объявим переменную, в которой мы сохраним и вернем "наружу" необходимые данные Параметры Регистрации = Новый Структура; // Объявим еще одну переменную, которая нам потребуется ниже Массив Назначений = Новый Массив; // Первый параметр, который мы должны указать - это какой вид обработки системе должна зарегистрировать. // Допустимые типы: Дополнительная Обработка, Дополнительный Отчет, Заполнение Объекта, Отчет, Печатная Форма, Создание Связанных Объектов Параметры Регистрации.Вставить("Вид", "Дополнительная Обработка"); // Теперь нам необходимо передать в виде массива имен, к чему будет подключена наша ВПФ // Имейте ввиду, что можно задать имя в таком виде: Документ.* - в этом случае обработка будет подключена ко всем документам в системе, // которые поддерживают механизм ВПФ //Массив Назначений.Добавить("Документ.Заказ Клиента"); Параметры Регистрации.Вставить("Назначение", Массив Назначений); // Теперь зададим имя, под которым ВПФ будет зарегистрирована в справочнике внешних обработок ПараметрыР егистрации.Вставить("Наименование", "Создание ОРП по ПКО и КК"); // Зададим право обработке на использование безопасного режима. Более подробно можно узнать в справке к платформе (метод Установить Безопасный Режим) Параметры Регистрации.Вставить("Безопасный Режим", Ложь); // Следующие два параметра играют больше информационную роль, т.е. это то, что будет видеть пользователь в информации к обработке Параметры Регистрации.Вставить("Версия", "0.0"); Параметры Регистрации.Вставить("Информация", "Создание ОРП по ПКО и КК"); // Создадим таблицу команд (подробнее смотрим ниже) Таблица Команд = Получить Таблицу Команд(); // //// Добавим команду в таблицу //ДобавитьКоманду(ТаблицаКоманд, "E", "Диадок", "Вызов Серверного Метода", Истина, "ПечатьMXL"); // СтрокаТЧ = ТаблицаКоманд.Добавить(); СтрокаТЧ.Идентификатор = "СоздатьОРП"; СтрокаТЧ.Представление = "Создание ОРП по ПКО и КК"; СтрокаТЧ.ПоказыватьОповещение = Ложь; СтрокаТЧ.Использование = "ОткрытиеФормы"; //// Сохраним таблицу команд в параметры регистрации обработки Параметры Регистрации.Вставить("Команды", ); // Теперь вернем системе наши параметры Возврат Параметры Регистрации; КонецФункции ///////////////////////////////////////////////////////////////////////////// // ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ Функция Получить Таблицу Команд() // Создадим пустую таблицу команд и колонки в ней Команды = Новый ТаблицаЗначений; // Как будет выглядеть описание печатной формы для пользователя Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); // Имя нашего макета, что бы могли отличить вызванную команду в обработке печати Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); // Тут задается, как должна вызваться команда обработки // Возможные варианты: // - ОткрытиеФормы - в этом случае в колонке идентификатор должно быть указано имя формы, которое должна будет открыть система // - Вызов Клиентского Метода - вызвать клиентскую экспортную процедуру из модуля формы обработки // - Вызов Серверного Метода - вызвать серверную экспортную процедуру из модуля объекта обработки Команды.Колонки.Добавить("Использование", Новый Описание Типов("Строка")); // Следующий параметр указывает, необходимо ли показывать оповещение при начале и завершению работы обработки. Не имеет смысла при открытии формы Команды.Колонки.Добавить("Показывать Оповещение", Новый Описание Типов("Булево")); // Для печатной формы должен содержать строку ПечатьMXL Команды.Колонки.Добавить("Модификатор", Новый Описание Типов("Строка")); Возврат Команды; Конец Функции |
|||
7
Мисти
01.11.15
✎
16:53
|
В "настроить список" - есть, но в список реально не добавляется.
|
|||
8
Мимохожий Однако
01.11.15
✎
16:55
|
Это что?
Параметры Регистрации.Вставить("Команды", ); |
|||
9
SleepyHead
гуру
01.11.15
✎
17:04
|
(5) Используйте из общего модуля куски кода и потом добавляйте свое.
Сведения = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(); Сведения.ПараметрыРегистрации.Наименование = "Создание ОРП по ПКО и КК"; // и так далее |
|||
10
Мисти
01.11.15
✎
17:07
|
Я украла из обработки, которая прекрасно открывается. Другой вопрос, что, возможно, я взяла не всё.
Млжет, что-то еще должно быть в самой форме? А я взяла только всё из модуля? |
|||
11
Мисти
01.11.15
✎
17:25
|
Добавила "приСозданииНаСервере", не помогло.
Какая-то там идет фильтрация, почему не видно мою обработку? |
|||
12
Мисти
01.11.15
✎
17:55
|
Перем Команда_ОткрытиеФормы;
///////////////////////////////////////////////////////////////////////////// // ОПИСАНИЕ ИНТЕРФЕЙСОВ // Интерфейс для регистрации обработки. // Вызывается при добавлении обработки в справочник "ВнешниеОбработки" // // Возвращаемое значение: // Структура: // Вид - строка - возможные значения: "ДополнительнаяОбработка" // "ДополнительныйОтчет" // "ЗаполнениеОбъекта" // "Отчет" // "ПечатнаяФорма" // "СозданиеСвязанныхОбъектов" // // Назначение - массив строк имен объектов метаданных в формате: // <ИмяКлассаОбъектаМетаданного>.[ * | <ИмяОбъектаМетаданных>] // Например, "Документ.СчетЗаказ" или "Справочник.*" // Прим. параметр имеет смысл только для назначаемых обработок // // Наименование - строка - наименование обработки, которым будет заполнено // наименование справочника по умолчанию - краткая строка для // идентификации обработки администратором // // Версия - строка - версия обработки в формате <старший номер>.<младший номер> // используется при загрузке обработок в информационную базу // БезопасныйРежим – Булево – Если истина, обработка будет запущена в безопасном режиме. // Более подбробная информация в справке. // // Информация - Строка- краткая информация по обработке, описание обработки // // ВерсияБСП - Строка - Минимальная версия БСП, на которую рассчитывает код // дополнительной обработки. Номер версии БСП задается в формате «РР.ПП.ВВ.СС» // (РР – старший номер редакции; ПП – младший номер ре-дакции; ВВ – номер версии; СС – номер сборки). // // Команды - ТаблицаЗначений - команды, поставляемые обработкой, одная строка таблицы соотвествует // одной команде // колонки: // - Представление - строка - представление команды конечному пользователю // - Идентификатор - строка - идентефикатор команды. В случае печатных форм // перечисление через запятую списка макетов // - Использование - строка - варианты запуска обработки: // "ОткрытиеФормы" - открыть форму обработки // "ВызовКлиентскогоМетода" - вызов клиентского экспортного метода из формы обработки // "ВызовСерверногоМетода" - вызов серверного экспортного метода из модуля объекта обработки // - ПоказыватьОповещение – Булево – если Истина, требуется оказывать оповещение при начале // и при окончании запуска обработки. Прим. Имеет смысл только // при запуске обработки без открытия формы. // - Модификатор – строка - для печатных форм MXL, которые требуется // отображать в форме ПечатьДокументов подсистемы Печать // требуется установить как "ПечатьMXL" // Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка"); //ПараметрыРегистрации.Вставить("Назначение", ПолучитьНазначениеОбработки()); ПараметрыРегистрации.Вставить("Наименование", НСтр("ru = 'Создание ОРП по ПКО и КК'")); ПараметрыРегистрации.Вставить("Версия", "1.06"); ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь); ПараметрыРегистрации.Вставить("Информация", НСтр("ru = 'Создание ОРП по ПКО и КК'")); ПараметрыРегистрации.Вставить("ВерсияБСП", "3.0.37.44"); ТаблицаКоманд = Получить Таблицу Команд(); ДобавитьКоманду(ТаблицаКоманд, НСтр("ru = 'Создание ОРП по ПКО и КК'"), Команда_ОткрытиеФормы, "ОткрытиеФормы", Ложь); ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); Возврат ПараметрыРегистрации; КонецФункции ///////////////////////////////////////////////////////////////////////////// // ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ Функция Получить Таблицу Команд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры // БЛОК СОБСТВЕННЫХ ФУНКЦИЙ ОБРАБОТКИ Команда_ОткрытиеФормы = "ОткрытиеФормы"; |
|||
13
Мисти
01.11.15
✎
17:56
|
Вот второй вариант, полностью скопировала модуль, всё остальное и у меня и там - в форме. То, откуда украла - есть в списке. Моего - нет.
|
|||
14
Мисти
01.11.15
✎
18:07
|
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ | БыстрыйДоступ.ДополнительныйОтчетИлиОбработка КАК Ссылка, | БыстрыйДоступ.ИдентификаторКоманды |ПОМЕСТИТЬ втБыстрыйДоступ |ИЗ | РегистрСведений.ПользовательскиеНастройкиДоступаКОбработкам КАК БыстрыйДоступ |ГДЕ | БыстрыйДоступ.Пользователь = &ТекущийПользователь | И БыстрыйДоступ.Доступно = ИСТИНА |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ТаблицаБыстрыйДоступ.Ссылка, | ТаблицаБыстрыйДоступ.ИдентификаторКоманды |ПОМЕСТИТЬ втСсылкиИКоманды |ИЗ | втБыстрыйДоступ КАК ТаблицаБыстрыйДоступ | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ДополнительныеОтчетыИОбработки КАК ДопОтчетыИОбработки | ПО ТаблицаБыстрыйДоступ.Ссылка = ДопОтчетыИОбработки.Ссылка | И (ДопОтчетыИОбработки.ПометкаУдаления = ЛОЖЬ) | И (ДопОтчетыИОбработки.Вид = &Вид) | И (ДопОтчетыИОбработки.Публикация = &Публикация) | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ДополнительныеОтчетыИОбработки.Разделы КАК ТаблицаРазделы | ПО ТаблицаБыстрыйДоступ.Ссылка = ТаблицаРазделы.Ссылка | И (ТаблицаРазделы.Раздел = &СсылкаРаздела) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ТаблицаКоманды.Ссылка, | ТаблицаКоманды.Идентификатор, | ТаблицаКоманды.ЗаменяемыеКоманды, | ТаблицаКоманды.ВариантЗапуска, | ТаблицаКоманды.Представление КАК Представление, | ТаблицаКоманды.ПоказыватьОповещение, | ТаблицаКоманды.Модификатор |ИЗ | втСсылкиИКоманды КАК ТаблицаСсылкиИКоманды | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ДополнительныеОтчетыИОбработки.Команды КАК ТаблицаКоманды | ПО ТаблицаСсылкиИКоманды.Ссылка = ТаблицаКоманды.Ссылка | И ТаблицаСсылкиИКоманды.ИдентификаторКоманды = ТаблицаКоманды.Идентификатор | И (ТаблицаКоманды.Скрыть = ЛОЖЬ) | |УПОРЯДОЧИТЬ ПО | Представление" |
|||
15
Мисти
01.11.15
✎
18:07
|
Это запрос, которому моя обработка почему-то не удовлетворяет.
|
|||
16
Мисти
01.11.15
✎
18:59
|
ау? Очень нужно!
|
|||
17
SleepyHead
гуру
01.11.15
✎
19:06
|
Книга о вкусной и здоровой пище. Вот что вам нужно :)
|
|||
18
ДенисЧ
01.11.15
✎
19:06
|
Возьми этот запрос в консоль и убери все условия.
Потом по очереди добавляй. Так ты обретёшь просветление и понимание, что нужно варить борщ, а не (ш)кодить в 1с |
|||
19
Мисти
01.11.15
✎
19:09
|
Ну а так, глазами не видно?
У меня нет консоли для управляемых форм. |
|||
20
mehfk
01.11.15
✎
19:09
|
(18) Не порти театр одного актера.
|
|||
21
ДенисЧ
01.11.15
✎
19:09
|
(19) Хочешь, продам тебе подписку на ИТС? Там есть искомая консоль...
|
|||
22
Мисти
01.11.15
✎
19:10
|
19 а это идея! Я из реального запроса сейчас выкину условия.
|
|||
23
ДенисЧ
01.11.15
✎
19:10
|
(20) Не мешай мне помогать даме вылезти из лужи, куда она героическими усилиями постоянно залезает.
|
|||
24
Мисти
01.11.15
✎
19:12
|
Мне лучше ссылку на консоль, раз ты такой добренький.
(хоть бы и на ИТС, доступ есть!) |
|||
25
mehfk
01.11.15
✎
19:15
|
(23) так я и не мешаю, так - советую наблюдателем оставаться.
|
|||
26
Мисти
01.11.15
✎
19:37
|
Пришлось закомментировать единственный кусочек
И (ТаблицаРазделы.Раздел = &СсылкаРаздела) и всё появилось. посоветуйте!! |
|||
27
Тoлько_
Просмотр 01.11.15
✎
21:51
|
Когда устанавливаешь обработку нужно добавить ее в раздел и выбрать пользователей, кому она будет видна.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |