Хранение любых файлов в конфигурации бух 4.5 1С77 с привязкой их к справочникам и документам




Небольшая доработка типовой конфигурации 1С77 Бухгалтерский учет 4.5. После доработки конфигурация позволяет "крепить" к любым справочникам и документам любые файлы (картинки, сканы документов, xls файлы расчетов, rtf файлы документов и договоров).

Файл Демо содержит архив типовой доработанной демо-конфигурации Бухгалтерский учет 4.5

Сами файлы хранятся в папке FILES, находящейся в каталоге базы данных. Доработка включает в себя:

  1. Новый справочник «Файлы», содержащий имена файлов и ссылки на справочники или документы,
  2. 6 глобальных процедур, осуществляющих поиск, копирование, сохранение, удаление файлов, отображение пиктограмм в поле табличной части и кнопок доступа к файлам,
  3. Доработку формы элемента справочника «Контрагенты», добавлена закладка «Договоры»,
  4. Доработку форм элементов и списков справочников, форм документов и журналов для тех объектов, к которым нужно «крепить» файлы, в них добавляются 4 кнопки работы с файлами, поле табличной части со скрепкой для отображения прикрепленного к объекту файла.

Конфигурация только показывает возможности данного метода, доработаны несколько объектов: Справочник «Контрагенты» и «Договоры», Документ «Сч-факт. полученный», журналы «Общий», «Сч.факт.получ». Любой программист, воспользовавшись данным шаблоном может доработать любую конфигурацию 1С77 до необходимой функциональности. Всем удачи.

29 Comments

  1. zspr

    Небольшая доработка типовой конфигурации 1С77 Бухгалтерский учет 4.5. После доработки конфигурация позволяет «крепить» к любым справочникам и документам любые файлы (картинки, сканы документов, xls файлы расчетов, rtf файлы документов и договоров).

    Перейти к публикации

    Reply
  2. Доня

    За все что я увидела в Демо большой плюс +

    Очень нужная вещь

    Reply
  3. Ёпрст

    Эээх.

    Справочник для этих целей не нужен и даже вреден.

    Достаточно правильно задавать имя файла и привет.

    Например, как полный ид объекта + номер файлика.. и всё.

    Сам поиск файла выполняется мгновенно по маске файла.

    Reply
  4. zspr

    (2) Ёпрст

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

    Reply
  5. Доня

    У Вас о описание : «6 глобальных процедур» — это, как я поняла, изменения в глобальном модуле ?

    Reply
  6. zspr

    (4) Доня,

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

    Reply
  7. zspr

    (4) Доня,

    Релиз конфигурации 7.70.531, можно провести сравнение объектов и посмотреть, что изменено. В этой же демо версии есть еще небольшая доработка, по заполнению ст. ДДС, корр.счета и собконто Выписки по типовым операциям (например списание комиссии банка). Для этого изменена процедура глобального модуля глЗаполнитьСтрокуВыпискиПоПлатежномуДокументу и добавлен новый справочник «Типовые платежи». В его описании есть описание работы алгоритма, позже оформлю и эту публикацию.

    Reply
  8. RomKazim

    Прикольно

    Reply
  9. Доня

    Очень бы не хотелось лезть в глобальный модуль и при каждом обновлении на новый релиз ломать себе голову.

    Вот это и останавливает меня применять эту доработку, а так, в применении, удобная штука.

    Reply
  10. zspr

    (8) Доня,

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

    Reply
  11. kompas-dm

    (9) Если залез в журнал, то и справочник прокатит. Только глобальный не трогать.

    Reply
  12. vcv

    (10) По моему, гораздо проще при обновлении конфы объединять руками текстовый глобальник (это можно сделать и автоматически, подходящие утилиты найти не сложно), чем объединять диалоги. Из-за этого я люблю конфы типа ТиС — дописывая функции вроде глМожноЗаписатьДокумент, глПроверкаРазрешенияРедактирования, глДействия, глВыборПечатнойФормы можно добиться многого без использования внешних компонент.

    Reply
  13. Михаська

    Плюсанул 🙂

    Reply
  14. kompas-dm

    (11) Для ТиС может и прокатить-локальные решения для конкретного предприятия. А если Вы ведете несколько баз, на разных фирмах со своими поворотами? Через год-два «шифер» зашуршит.

    Reply
  15. Доня

    (9) <Может за вечер сделаю>

    Теперь каждый раз захожу на обработку и с надеждой жду новую версию, интересно !

    Reply
  16. GSoft

    Кому интересно посмотрите привязку файлов тут Документооборот

    сделано правда на базе служебного справочника где с одной стороны привязывается объект ИБ, а с другой сам файл

    Reply
  17. vcv

    (13) Рекомендация «вместо изменения объектов ИБ делать по возможности в глобальнике в типовых функциях, вызываемых в конфигурациях при интерактивных действиях пользователя (открытие документа, запись, печать…)» у меня образовалась на прошлой работе, где пришлось вести доработку примерно 15 разномастных баз (большой и многофункциональный холдинг). От внесения изменений в формы пришлось быстро отказаться. Это нереально поддерживать при большом количестве баз. А в глобальник изменения вносятся очень легко. И довольно легко автоматизируется работа с текстом.

    Reply
  18. nurislam

    Хорошая штука.Пригодится.

    Reply
  19. dicwork

    Тексты обработки хоть не закодированы? А то скачивал и смотрел рекламируемый здесь «Документооборот», а там все модули зашифрованы — поэтому их разработка большой ценности не представляет для меня как для программиста. А для пользователя — тем более без нормального описания.

    Reply
  20. zspr

    (18) dicwork

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

    Reply
  21. zspr

    (14) Доня, добрый день!

    «Облегченная» (без изменения в глобальном модуле) конфигурация готова, сейчас на модерации.

    Я первонячально сделал ее по методике, посоветованной Ёпрстом, используя ИД объекта, отказался из-за недокументированности используемой функции _IdToStr() и страшного вида получаемого имени файла. Сделал еще нормально работающую конфигурацию используя составное имя: Вид()+Номер документа+ИмяИсходного файла, от этого также отказался из-за легкости в 77 смены номера документа и следующей за этим потери связи файла с объектом. Вернулся назад к использованию вспомогательно справочника, делающего соответствие ссылки объекта и имени файла. Пришлось также отказаться от новых картинок.

    Здесь развернулась дискуссия, где лучше делать изменения, и я все-таки согласен с большинством, что правильнее большинство изменений проводить в глобальном модуле, оформляя их как отдельные процедуры. Потом легче проводить обновления. У меня у самого на поддержке более 20 различных баз (и 7 и 8).

    Reply
  22. GSoft

    (18) dicwork,

    так попросите))

    мне не сложно выдернуть оттуда код и дать пользоваться на здоровье

    что касается пользователей — то им код и подавно не нужен))), они на то и пользователи чтобы ПОЛЬЗОВАТЬСЯ))

    Reply
  23. vligm

    Спасибо за работу!

    У меня сотрудник решал как раз подобный вопрос и этот пример ему — как раз ОТЛИЧНАЯ наука.

    А размещение процедур в глобальнике — нормальное решение. Боязнь менять глобальник я не понимаю… И не вижу больших проблем при обновлениях.

    Reply
  24. vligm

    Кстати, мы еще решаем задачу архива присоединенных документов:

    есть справочник «Должности», к элементам которого «крепится» ряд должностных инструкций. Самая последняя — актуальная, должна показываться по умолчанию. Остальные — архивные, вызываются по отдельной команде.

    Если встроите себе такое, можем сравнить решения. 🙂

    Reply
  25. zspr

    (23) vligm, добрый день!

    Спасибо за ответ и за интерес к разработке. Похожую задачу (хранение в справочнике Должности должностных инструкций в базе ЗиК) я уже решал. Методика была очень простая: добавил новый реквизит ТекстОбязанностей (неогр, строковый) в справочник дожности. Данные этого реквизита использовались для формирования текста Трудового договора непосредственно из базы ЗиК. Правда у меня не стояла задача хранить историю изменения должностных обязанностей. Тип строковый, неограниченный периодическим не сделаешь. Эту задачу можно решить созданием подчиненного справочника «Должностные обязанности» справочнику «Должности». В справочнике «Должностных обязанности» хранить текст обязанностей и дату его актуальности. Удачи.

    Reply
  26. vligm

    zspr, добрый день!

    Спасибо за ответ. Однако решение, предложенное вами, нас не устраивает.

    У нас должностные инструкции разрабатываются начальниками разных уровней в формате «Word», и в подписанном директором виде хранятся в отделе труда и зарплаты. Интерес вызывает их быстрый просмотр БЕЗ ВОЗМОЖНОСТИ редактирования. Причем предполагается дать возможность доступа всем категориям работников. Поэтому решено их хранить в формате «*.pdf» в отдельном каталоге базы.

    Об этом решении «пронюхали» технологи и уже намекают на то, чтобы свои базовые документы хранить так же.

    Поэтому Ваше решение со справочником — нам как бальзам на душу. Еще раз за него спасибо.

    С Новым годом и рождеством вас, всех благ и успехов!

    Reply
  27. Pterodaptel

    очень полезно

    Reply
  28. reshenie

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

    У меня в публикациях «Дополнительная информация в справочниках 1С».

    Reply
  29. rostder

    Спасибо.За качественно сделанную работу.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *