Дополнительная кнопка в верхнем меню

1. aximo 2185 16.01.14 21:54 Сейчас в теме
Подскажите как добавить дополнительную "кнопку" в верхнее меню конфигурации "УТ11", например кнопка "Запуск внешней обработки".

Спасибо
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Rothschild 16.01.14 21:58 Сейчас в теме
(1) aximo,
ты имеешь ввиду команду в командной панели раздела приложения
или сам раздел приложения.
скринчик выложи для ясности.
3. aximo 2185 16.01.14 22:33 Сейчас в теме
вот скрин:

https://dl.dropboxusercontent.com/u/86313368/view.jpg

в идеале хотелось бы так.... чтобы на добавленную кнопку - открывалась внешняя обработка из определенного каталога на локальном диске.

спасибо
4. Rothschild 17.01.14 07:28 Сейчас в теме
Значит так (один из способов - проверен в тонком клиенте):
- создаешь общую команду "ОткрытьВнешнююОбработку"
- прописывешь в ее модуль код из следующего поста.
- Добавляешь эту общую команду в подсистему, "Администрирование"
- Открываешь командный интерфейс подсистемы и
убеждаешься что команда эта "откавычена" (у меня была откавычена сразу)
- ну можешь еще ее порядок подправить.
5. Rothschild 17.01.14 07:28 Сейчас в теме
&НаСервере
Функция ВосстановитьПуть()
	КлючКоманды = Метаданные.ОбщиеКоманды.ОткрытьВнешнююОбработку.ПолноеИмя();
	Возврат ХранилищеОбщихНастроек.Загрузить(КлючКоманды, "ФайлОбработки");
КонецФункции

&НаСервере
Процедура СохранитьПуть(ФайлОбработки)
	КлючКоманды = Метаданные.ОбщиеКоманды.ОткрытьВнешнююОбработку.ПолноеИмя();
	ХранилищеОбщихНастроек.Сохранить(КлючКоманды, "ФайлОбработки",ФайлОбработки);
КонецПроцедуры

&НаСервере
Функция ПодключитьОбработку(АдресОбработки,БезопасныйРежим,ЕррорИнфо)
	Попытка
		ИмяОбъекта = ВнешниеОбработки.Подключить(АдресОбработки,,(БезопасныйРежим=Истина)ИЛИ(БезопасныйРежим<>Ложь));
	Исключение
		ЕррорИнфо = 
		"Ошибка подключения данных внешней обработки:
		|" + ИнформацияОбОшибке().Описание;
		ИмяОбъекта = "";
	КонецПопытки;
	Возврат ИмяОбъекта;
КонецФункции

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	Перем ЕррорИнфо;
	Перем ПутьОбработки;
	Перем ФайлОбработки;
	Перем БезопасныйРежим;
	БезопасныйРежим = Истина;
	
	ФайлОбработки = ВосстановитьПуть();
	
	сзМеню = Новый СписокЗначений;
	Если ЗначениеЗаполнено(ФайлОбработки) Тогда
		Файло = Новый Файл(ФайлОбработки);
		Если Файло.Существует() Тогда
			сзМеню.Добавить(ФайлОбработки, ФайлОбработки);
		Иначе
			сзМеню.Добавить(ФайлОбработки, ФайлОбработки, , БиблиотекаКартинок.УдалитьЭлементСписка);
		КонецЕсли; 
	КонецЕсли; 
	сзМеню.Добавить("", "Выбрать файл обработки", , БиблиотекаКартинок.Выбрать);
	
	Выбор = сзМеню.ВыбратьЭлемент("Открытие внешней обработки");
	Если Выбор = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	Если ПустаяСтрока(Выбор.Значение) Тогда
		ДиалогФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
		ДиалогФайла.ПолноеИмяФайла = ФайлОбработки;
		ДиалогФайла.Каталог = ПутьОбработки;
		ДиалогФайла.Заголовок = "Выбор файла внешней обработки";
		ДиалогФайла.Фильтр = "Внешняя обработка 1С (*.epf)|*.epf";
		ДиалогФайла.Расширение = "epf";
		ДиалогФайла.ПроверятьСуществованиеФайла=Истина;
		Если ДиалогФайла.Выбрать() Тогда
			ФайлОбработки = ДиалогФайла.ПолноеИмяФайла;
			СохранитьПуть(ФайлОбработки);
		Иначе
			Возврат;
		КонецЕсли;
	Иначе
		ФайлОбработки = Выбор.Значение;
		БезопасныйРежим = Выбор.Пометка;
	КонецЕсли;
	
	Файло = Новый Файл(ФайлОбработки);
	Если Файло.Существует() = Ложь Тогда
		Предупреждение(
		"Выбранный файл обработки не существует
		|'" + ФайлОбработки + "'
		| !!!");
		Возврат;
	КонецЕсли;
	
	АдресОбработки = "";
	Если ПоместитьФайл(АдресОбработки, ФайлОбработки, ФайлОбработки, Ложь) = Ложь Тогда
		Предупреждение(
		"Файл внешней обработки не удалось
		|поместить во временное хранилище
		| !!!");
		Возврат;
	КонецЕсли; 
	
	ИмяОбработки = ПодключитьОбработку(АдресОбработки,БезопасныйРежим,ЕррорИнфо);
	Если ЗначениеЗаполнено(ЕррорИнфо) ИЛИ ПустаяСтрока(ИмяОбработки) Тогда
		Предупреждение(
		"Ошибка подключения внешней обработки:
		|'" + ФайлОбработки + "'
		| !!!");
		Возврат;
	КонецЕсли;
	
	Попытка
		ОткрытьФорму("ВнешняяОбработка." + ИмяОбработки + ".Форма");
	Исключение
		ВызватьИсключение(
		"Ошибка открытия формы внешней обработки:
		|'" + ОписаниеОшибки() + "'
		| !!!");
	КонецПопытки;
	
КонецПроцедуры

Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот