Механизм, который позволяет вместе с документом 1с хранить произвольный набор электронных документов любых типов (pdf, doc, xls, jpg, msg ) icon

Механизм, который позволяет вместе с документом 1с хранить произвольный набор электронных документов любых типов (pdf, doc, xls, jpg, msg )



НазваниеМеханизм, который позволяет вместе с документом 1с хранить произвольный набор электронных документов любых типов (pdf, doc, xls, jpg, msg )
Дата конвертации29.07.2012
Размер64.66 Kb.
ТипДокументы
1. /readme.docМеханизм, который позволяет вместе с документом 1с хранить произвольный набор электронных документов любых типов (pdf, doc, xls, jpg, msg )

Механизм, который позволяет вместе с документом 1с

хранить произвольный набор электронных документов

любых типов (pdf, doc, xls, jpg, msg ...).


Это может быть например отсканированный договор

с печатями, деловая переписка, картинки с оборудованием

и т.д. и т.п.


1.Суть идеи.

Документы хранятся на внешнем файл-сервере, а в

1с реализован механизм стыковки документ 1с <-> файл.


2.Как сделать:

2.1. Заводите константу ФСерверДок, тип строка(128),

права всем на чтение, админу - все права.

Заводите туда путь к ресурсу файл-сервера для внешних документов,

например \\server2\alldocs$. А на самом сервере расшариваете

соответственно папку под именем alldocs$, даете всем все права

(или делаете более тонкую настройку по своему вкусу).


2.2. На форму документа добавляете 3 кнопки:

первая: Заголовок:Открыть Док.

Идентификатор:кОткВнДок

Формула:ОткрытьВнДок()

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

(Оригинал графического изображения документа).

вторая: Заголовок:Загрузить Док.

Идентификатор:кЗагВнДок

Формула:ЗагрузитьВнДок()

Подсказка:Загрузить электронный документ (оригинал графического

изображения документа) в специальный каталог.

третья: Заголовок:Х

Идентификатор:кУдВнДок

Формула:УдалитьВнДок()

Подсказка:Удалить внешний электронный документ (Оригинал

графического изображения документа) из каталога.

Добавляете текст:

Заголовок:

Идентификатор:тСтатускаталога

Формула:Статускаталога


Располагаете этот текст в виде строчки над кнопками.

У вас должно получиться что-то вроде:




2.3.В модуле формы документа перед обявлениями всех процедур и функций

добавляете:

Перем ПутьВнДок,Статускаталога;


Далее вставляете процедуры:

//-----------------------------------------------

Процедура НайтиЧислоФайлов()

ФГ=СоздатьОбъект("ФС");

Файл=ФГ.НайтиПервыйФайл(ПутьВнДок+"*.*");

Если (ПустаяСтрока(Файл)=1) Тогда

Статускаталога="Каталог внешних документов пуст!";

Форма.тСтатускаталога.Цвет(255,0,0);

Форма.кОткВнДок.
Доступность(0);

Иначе

всегоф=0;

Пока ПустаяСтрока(Файл)=0 Цикл

Файл=ФГ.НайтиСледующийФайл();

Если (СокрЛП(Файл)<>".") И (СокрЛП(Файл)<>"..") И (СокрЛП(Файл)<>"") Тогда

всегоф=всегоф+1;

КонецЕсли;

КонецЦикла;

Если всегоф=0 Тогда

Статускаталога="Каталог внешних документов пуст!";

Форма.тСтатускаталога.Цвет(255,0,0);

Форма.кОткВнДок.Доступность(0);

Иначе

Статускаталога="Во внешнем каталоге - "+СокрЛП(всегоф)+" документ(ов).";

Форма.тСтатускаталога.Цвет(0,128,0);

Форма.кОткВнДок.Доступность(1);

КонецЕсли;

КонецЕсли;

КонецПроцедуры

//-----------------------------------------------

Процедура УдалитьВнДок()

Перем файл,путь;

ФГ=СоздатьОбъект("ФС");

ТК=ФГ.ТекКаталог();

ФГ.УстТекКаталог(ПутьВнДок);

путь=ПутьВнДок;

Если ФГ.ВыбратьФайл(0,файл,путь,"Выберите документ для удаления.",'Все файлы (*.*) |*.*',,20)=1 Тогда

Если НРег(СокрЛП(путь))<>НРег(ПутьВнДок) Тогда

сообщить("Нельзя удалять документы в других каталогах!...");

Иначе

Если Вопрос("Удалить "+СокрЛП(файл)+" из каталога внешних документов?",4,20)=6 Тогда

Попытка

ФГ.УдалитьФайл(ПутьВнДок+СокрЛП(файл));

Предупреждение("Файл успешно удален!...");

Исключение

Сообщить("Ошибка:"+ОписаниеОшибки());

КонецПопытки;

КонецЕсли;

КонецЕсли;

КонецЕсли;

ФГ.УстТекКаталог(ТК);

НайтиЧислоФайлов();

КонецПроцедуры

//-----------------------------------------------

Процедура ЗагрузитьВнДок()

Перем файл,путь;

ФГ=СоздатьОбъект("ФС");

путь="C:\";

ТК=ФГ.ТекКаталог();

ФГ.УстТекКаталог(путь);

Если ФГ.ВыбратьФайл(0,файл,путь,"Выберите локальный документ для загрузки.",'Все файлы (*.*) |*.*',,20)=1 Тогда

Если Вопрос("Загрузить "+СокрЛП(Путь)+СокрЛП(файл)+" в каталог внешних документов?",4,20)=6 Тогда

Попытка

ФГ.КопироватьФайл(СокрЛП(Путь)+СокрЛП(файл),ПутьВнДок+СокрЛП(файл),0);

Предупреждение("Файл загружен успешно!...");

Исключение

Сообщить("Ошибка:"+ОписаниеОшибки());

КонецПопытки;

КонецЕсли;

КонецЕсли;

ФГ.УстТекКаталог(ТК);

НайтиЧислоФайлов();

КонецПроцедуры

//-----------------------------------------------

Процедура ОткрытьВнДок()

Перем файл,путь;

ФГ=СоздатьОбъект("ФС");

ТК=ФГ.ТекКаталог();

ФГ.УстТекКаталог(ПутьВнДок);

путь=ПутьВнДок;

Если ФГ.ВыбратьФайл(0,файл,путь,"Выберите документ.",'Все файлы (*.*) |*.*',,20)=1 Тогда

Если НРег(СокрЛП(путь))<>НРег(ПутьВнДок) Тогда

сообщить("Нельзя смотреть документы в других каталогах!...");

Иначе

ЗапуститьПриложение(ПутьВнДок+СокрЛП(файл));

КонецЕсли;

КонецЕсли;

ФГ.УстТекКаталог(ТК);

КонецПроцедуры

//-----------------------------------------------

Процедура ПодготовкаВнешДок()

нетдокум=0;

Статускаталога="";

ПутьВнДок=СокрЛП(Константа.ФСерверДок);

Если ПутьВнДок="" Тогда

нетдокум=1;

Иначе

Если прав(ПутьВнДок,1)<>"\" Тогда

ПутьВнДок=ПутьВнДок+"\";

КонецЕсли;

ФГ=СоздатьОбъект("ФС");

Файл=ФГ.НайтиПервыйФайл(ПутьВнДок+СокрЛП(вид()));

Если ПустаяСтрока(Файл)=1 Тогда

//каталог для данного вида документов не существует или не найден

Попытка

ФГ.СоздатьКаталог(ПутьВнДок+СокрЛП(вид()));

Файл=ФГ.НайтиПервыйФайл(ПутьВнДок+СокрЛП(вид()));

Если ПустаяСтрока(Файл)=1 Тогда

//проблемы с доступом

нетдокум=1;

Иначе

ПутьВнДок=ПутьВнДок+СокрЛП(Файл);

КонецЕсли;

Исключение

нетдокум=1;

Сообщить(ОписаниеОшибки());

КонецПопытки;

Иначе

ПутьВнДок=ПутьВнДок+СокрЛП(Файл);

КонецЕсли;

КонецЕсли;

Если нетдокум=0 Тогда

Файл=ФГ.НайтиПервыйФайл(ПутьВнДок+"\"+СокрЛП(НомерДок));

Если ПустаяСтрока(Файл)=1 Тогда

//каталог для данного документа не существует или не найден

Попытка

ФГ.СоздатьКаталог(ПутьВнДок+"\"+СокрЛП(НомерДок));

Файл=ФГ.НайтиПервыйФайл(ПутьВнДок+"\"+СокрЛП(НомерДок));

Если ПустаяСтрока(Файл)=1 Тогда

//проблемы с доступом

нетдокум=1;

Иначе

ПутьВнДок=ПутьВнДок+"\"+СокрЛП(Файл);

КонецЕсли;

Исключение

нетдокум=1;

Сообщить(ОписаниеОшибки());

КонецПопытки;

Иначе

ПутьВнДок=ПутьВнДок+"\"+СокрЛП(Файл);

КонецЕсли;

КонецЕсли;

Если нетдокум=1 Тогда

//не удалось найти файл-сервер или др. проблемы

Форма.кОткВнДок.Видимость(0);

Форма.кЗагВнДок.Видимость(0);

Форма.кУдВнДок.Видимость(0);

Иначе

//в ПутьВнДок - полный путь к каталогу данного конкретного документа

ПутьВнДок=ПутьВнДок+"\";

Форма.кОткВнДок.Видимость(1);

Форма.кЗагВнДок.Видимость(1);

Форма.кУдВнДок.Видимость(1);

Если (НазваниеНабораПрав()<>"Администратор") И

(НазваниеНабораПрав()<>"Директор") Тогда

//только они могут удалять

Форма.кУдВнДок.Доступность(0);

КонецЕсли;

//сообщить(ПутьВнДок);

НайтиЧислоФайлов();

КонецЕсли;

КонецПроцедуры

//-----------------------------------------------

2.4. В процедуру ПриОткрытии() добавляете вызов:

//------------------------

Процедура ПриОткрытии()

. . .

ПодготовкаВнешДок();

. . .

КонецПроцедуры

//-----------------------------------------------

2.5. Сохраняете изменения, запускаете 1с, прописываете константу

ФСерверДок и наслаждаетесь возможностью хранить внешние документы

для каждого документа в 1с.


Надеюсь, Вам это чем-то поможет...

Mickle.




Похожие:

Механизм, который позволяет вместе с документом 1с хранить произвольный набор электронных документов любых типов (pdf, doc, xls, jpg, msg ) iconМетодические рекомендации по использованию набора цор к учебнику «Алгебра и начала анализа», 10-11 классы под редакцией Колмогорова А. Н
Данный набор цор представляет собой инструмент учебной деятельности, который позволяет оптимизировать процесс обучения математике,...
Механизм, который позволяет вместе с документом 1с хранить произвольный набор электронных документов любых типов (pdf, doc, xls, jpg, msg ) iconГрафик проведения школьного этапа олимпиад школьников
Название файла: по образцу: наименование учреждения предмет класс xls, например, absakovo istotia xls или soh1 himia 11. xls
Механизм, который позволяет вместе с документом 1с хранить произвольный набор электронных документов любых типов (pdf, doc, xls, jpg, msg ) iconВ. Т. Безручко «Практикум…» из
В таблицах Word реализованы некоторые функции электронных таблиц. Подобно Excel, Word позволяет выполнять вычисления с помощью формул...
Механизм, который позволяет вместе с документом 1с хранить произвольный набор электронных документов любых типов (pdf, doc, xls, jpg, msg ) iconДомашнее задание по химии
Выписать тезисно признаки типов признаки типов «кольчатые черви», «моллюски» в тетрадь
Механизм, который позволяет вместе с документом 1с хранить произвольный набор электронных документов любых типов (pdf, doc, xls, jpg, msg ) iconДокументы
1. /Msg.txt
Механизм, который позволяет вместе с документом 1с хранить произвольный набор электронных документов любых типов (pdf, doc, xls, jpg, msg ) iconФормирование методической папки (портфолио) учителя информатики
Это набор работ индивидуума, который связывает отдельные аспекты его деятельности в более полную картину
Механизм, который позволяет вместе с документом 1с хранить произвольный набор электронных документов любых типов (pdf, doc, xls, jpg, msg ) iconМеханизм атомного излучателя (напечатано в журнале "Инженер" №10, 2006 г.)
Напрашивается гипотеза, что колебания в сериальных спектрах создаются чисто магнитными силами. Далее будет показано, что это позволяет...
Механизм, который позволяет вместе с документом 1с хранить произвольный набор электронных документов любых типов (pdf, doc, xls, jpg, msg ) iconДокументы
1. /Отчет Сош 9 xls.xls
Механизм, который позволяет вместе с документом 1с хранить произвольный набор электронных документов любых типов (pdf, doc, xls, jpg, msg ) iconДокументы
1. /Протоколы по Биологии исправ. xls.xls
Механизм, который позволяет вместе с документом 1с хранить произвольный набор электронных документов любых типов (pdf, doc, xls, jpg, msg ) iconОсновы творческой разработки урока. Строение уроков основных типов
Реализация идеи использования совокупности уроков, включающих в себя наибо­лее характерные структурные элементы остальных уроков,...
Механизм, который позволяет вместе с документом 1с хранить произвольный набор электронных документов любых типов (pdf, doc, xls, jpg, msg ) iconДокументы
1. /Образцы нормативно-правовых документов/Акт обследования условаий.doc
2.
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©podelise.ru 2000-2014
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы

Разработка сайта — Веб студия Адаманов