CopyDoc BS (Привязка внешних файлов в 7.7)

Обработки - Обработка документов

Дополнение к 1С Бухгалтерии 7.7. Позволяет "привязывать" к документам, контрагентам и договорам любые внешние файлы, например, сканированные копии документов.

Предистория, или зачем это нужно:  

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

Чтоб облегчить доступ к первичке у нас было решено все документы сканировать (перечень утвержден приказом) и привязывать к 1С. Из удаленных филиалов файлы пересылались в головное по ftp. 

В результате внедрения центральная бухгалтерия получила возможность оценивать правильность отражения документов в учете филиалов, подготавливать копии документов для камеральных проверок, делать копию любых документов, смотреть расчеты к бух.справкам и т.д.

Описание программы:

Программа является дополнением к типовой 1С Бухгалтерии 7.7. Она позволяет привязывать к любым документам конфигурации, а так же к справочникам "Контрагенты" и "Договоры" внешние файлы: сканированные копии документов, расчеты из Excel, справки и др. документы из Word, и т.д.

Для установки программы надо добавить в конфигурацию:

Справочники: "_ОригиналыДокументов", "_ВидыОригиналовДокументов"

Обработки: "_ОригиналыДокументов", "_ОригиналыДокументовДобавление"

Поправить процедуру "глДействия" в глобальном модуле.

Добавить кнопку "Оригиналы" и соответствующую процедуру в формы справочников "Контрагенты" и "Договоры".

Добавить в меню вызов справочника "Оригиналы документов"

Порядок работы:

Основная обработка "Оригиналы документов" вызывается из документов по кнопке "Действия", из справочников по отдельной соответствующей кнопке.  Обработка позволяет просматривать прикрепленные файлы (во внешнем приложении), добавлять новые, удалять старые, редактировать наименование и вид документа, отбирать документы по виду и контрагенту.

Ссылки на файлы хранятся в справочнике "Оригиналы документов".

Все привязанные файлы копируются в отдельный каталог "CopyDoc" внутри базы и переименовываются, что защищает их от случайного удаления пользователем.

Дополнительно эти же файлы копируются в каталог "CopyDoc/Send" - это сделано у нас для того чтоб отслеживать новые добавленные файлы для отправки в головное предприятие. После отправки файлы удалялись.

 Я являюсь автором идеи, структуры и т.д. программы. Код писал штатный программист.

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

Наименование Файл Версия Размер
Демо-конфигурация с программой "CopyDoc BS"
.rar 6,51Mb
14.09.14
155
.rar 6,51Mb 155 Скачать бесплатно

См. также

Комментарии
1. Владислав Чинючин (vcv) 84 09.11.09 21:15 Сейчас в теме
1. Если пользователь нажмет "Просмотреть", можно изменить файл и сохранить. Даже случайно, наобдуманно. Желая, например, всего лишь подправить контрастность перед печатью. Не айс.
2. Если нажать кнопку "Изменить" предлагается прицепить новый файл. Старый при этом не удаляется, висит мертвым грузом. А ссылка из программы на новый файл указывает.
3. Операции с файлами ни как не отражаются в журнале регистрации. Это уже не мелкая придирка, это серьезный косяк.
4. Если после прицепления файлов поменять контрагента в документе (бывает, ошиблись), файлы перестают показываться у этого документа. Они вообще ни у какого документа не показываются, их можно увидеть только при установленной галочке "Все документы контрагента". И вообще получается нелогичность. "Прицепляем" файлы в документе и, как физуально воспринимается, к документу, но при оказываются они прикреплены к контрагенту, а в документе вроде как исчезли.
2. Сергей Бояновский (ZeBeR) 146 09.11.09 22:24 Сейчас в теме
Спасибо за содержательный комментарий.
по п.1 - я сторонник сознательного использования компьютера, поэтому для меня это не косяк.
по п.2 - знаю об этом, возникает только если выбран файл с др. расширением. случается оч.редко, но поправлю.
по п.4 - не замечал, но согласен, буду исправлять.

и самое интересное
по п.3 - ??? а как это сделать? и так ли это критично, ведь на данные 1С оперции с этми файлами не влияют?
26. Владислав Чинючин (vcv) 84 10.11.09 15:38 Сейчас в теме
У меня аналогичная задача решена. Что ломать копья, надо или не надо? В конкретном случае бывает надо: регистрация спецификаций и договоров, сертификатов, качественных удостоверений, ж/д квитанций..., привязка этих документов к различным объектам в 1С с миграцией в РБД... Тоже решил что справочник практичней.
(2) По третьему пункту, в журнале регистрации не отражается, потому что со справочником работаешь программно из обработки. Программно тогда и отражай с журнале регистрации. Зачем обработки-то? Две обработки фактически делают то же самое, что и форма справочника, форма списка справочника. Отражение в журнале регистрации полезно хотя бы для того, что если бух будет утверждать, что "прикрепил" файл к документу, а программа его сама удалила, будет хоть где посмотреть, а "был ли мальчик".
28. Сергей Бояновский (ZeBeR) 146 10.11.09 16:04 Сейчас в теме
(26) Спасибо, единственные практичные комментарии.
Про форму справочника - это правильно, это все упростит и не надо гемороится с журналом регистрации.
Пока оставлю все как есть и буду готовить v.2 с учетом всех замечаний.
3. Сергей Коцюра (CheBurator) 3409 10.11.09 01:51 Сейчас в теме
как правило - внешние файлы не жизненно важны, поэтому имхо - пихать инфу о них в базу - излишне, но это - только имхо.
4. Сергей Бояновский (ZeBeR) 146 10.11.09 09:29 Сейчас в теме
(3) Чтоб понять жизненность, надо постоять у копира и поготовить копии документов сначала для камеральной по НДС, потом по встречной проверке с одним контрагентом, потом с другим и т.д., в следующем квартале опять ... При этом копируются часто одни и те же договора, СФ, накладные, акты ...
Надо учесть как бухи это делают: сначала формируют карточку счета (или какой-нибудь реестр), смотрят какие документы проходили (номера, даты, договора), потом лезут в папки, вытаскивают, ксерят, убирают обратно в папки, а здесь ... зашел в документ, открыл копию, распечатал, закрыл.
Количество документов большое и такой массив информации надо как-то структурировать, создавать инструменты для отбора и быстрого поиска, а зачем если 1С бухгалтерия и есть такая структура и инструмент, всеравно бух. будет смотреть сначала в 1С.
5. Ёпрст (Ёпрст) 1021 10.11.09 09:41 Сейчас в теме
Вообще, все документы от имени поставщика и так можно распечатать..самому из 1с.
Нафига это хранить?...
6. Сергей Бояновский (ZeBeR) 146 10.11.09 10:00 Сейчас в теме
(5) угу и подписать можно и печать поставить и прям за всех за всех... и по встречке они потом точно такие же представят ...
И вообще зачем бухгалтера все документы хранят, если их в любой момент распечатать можно?
7. Ёпрст (Ёпрст) 1021 10.11.09 10:44 Сейчас в теме
(6) Ну и ? Оригиналы и так хранятся подшитыми..
Сканы то один хрен заверять придётся..
Нафига они нужны ?...
11. Сергей Бояновский (ZeBeR) 146 10.11.09 10:59 Сейчас в теме
(7) см. 4 коммент.+описание там подробно написано зачем. Копии для этих целей не заверяют у контрагентов. А хранение сканов значительно сокращает время на подготовку копий.

а вообще это все для ленивых, которым влом по десять раз копировать одно и тоже, а легче отсканировать один раз.
15. Ёпрст (Ёпрст) 1021 10.11.09 11:27 Сейчас в теме
(11) Это всё понятно, но оно того стоит ? К вам часто ходит в гости налоговая для встречных проверок ?
:))
17. Сергей Бояновский (ZeBeR) 146 10.11.09 11:29 Сейчас в теме
(15) они не ходят, они письма шлют и попробуй не ответь ...
8. Ёпрст (Ёпрст) 1021 10.11.09 10:45 Сейчас в теме
+7 И печать и подпись.. это семечки.
9. Ёпрст (Ёпрст) 1021 10.11.09 10:55 Сейчас в теме
+ Справочник для этих целей можно и не делать вообще..
Достаточно правильно обозвать файло и привет, взяв за основу ID документа + ID клиентоса и всё... + тип файла - накладная/договор и т.д..

master-omi; CheBurator; +2 Ответить
12. Сергей Бояновский (ZeBeR) 146 10.11.09 11:09 Сейчас в теме
(9) (10) Может ты и прав, не возражаю, если кто-нибудь выложит подобное решение.
я не программист, тем более такого уровня как ты, а бухгалтер, поэтому как понимаю, так и делаю, возможно не самым оптимальным способом, но решаю свою проблему и это работает!
и думаю будет полезно другим бухам.
10. Ёпрст (Ёпрст) 1021 10.11.09 10:57 Сейчас в теме
+9 и искать файло по маске - найдется не быстро, а очень быстро.
Итого - одна внешняя обработка, которая "цепляется" к типовым без изменения кода + 0 изменений в мд-нике.
13. Алексей Плутенко (Noy) 1059 10.11.09 11:16 Сейчас в теме
Вообще идея правильная (вспомните хотя бы про сертификаты - очень схожая задача, которую думаю многие решали)! Есть вопросы к реализации, но... Если это работает, то в любом случае + (хотя бы за идею и ее достижение на практике)
14. Сергей Бояновский (ZeBeR) 146 10.11.09 11:19 Сейчас в теме
(13) Спасибо за поддержку, а то думал совсем запинают
18. Александр Рытов (Арчибальд) 2661 10.11.09 11:30 Сейчас в теме
Согласен с (13). Вариантов реализации море, конечно. Камин, вон держит хранилище версий. Я бы добавил в конфу общий реквизит документов.
А задача распространенная, так что плюс.
19. Ёпрст (Ёпрст) 1021 10.11.09 11:32 Сейчас в теме
(18) Ну и ? Смысл то какой от общего реквизита ?
:)
22. Александр Рытов (Арчибальд) 2661 10.11.09 11:37 Сейчас в теме
23. Сергей Бояновский (ZeBeR) 146 10.11.09 11:39 Сейчас в теме
(22) а если надо несколько файлов привязать?
24. Ёпрст (Ёпрст) 1021 10.11.09 11:45 Сейчас в теме
(23) Тогда строка неогр длины и храни что хочешь... но это один хрен моветон..
Проще имя файла правильно создать и всё.
25. Александр Рытов (Арчибальд) 2661 10.11.09 11:46 Сейчас в теме
16. Ёпрст (Ёпрст) 1021 10.11.09 11:28 Сейчас в теме
+15 нам и так хватает сканить серты/справкиб ..гтд и т.д
20. Сергей Бояновский (ZeBeR) 146 10.11.09 11:32 Сейчас в теме
(16) а сканить или нет это должен главбух решать, может ему легче ксерить... на все воля его. И сканить в этом случае должны сами бухи.
21. Ёпрст (Ёпрст) 1021 10.11.09 11:32 Сейчас в теме
(20) проще поставщиков попросить - и так вышлют в любом виде.
27. Сергей Коцюра (CheBurator) 3409 10.11.09 15:42 Сейчас в теме
Слушайте Епрста! Он - гуру! и я такого же мнения придерживаюсь! работает все на внешних файлах с привязкой по "ид" - и никакого геморроя.. и конфа - без изменений.. и решение клонируется - простым копированием пары обработок...
29. Сергей Бояновский (ZeBeR) 146 10.11.09 16:12 Сейчас в теме
(27) Епрст - гуру, кто же спорит,и идея хорошая вот только мне слабо написать то что он предлагает. Я про "ид"-то узнал недавно, а как с ним работать до сих пор не знаю. :oops:
Может разрешите доработать свою программку, с учетом замечаний vcv? :(
31. Владислав Чинючин (vcv) 84 10.11.09 19:44 Сейчас в теме
(29) Гуру, конечно, слушать надо, но не слепо им следовать.
В отдельном случае, когда нужно просто хранить файлы, привязанные к одному объекту, Ёпрст безусловно прав, его вариант проще, элегантнее, позволяет избежать дублирования информации, устраняет вероятные проблемы с рассогласованием справочника и каталога с файлами. Вдобавок проще клонируется на множество баз, может работать без изменения конфигурации, что важно для базовых или защищенных конфигураций...
Но если встают требования по, например, регистрации входящих номеров и дат документов, привязки одного файла к нескольким объектам ИБ (например документ, договор, контрагент), возникает потребность в организации хранения дополнительных реквизитов файлов, дополнительных индексов для быстрого доступа... Тут уже оправдано становится введение справочника в базе. Но можно и не вводить, а построить индексы во внешних файлах, а дополнительные реквизиты держать в NTFS-потоках...
Решать в любом случае автору, он ближе всех советчиков видит специфику требований и, хочется надеяться, лучше всех советчиков ее понимает (грустная шутка с намеком).
30. Сергей Коцюра (CheBurator) 3409 10.11.09 17:32 Сейчас в теме
32. Дониэла Иванова (Доня) 267 11.11.09 10:13 Сейчас в теме
Автору: Я воспользовалась обработкой - добавила ее в свою базу - все заработало!
Обработка мне очень понравилась. Что-то подобное хотелось в 1С иметь!
Но есть воросы:
1) Вы предлагаете DEMO - объясните - какие ограничения?
2) При обновлении конфиги надо заново добовлять это?
3) А можно из этого сделать ВНЕШНЮЮ обработку? - это будеть вообще супер!
Днозначно +
Спасибо

33. Сергей Бояновский (ZeBeR) 146 11.11.09 10:20 Сейчас в теме
(32) в Демо нет никаких ограничений. Сделал демо, чтоб можно было поюзать без установки в свою базу.
При обновлении надо следить за изменениями в гл.модуле и справочниках "Контрагенты" и "Договоры". В гл. модуль каждый раз придется дописывать, а вот со справочников можно просто снять галочку при обновлении, т.к. они редко изменяются.
Что касается внешней обработки см. комментарии выше.
34. Александр Рытов (Арчибальд) 2661 11.11.09 10:21 Сейчас в теме
(32)
3) можно
2) <Поправить процедуру "глДействия" в глобальном модуле.

Добавить кнопку "Оригиналы" и соответствующую процедуру в формы справочников "Контрагенты" и "Договоры".> - Это заново
1) Это не демо-конфигурация, а демонстрация доработки конфигурации.

Автор, извиняй ;)
35. Владислав Чинючин (vcv) 84 11.11.09 10:24 Сейчас в теме
(32)
Сделать внешнюю обработку в принципе можно, но без изменения конфигурации не сделаешь ее вызов из документов и справочников. Разве что в виде внешней печатной формы, но это не красиво, да и не все справочники/документы имеют поддержку внешних печатных форм (в типовых конфигурациях).
36. Сергей Бояновский (ZeBeR) 146 11.11.09 10:27 Сейчас в теме
(35)(32) кстати, вначале хотел сделать именно через внешние печатные формы, но потом решил что через кнопку "действия" будет удобнее.
37. Владислав Чинючин (vcv) 84 11.11.09 10:44 Сейчас в теме
(36) Ну а что-ж тогда не сделал? Функционала у тебя минимум. Избавился бы от справочников. "Типы документов" сделал бы в виде подпапок в папке для хранения документов, имя файла делал бы из внутреннего идентификатора документа ЗначениеВСтрокуВнутр(), что бы найти все документы по контрагенту выбирать по графе отбора документы контрагента, а по документам уже файлы из папки. И скорость нормальная, и изменения конфигурации не требует.
Вообще разбивать по подпапкам может оказаться очень полезным. У меня вон уже почти 32000 файлов в одной папке. За полгода. Для NTSF это немного, но динамика процесса начинает напрягать.
38. Дониэла Иванова (Доня) 267 11.11.09 11:15 Сейчас в теме
(37) А если это можно доработать, то наверное Автор не будет возрожать?
Процедуру понимаю, но слаба в написании.
Прошу нижайше! Сделайте внешнюю форму.
Автору - не возрожаете?
39. Владислав Чинючин (vcv) 84 11.11.09 11:22 Сейчас в теме
(38) Эээээ... Ну вы, мадам прямо как из коммунизма вышли :-) Можно бесплатно поделиться чем-то сделанным за деньги работодателя (зарплату). Можно бесплатно раздать то, что возжелалось сделать для себя любимого. Но делать нахаляву под заказ - извините, как минимум за пиво или чай с плюшками.
40. Дониэла Иванова (Доня) 267 11.11.09 11:23 Сейчас в теме
Окатили!
Извините, размечталась,
41. Дониэла Иванова (Доня) 267 12.11.09 10:28 Сейчас в теме
Автору
Работает кроме:
в кнопке "Действия" не появилось "Оригигалы документов"
Где мне подправить - подскажите пжл!
42. Владислав Чинючин (vcv) 84 12.11.09 10:30 Сейчас в теме
(41) "Поправить процедуру "глДействия" в глобальном модуле."
Это делалось?
47. Дониэла Иванова (Доня) 267 12.11.09 15:41 Сейчас в теме
(42) Спасибо, подправила, теперь вижу.
43. Сергей Горшенин (GSoft) 2768 12.11.09 10:38 Сейчас в теме
а я у себя пошел несколько другим путем

создал справочник внешних документов, в элемента которого хранится ссылка на файл и объект-владелец.

Это понадобилось для того чтобы можно было файлы хранить как вне БД так и копировать внутрь каталога БД и сохранять относительные пути к файлам. Что дает возможность при создании файловой копии БД пользоваться всем набором сохраненных файлов
44. Сергей Горшенин (GSoft) 2768 12.11.09 10:39 Сейчас в теме
45. Владислав Чинючин (vcv) 84 12.11.09 10:51 Сейчас в теме
(44) Плохо только, что без использования внешних компонент 7.7 отвратительно масштабирует формы с двумя табличными частями. И если работу с файлами нужно вставить в кучу документов, замучаешься в каждый модифицировать. А при обновлении конфы совсем весело может получиться.
46. Сергей Горшенин (GSoft) 2768 12.11.09 11:30 Сейчас в теме
(45) полностью согласен, но поскольку этот механизм придумывался для новых конф, то вопрос обновлений сильно не встает.

Задумка была в возможности подключать доки, а наиболее важные кидать в БД с сохранением относительных путей

Хотя если сильно поднапрячься то можно все вынести в один блок глобального модуля и используя инсертер от Альфа добавлять вызов нужных процедур в процедуру ПриОткрытии
48. Gen Tay (GenTay) 23.11.09 17:08 Сейчас в теме
Обработка очень хороша!!!!
49. Kur Chata (KurchataQ) 03.12.09 12:13 Сейчас в теме
Реализация идеи и идея чень и очень хороша. Респект и уважуха. Главное, код открыт, можно довинтить для себя. В, принципе, любая идея здесь - это код даВинчивай сам. Так держать!
50. Sasha User (BAE1234567) 02.09.16 09:29 Сейчас в теме
"Спасибочки ОГРОМНОЕ!!" - сказала бы я, если бы скачала файл конфигурации, а он у меня не скачивается.. Но это, конечно, не вина автора.
Изменила почту - все пришло! СПАСИБО!!
51. Гость 13.10.16 14:18 Сейчас в теме
52. Андрей Яковлев (gamletspb) 4 14.11.17 09:21 Сейчас в теме
Неплохая идея, но есть одно но: т.к. все хранится в одном справочнике, то при достаточно большом количестве элементов все это дело начнет серьезно торомозить. Провел нагрузочный тест: добавил 10000 элементов - обработка "ОригиналыДокументов" стала открываться секунд за 5. Что не удивительно, т.к выборка элементов для текущего объекта ведется простым перебором всех элементов справочника. Соответственно годится это только для небольших объемов.
Оставьте свое сообщение