Имя: Пароль:
1C
1С v8
Внешний отчет можно ли встроить в интерфейс?
0 Плот
 
13.03.14
15:11
Ребята привет! Можно ли внешний отчет в "Дополнительные внешние отчеты" как нить вывести пользователю в интерфейс?
1 vmv
 
13.03.14
15:14
да
2 GANR
 
13.03.14
15:16
(0) Можно, но я лично предпочитаю в таких случаях просто добавлять отчет в конфигурацию.
3 Maxus43
 
13.03.14
15:17
хехе, а я не знаю как в интерфейс из справочника внешних вставлять :)
4 Плот
 
13.03.14
15:18
(1) Как подскажи.
(2) А потом, если надо будет править будешь всех выгонять?
5 Ане4ка1с
 
13.03.14
15:20
(4) как версия? 8.0? или 8.2?
6 vmv
 
13.03.14
15:20
В Интерфейсе

ТипКнопки Действие
Действие AddЗагрузчики.ОткрытьФормуОбработкиКлиентБанкаИзХранилища

....

Процедура ОткрытьФормуОбработкиКлиентБанкаИзХранилища() Экспорт

    ФормаКБ82 = ПолучитьФормуОбработкуИзХранилища("КБ82"); // Код элемента справочника Доп. Обработки
    Если ФормаКБ82 = Неопределено Тогда
        Возврат;                            // Все сообщения уже выведены
    Иначе    
        ФормаКБ82.Открыть();
    КонецЕсли;

КонецПроцедуры
Функция ПолучитьФормуОбработкуИзХранилища(КодОбработки, ФормаОбработкиВладелец = Неопределено, ФормаОбработкиКУ = Неопределено) Экспорт
        
    МенеджерВнОб       = Справочники.ВнешниеОбработки;
    СсылкаСпрОбработки = МенеджерВнОб.НайтиПоКоду(КодОбработки);
    
    Если НЕ ЗначениеЗаполнено(СсылкаСпрОбработки) Тогда
        Сообщить("В справочнике внешних обработок не найден элемент с кодом " + """" +КодОбработки+ """");
        Возврат Неопределено;
    КонецЕсли;
    
    ЭтоОбработка = ?(СсылкаСпрОбработки.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Обработка, Истина, Ложь);
    Если НЕ ЭтоОбработка Тогда
        Сообщить("В справочнике внешних обработок элемент с кодом " + """" +КодОбработки+ """" + " не является обработкой.");
        Возврат Неопределено;
    КонецЕсли;
    
    Попытка
        
        ИмяФайла = ПолучитьИмяВременногоФайла();
        ДвоичныеДанные = СсылкаСпрОбработки.ХранилищеВнешнейОбработки.Получить();
        ДвоичныеДанные.Записать(ИмяФайла);
        
        ФормаОбработки = ВнешниеОбработки.ПолучитьФорму(ИмяФайла, , ФормаОбработкиВладелец, ФормаОбработкиКУ);
        
        Если ФормаОбработки = Неопределено Тогда
            Сообщить("В справочнике внешних обработок элемент с кодом " + """" +КодОбработки+ """" + " не является обработкой.");
            Возврат Неопределено;
            
        Иначе
            Возврат ФормаОбработки;
            
        КонецЕсли;
        
    Исключение
    
        Предупреждение("Выбранный файл не является внешней обработкой.
        |Либо, данная обработка не предназначена для
        |запуска в этой конфигурации.");
        
        Возврат Неопределено;
        
    КонецПопытки;
    
    Возврат Неопределено;
    
КонецФункции
7 butterbean
 
13.03.14
15:21
(6) бггг
8 Maxus43
 
13.03.14
15:23
мда, я думал универсальный механизм... это суть костыль, имя ему костыль, год рождения его - костыль...
9 vmv
 
13.03.14
15:25
(8) для пользователя это опция в главном меню, для программиста удобный инструмент правки на лету

через стандарный функционал выргузил нга диск
поправил, добавил нях
загрузил
сообщил готово

а как это назвать по-барабану, ГЛАВНОЕ - удобно
10 Maxus43
 
13.03.14
15:28
(9) я к тому что каждый новый отчет-обработку надо добавлять отдельно в конфигураторе, нет механизма программного рисования кнопок и т.д., это уже не удобно.
11 Ане4ка1с
 
13.03.14
15:29
Самый простой вариант в конфе добавить в отчеты и поправить типовой интерфейс.
А если поправить надо будет отчет, то если версия 8.1 и выше, то можно динамически обновиться. С 8.0 не прокатит конечно...
12 Maxus43
 
13.03.14
15:31
(11) демоническое обновление - Зло (с) народная мудрость ступивших на грабли
13 vmv
 
13.03.14
15:32
(10) не надо ничего дополнять в конфигураторе, ты справочник Доп.Обработок(Отчетов) видел в УПП, там данные все загружаемые в бинарники.

Назначение "костыля" в (7) - избавить специалиста на рабочем месте от копания в этом справочнике и вывести на его минимизированное главное меню еще одну опцию.
14 Maxus43
 
13.03.14
15:49
(13) вот это вот на каждый отчет:

ТипКнопки Действие
Действие AddЗагрузчики.ОткрытьФормуОбработкиКлиентБанкаИзХранилища

это не программно же, а в конфигураторе
15 vmv
 
13.03.14
15:53
(13) зачем на каждый? зачем ворох отчетов интерфейсе?

только ключевые внешние отчеты и обработки садим в меню, который оператор клиент-банка, менеждер и т.д. юзают каждый день.

это избаляет их от 10 движений мышью при поиске своего "рабочего стола")
16 Maxus43
 
13.03.14
16:15
идеальный вариант - в справочнике внешних отчетов-обработок галка "Включить в интерфейс". при открытии 1с рисуется панелька (ну коль доступа к интерфейсу программного нет) и туда навешиваются все они. Вот это я понимаю универсальность... а всё остальное от лукавого
17 ptiz
 
13.03.14
16:38
Добавить в избранное еще не предлагали?
18 ptiz
 
13.03.14
16:38
хотя... фигня получается
AdBlock убивает бесплатный контент. 1Сергей