gifts2017

Универсальная подсистема «Сканы документов» v 1.0

Опубликовал Александр Венгер (venger) в раздел Администрирование - Сервисные утилиты

Подсистема рассчитана на установку и работу в любой конфигурации, установка требует минимальных изменений в конфигурации (см. описание). После установки подсистемы к документам становится возможным «прикреплять» файлы, на формах у всех документов появляется дополнительная вкладка «Сканы» (генерируется программно), которая позволяет добавлять новые файлы к этим документам (это могут быть картинки сканов-оригиналов документов или doc, pdf, xls – файлы), удалять их, т.е. манипулировать «прикрепленными» к документу файлами, просматривать их, а соответственно и печатать прямо из формы документа. Все это с минимальными изменениями конфигурации, пару строк в глобальнике и установка md'шки (добавляется несколько объектов). Используются внешние компоненты 1С++ и FormEx.

ОПИСАНИЕ:

Подсистема рассчитана на установку и работу в любой конфигурации, установка требует минимальных изменений в конфигурации (см. ниже). После установки подсистемы к документам становится возможным «прикреплять» файлы, на формах у всех документов появляется дополнительная вкладка «Сканы» (генерируется программно), которая позволяет добавлять новые файлы к этим документам (это могут быть картинки сканов-оригиналов документов или doc, pdf, xls – файлы), удалять их, т.е. манипулировать «прикрепленными» к документу файлами, просматривать их, а соответственно и печатать прямо из формы документа.

В архиве демо-конфа, с подсистемой, md'шка которой понадобится при установке в какую либо другую базу. В демо-конфе открываете формы документов, переходите на вкладку "СКАНЫ" и наслаждаетесь полученным эффектом...

Есть обработка "Уборщик сканов", для удаления файлов, ссылки на которые были удалены из базы при удалении помеченных объектов. Файлы хранятся отдельно в подпапке папки ИБ (создается программно).

 

ИСПОЛЬЗУЮТСЯ ВНЕШНИЕ КОМПОНЕНТЫ:   
       
1С++: http://www.1cpp.ru   
FormEx: http://www.dorex.ru

 

УСТАНОВКА В ДРУГУЮ КОНФИГУРАЦИЮ:

 

1. Скачать последние версии внешних компонент 1cpp.dll и formex.dll можно тут:

1cpp.dllhttp://www.1cpp.ru/images/3/32/Icpp-latest.rar
formex.dllhttp://www.dorex.ru/files/?formex_t.zip

Кидаем их в каталог с базой, либо в папку \Bin основной программы и в глобальном модуле в процедуре "ПриНачалеРаботыСистемы()" пишем две строчки:

 

    ЗагрузитьВнешнююКомпоненту("1cpp.dll");
ЗагрузитьВнешнююКомпоненту(
"formex.dll");


2. Объединить MD'шку демо-конфы с требуемой конфигурацией, выбрав галками, при объединении, только объекты (см. скриншот):


    Документ->__СканыДоков__
    Обработка->defcls
    Обработка->__КлассПодсистемыСканыДоков__
    Обработка->__УборщикСканов__


3. Подключается добавлением в глобальный модуль в процедуру "ПриНачалеРаботыСистемы()", после загрузки внешних компонент 1С++ и FormEx, таких строк:

 

    __Settings1cpp__=СоздатьОбъект("SettingsManager");
    __Settings1cpp__.Set("EnableHookEventsGroupContext",1);
    __Перехватчик__=СоздатьОбъект("Перехватчик");
    __Перехватчик__.СнятьПерехватСобытийГлобальногоМодуля();
    __КлассПодсистемыСканыДоков__=СоздатьОбъект("__КлассПодсистемыСканыДоков__");
    __КлассПодсистемыСканыДоков__.ДобавитьДопГлобМодуль();
    __Перехватчик__.ПерехватитьСобытияГлобальногоМодуля(__КлассПодсистемыСканыДоков__);

 

Дальнейшее развитие этой подсистемы идет тут:

Подсистема "Фабрика событий"

http://infostart.ru/public/71084/

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
DocsScans.zip
.zip 72,49Kb
26.07.10
206
.zip 72,49Kb 206 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Венгер (venger) 26.05.10 01:33
ЗагрузитьВнешнююКомпоненту("1cpp.dll");
ЗагрузитьВнешнююКомпоненту("formex.dll");
2. Аркадий Кучер (Abadonna) 26.05.10 07:11
(0) Саш, ты б хоть нужные версии 1cpp.dll и formex.dll указал... Например, formex.dll не будет одновременно работать с со старой версией 1cpp.dll, которая уже включает в себя формекс. А еще лучше - приложи нужные файлы
3. Алексей Плутенко (Noy) 26.05.10 10:36
Хорошо сделано! Респект!
но очень не хватает как минимум таких фич:
1. программное добавление скана (это самое главное на мой взгляд)
2. фильтр на типы документов, где будет доп.закладка "сканы"
3. минимальное разграничение доступа - полный / только просмотр / нет доступа
4. Алексей Плутенко (Noy) 26.05.10 10:45
3+ и еще один ньюанс:
судя по коду - после подключения класса оригинальные события ГМ выполнятся не будут? Если так - то это баг.
5. Александр Венгер (venger) 26.05.10 11:32
(4) Как это не будут, будут, иначе смысл теряется....
6. Александр Венгер (venger) 26.05.10 12:47
(2)
Саш, ты б хоть нужные версии 1cpp.dll и formex.dll указал...


Кстати, попробовал на старых, что были под рукой, это: 1С++ v 2.5.0.5 и FormEx v 2.0.5.82, и... как не странно пашет;-) Но, конечно, рекомендую всем качать свежие версии ВК, ссылки на файлы и что с ними делать в описании указал;-)

7. Аркадий Кучер (Abadonna) 26.05.10 12:51
Могу железно заявить, попытка создать объект "Сервис" в формекс, если 1с++ уже с формексом - обломает.
8. Александр Венгер (venger) 26.05.10 12:57
(3) Вообще функционал сейчас минимальный, ибо проверка идеи и т.п. Сам думал еще такое добавить в будущем:

а) возможность добавления/удаления сразу пачки сканов (несколько файлов) у дока;
б) настройки, какое внешнее приложение должно открывать файлы картинок и его командная строка для печати;
в) возможность печати из формы дока всех сканов дока сразу или по одному;
г) настройки у каких доков хранить сканы по видам доков, т.е. возможность где-то отключить для определенного вида дока эту функцию;

1. программное добавление скана (это самое главное на мой взгляд)


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

3. минимальное разграничение доступа - полный / только просмотр / нет доступа


Можно к наборам прав программно привязываться, есть права на чтение служебного дока сканов, значит только просмотр, есть на изменения, то и полный... Тоже не помешает.
9. Александр Венгер (venger) 26.05.10 13:02
(3), +(8) Но у меня сейчас, в первую очередь, еще вопрос стоит, не до конца решенный, о том, чтобы эта подсистема сканов работала совместно в одной конфе с вот этой подсистемой дополнительных прав доков: http://infostart.ru/public/22202/
10. Александр Рытов (Арчибальд) 28.05.10 11:07
(2) Не придирайся! Каждый сам хозяин своему 1С++ :D
11. Епрст (Ёпрст) 28.05.10 13:08
(0) нет в коде выполнения оригинальных событий

ПослеОткрытия
ПриУдаленииДокумента
и т.д..
12. Епрст (Ёпрст) 28.05.10 13:10
И еще.. на реальной базе пробовал ?
Внедрил тут права, на основе перехватчика, столкнулся с тем, что памяти жрать стала 1с-ина не по -детски.. ищу вот утечку, пока завернул класс-перехватчик.
13. Александр Венгер (venger) 28.05.10 13:24
(11),(12) После открытия - процедура тут, оригинальное событие выполнится по любому. ПриУдаленииДокумента - функция, возвращает 1, оригинальное выполнится тоже. Т.е. все там верно, с выполнением оригинальных.... Они не выполнятся, такие как при открытии формы, если это не нужно, т.е. чтобы служебный док не могли открыть юзвери, а так все Ок. Не понимаю о чем речь.....

Что именно в реальной базе пробовал? Если подсистему "Доп. права", то она у меня давно в реальной базе крутится, только версии 1.0, если эту, то ставил на укр. Торговлю и ПУБ, но только для тестирования слегка, чтоб убедится, что пашет.

А эту поставлю, но вот дописываю подсистему Фабрика событий и слегка допишу под использование с фабрикой эти две подсистемы, и тогда можно будет через нее подключить обе подсистемы и права, и сканы, тогда и все это накачу на реальную....

Утечек и других глюков пока не замечал, если что, мне будет очень интересно, если что найдете....
14. Александр Венгер (venger) 28.05.10 13:50
(11) +13, а не, с оригинальными событиями я загнал, это поправлю, точно, а все остальное в силе....
15. Епрст (Ёпрст) 28.05.10 13:51
(13) ну как же ?
у тебя событие Событие_ПослеОткрытия() в виде процы..
+ ПриИзмененииРазмеровОкна

Это, у меня памяти жрать стало, на каждого юзверя по 500 - 600 метров на процесс.
16. Епрст (Ёпрст) 28.05.10 14:02
+ Возврат 1 всего лишьне отменяет действие .. но
НЕ выполняет оригинальное событие модуля объекта!!!!
17. Епрст (Ёпрст) 28.05.10 14:05
Напиши вот так, для проверки:

Функция  Событие_ПриОткрытии(ФлагЧтенияНастройки) Экспорт
     сообщить ("перхватили в перехватчике");
     Возврат 1;
КонецФункции


всё, теперь у тебя в любом модуле проца ПриОткрытии не выполнится.
18. Александр Венгер (venger) 28.05.10 14:24
(15),(16),(17) См. пост 14-ть;-) Про оригинальные события я уже допер, что имелось ввиду. Добавлю в ближайшее время. Тем более в обновленной версии, которая будет использовать возможности класса "МенеджерСобытий", это уже будет.
19. Александр Венгер (venger) 31.05.10 01:59
(4),(11),(15),(16),(17) Обновил файл, добавил выполнения оригинальных событий.
А вообще, дальнейшее развитие этой подсистемы идет тут:
Подсистема "Фабрика событий"
http://infostart.ru/public/71084/
20. Александр Венгер (venger) 26.07.10 12:43
(0) Поправил вызов оригинальных событий......
21. Анна (Lotika) 21.01.11 12:00
Здравствуйте!
Я не программист, я бухгалтер.
Считаю, что это очень полезная вещь - прицепить в 1Ске сканы к документам.=))
Интересуюсь, а со справочниками такое возможно?
Например к договорам с контрагентами или сотрудниками ?
22. sumixam (sumixam) 14.09.11 14:40
не открывается ссылка на фомеч.длл((((((((((
24. Григорьев Анатолий (ToJIuK) 01.02.14 11:31
Вопрос такой . При интеграции данной подсистемы,на чколько я понял, вкладка Сканы создается для всех документов. А можно ли Указать список документов для который это нужно . а не для всех .
25. Сергей (Che) Коцюра (CheBurator) 02.02.14 03:26
интересно, как ведет себя добавление закладки сканы на многослойных многозакладочных формах..?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа