По теме из базы знаний
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2/3.0
- Две или несколько касс ККМ Розница 2.3 + Честный знак + Принтер чеков
- Структура подчиненности с хронологией документов и кнопками проведения и удаления
- РМК (рабочее место кассира) 1С8: Розница 2.3 как Фронт-офис с быстрым поиском и автоподбором товаров
- Поддержка пользователей [Alt+S] (подключаемое расширение)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
вот скрин:
https://dl.dropboxusercontent.com/u/86313368/view.jpg
в идеале хотелось бы так.... чтобы на добавленную кнопку - открывалась внешняя обработка из определенного каталога на локальном диске.
спасибо
в идеале хотелось бы так.... чтобы на добавленную кнопку - открывалась внешняя обработка из определенного каталога на локальном диске.
спасибо
Значит так (один из способов - проверен в тонком клиенте):
- создаешь общую команду "ОткрытьВнешнююОбработку"
- прописывешь в ее модуль код из следующего поста.
- Добавляешь эту общую команду в подсистему, "Администрирование"
- Открываешь командный интерфейс подсистемы и
убеждаешься что команда эта "откавычена" (у меня была откавычена сразу)
- ну можешь еще ее порядок подправить.
- создаешь общую команду "ОткрытьВнешнююОбработку"
- прописывешь в ее модуль код из следующего поста.
- Добавляешь эту общую команду в подсистему, "Администрирование"
- Открываешь командный интерфейс подсистемы и
убеждаешься что команда эта "откавычена" (у меня была откавычена сразу)
- ну можешь еще ее порядок подправить.
&НаСервере
Функция ВосстановитьПуть()
КлючКоманды = Метаданные.ОбщиеКоманды.ОткрытьВнешнююОбработку.ПолноеИмя();
Возврат ХранилищеОбщихНастроек.Загрузить(КлючКоманды, "ФайлОбработки");
КонецФункции
&НаСервере
Процедура СохранитьПуть(ФайлОбработки)
КлючКоманды = Метаданные.ОбщиеКоманды.ОткрытьВнешнююОбработку.ПолноеИмя();
ХранилищеОбщихНастроек.Сохранить(КлючКоманды, "ФайлОбработки",ФайлОбработки);
КонецПроцедуры
&НаСервере
Функция ПодключитьОбработку(АдресОбработки,БезопасныйРежим,ЕррорИнфо)
Попытка
ИмяОбъекта = ВнешниеОбработки.Подключить(АдресОбработки,,(БезопасныйРежим=Истина)ИЛИ(БезопасныйРежим<>Ложь));
Исключение
ЕррорИнфо =
"Ошибка подключения данных внешней обработки:
|" + ИнформацияОбОшибке().Описание;
ИмяОбъекта = "";
КонецПопытки;
Возврат ИмяОбъекта;
КонецФункции
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
Перем ЕррорИнфо;
Перем ПутьОбработки;
Перем ФайлОбработки;
Перем БезопасныйРежим;
БезопасныйРежим = Истина;
ФайлОбработки = ВосстановитьПуть();
сзМеню = Новый СписокЗначений;
Если ЗначениеЗаполнено(ФайлОбработки) Тогда
Файло = Новый Файл(ФайлОбработки);
Если Файло.Существует() Тогда
сзМеню.Добавить(ФайлОбработки, ФайлОбработки);
Иначе
сзМеню.Добавить(ФайлОбработки, ФайлОбработки, , БиблиотекаКартинок.УдалитьЭлементСписка);
КонецЕсли;
КонецЕсли;
сзМеню.Добавить("", "Выбрать файл обработки", , БиблиотекаКартинок.Выбрать);
Выбор = сзМеню.ВыбратьЭлемент("Открытие внешней обработки");
Если Выбор = Неопределено Тогда
Возврат;
КонецЕсли;
Если ПустаяСтрока(Выбор.Значение) Тогда
ДиалогФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогФайла.ПолноеИмяФайла = ФайлОбработки;
ДиалогФайла.Каталог = ПутьОбработки;
ДиалогФайла.Заголовок = "Выбор файла внешней обработки";
ДиалогФайла.Фильтр = "Внешняя обработка 1С (*.epf)|*.epf";
ДиалогФайла.Расширение = "epf";
ДиалогФайла.ПроверятьСуществованиеФайла=Истина;
Если ДиалогФайла.Выбрать() Тогда
ФайлОбработки = ДиалогФайла.ПолноеИмяФайла;
СохранитьПуть(ФайлОбработки);
Иначе
Возврат;
КонецЕсли;
Иначе
ФайлОбработки = Выбор.Значение;
БезопасныйРежим = Выбор.Пометка;
КонецЕсли;
Файло = Новый Файл(ФайлОбработки);
Если Файло.Существует() = Ложь Тогда
Предупреждение(
"Выбранный файл обработки не существует
|'" + ФайлОбработки + "'
| !!!");
Возврат;
КонецЕсли;
АдресОбработки = "";
Если ПоместитьФайл(АдресОбработки, ФайлОбработки, ФайлОбработки, Ложь) = Ложь Тогда
Предупреждение(
"Файл внешней обработки не удалось
|поместить во временное хранилище
| !!!");
Возврат;
КонецЕсли;
ИмяОбработки = ПодключитьОбработку(АдресОбработки,БезопасныйРежим,ЕррорИнфо);
Если ЗначениеЗаполнено(ЕррорИнфо) ИЛИ ПустаяСтрока(ИмяОбработки) Тогда
Предупреждение(
"Ошибка подключения внешней обработки:
|'" + ФайлОбработки + "'
| !!!");
Возврат;
КонецЕсли;
Попытка
ОткрытьФорму("ВнешняяОбработка." + ИмяОбработки + ".Форма");
Исключение
ВызватьИсключение(
"Ошибка открытия формы внешней обработки:
|'" + ОписаниеОшибки() + "'
| !!!");
КонецПопытки;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот