Символьные ссылки — Быстрый и удобный способ обновления регламентированной отчетности для программы 1с Бухгалтерия 7.7

Символьные ссылки — Быстрый и удобный способ обновления регламентированной отчетности для программы 1с Бухгалтерия 7.7
Данный способ обновления подходит тем, у кого есть несколько бухгалтерских баз с одинаковой системой налогообложения.


Системные требования:
Windows 2000, Windows XP, Windows 2003 Server, Windows Vista, Windows 2008 Server, Windows 7
Файловая система NTFS

Ключевые преимущества:
1. Обновляя регламентированную отчетность в одной базе, обновляются сразу все базы, для которых настроен этот способ обновления. Проводя обновление регламентированной отчетности в одной базе, происходит модернизация сразу всех баз, для которых…
2. Экономия времени на копирование файлов отчетности из одной информационной базы в другую, или же на обновление каждой базы по очереди.
3. Экономия места на диске, отчетность за несколько лет занимает внушительное количество мегабайтов, а если перемножить на количество бухгалтерских баз, то счет может пойти на гигабайты.

Символьные ссылки в деле:
Мало кому из пользователей Windows известно такое функция как Junction, и еще меньше пользователей применяют ее в жизни. Тем не менее, это очень полезная функция и в ряде случаев может избавить Вас от лишней траты времени.
Junction представляет собой функцию, которая позволяет на файловой системе NTFS создать виртуальную папку, которая будет ссылаться на другую папку на файловой NTFS любого диска в системе. (В Windows 7 ярким примером Junction является папка «Documents and Settings», которая ссылается на папку “Users” — это сделано для поддержания совместимости со старыми приложениями).

На практике это выглядит так:
На диске C: у нас есть папка “1с” в которой находятся две папки с бухгалтерскими базами “Сено” и “Солома”, нам известно, что регламентированная отчетность находится в папке “ExtForms”.
Предположим, что основной папкой с отчетностью у нас будет “C:1cСеноExtForms”
В папке “Солома” мы удаляем папку с отчетностью “ExtForms” и делаем ссылку c таким же именем “ExtForms” на папку “C:1cСеноExtForms”. Теперь записывая файл в папку “C:1cСеноExtForms” он так же будет отображаться в папке “C:1cСоломаExtForms”.

Как это делается:
Увы, стандартных визуальных средств для этих целей в Windows не предусмотрено.
В Windows Server 2008, Windows Vista и Windows 7 это можно сделать при помощи команды mklink.
Для нашей ситуации команда выглядит вот так: “mklink /D /J C:1cСоломаExtForms C:1cСеноExtForms”.
Для Windows 2000, Windows Server 2003 и Windows XP стандартной команды вообще нет, для этих целей нужно использовать дополнительную программу linkd из состава Microsoft Windows Resource Kit, или же более продвинутую версию junction.exe из состава Windows Sysinternals.

Сторонние программы для комфортной работы с Junction:
1. Я предпочитаю для этих целей команду ALT+F6 в программе FarManager.
2. Для программы Total Commander потребуется дополнительный плагин под названием NTFS Links.
3. В стандартном Проводнике рекомендуется использовать дополнительное расширение в виде программы Link Shell Extension.

18 Comments

  1. v_id

    Автору спасибо за статью.

    TrinitronOTV — в школу, язык учить.

    Reply
  2. ysb_ter

    Хотелось бы уточнить — правильно ли написан пример команды в разделе «Как это делается»

    для тех условий, которые заданы в разделе «На практике это выглядит так»:

    “mklink /D /J C:1cСолома2ExtForms C:1cСеноExtForms”.

    Правильно «Солома» или всё-таки «Солома2» ?

    Возможна ли аналогичная настройка для сетевой папки, например подключенной как сетевой диск ?

    Reply
  3. q_i

    в некоторые моменты жизни очень в винде не хватало возможности сделать «ln -s», а оно оказывается есть! спасибо за инфу!

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

    Reply
  4. Хряк

    будет ли работать обработка Обслуживание рагл.отчетности (из комплекта отчетности) для 2-й базы?

    Reply
  5. Bambor

    (3) ysb_ter,

    Спасибо, в примере действительно была опечатка. Для сетевых дисков данная технология не работает, все операции только в рамках NTFS томов.

    (4) q_i, Использую эту технологию с 2005 года пока что проблем особых не не было, разве что бухгалтера сохраняли свои отчеты в папку с отчетностью, но этот вопрос легко решается.

    (5) Хряк, С точки зрения программы это всего лишь файлы на диске, обе базы видят их абсолютно одинаково.

    (6) kompas-dm, зачем тут рекламировать свое решение, да и при чем в полном объеме, если оно действительно хорошее оно не останется не замеченным. Есть так же нормальные способы поднять статью используя денежку.

    Reply
  6. kompas-dm

    (7) Не мое это решение. Все это заложено в 7.7. Мое- пять строчек кода.

    Эту фишку с Рег отчетами многие не знают. Мучаются с обновлениями … .

    Рекламированием ? не страдаю …

    Reply
  7. Pin

    Reply
  8. Bambor

    (9) Pin,

    В статье об этом уже написано, вы до конца прочитали?

    Reply
  9. SiAl

    Сам так уже давно делаю. Лениво было расписывать.

    Reply
  10. Kolunya

    ставлю плюс)

    Хотя сам стараюсь не менять стандартные механизмы там где в этом нет особой необходимости…

    но, слава богу, нету в обслуживании серверов с 70 БД)))

    поэтому обхожусь загрузкой отчетности в одну БД, и копированием RP**q*.grp из каталога данной БД во все остальные..

    Reply
  11. Кошки рулят
    Данный способ обновления подходит тем, у кого есть несколько бухгалтерских баз с одинаковой системой налогообложения.

    Что за чушь? При чем тут одинаковая система? Что мешает ставить полный комплект отчетов?

    Или автор полагает, что УСН и ОСН 1С выпускает разные рег.отчеты?

    В целом, идея автора дурная.

    Даже, если кому-то вломы раз в квартал/месяц/неделю переписать папку с места на место, то для этих целей есть

    на диске ИТС утилита, которая раскидает заданный каталог/файл по всем ExtForms’ам указанных в списке баз.

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

    На вскидку, возможные глюки:

    — Все внешние отчеты будут одинаковые во всех базах. Поскольку, базы могут быть совершенно разные, ясно что какие-то внешние отчеты из Сервис-ДопВозможности будут вываливаться с ошибками или, что еще более чревато,

    показывать неверные данные. Тоже самое относится к внешним печатным формам.

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

    — В папке ExtForm есть также файлы-счетчики. Они тоже будут работать некорректно.

    Это только навскидку …

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

    Reply
  12. Bambor

    Чуши тут ни какой нет.

    Комплекты отчетности для ОСН и УСН различаются.

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

    Исходя из комментариев выше, можно понять что люди в той или иной форме используют объединение папок exforms в одну папку, даже на предприятиях где 70 баз.

    Что касается последних строк то безусловно любые необдуманные действия могут привести к потере данных, даже простое копирование, именно по этому регулярное резервное копирование ни кто не отменял.

    Reply
  13. Ветер в поле

    Пользуюсь решением из пункта 6.

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

    Использовать же решение статьи… Слишком неудобно — для 2-3 баз еще куда ни шло, но с десятком-другим… Да и проблему с ростом cfg-файла оно не решает, а значит все равно придется патчить конфигурацию.

    Reply
  14. soba

    (6) kompas-dm, Решение-то конечно красивое, если бы не нужно было ковыряться при обновления конфигураций бухгалтерии, которые не сильно реже , чем регламентированные отчеты. Получается все-же, что этот способ практичнее

    Reply
  15. tana1257

    Очень интересное решение.

    Reply
  16. pakko

    Для 1С это использовать точно не буду, однако предположу вот какую идею.

    Если базы разбросаны по разным дискам (ну не хватает на каждом диске места), можно их виртуально объеденить в одну папку для более удобной работы.

    Проверено. Ссылки можно делать на других дисках.

    Я, вот, например, хочу C:Progra~1 часть файлов таким образом перетащить на другой диск, дабы освободить таким образом место. А то, что-то мал мой диск C:

    Reply
  17. EmpireSer

    (7)


    Спасибо, в примере действительно была опечатка. Для сетевых дисков данная технология не работает, все операции только в рамках NTFS томов.

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

    В NTFS разделяют 3 вида ссылок такого рода:

    1. Символьная ссылка. Она работает как на каталог, так и на файл и не зависимо от месторасположения. Windows при работе подменяет эту ссылку полным путём к папке/файлу с которым она связана. Т.е. по работе похож на работу ярлыка (отчасти похож).

    2. Жёсткая ссылка (связь) — устанавливает связь с файлом только в пределах одного логического раздела. Зато можно свободно перемещать связанные файлы по этому диску — связь не потеряется. Этот механизм тоже напоминает, но уже другую часть, работу ярлыка (происходит связь с идентификатором файла — уникальным в пределах логического раздела).

    3. Соединение на каталог. Работает только с каталогами и только в пределах логического раздела, но так же их можно свободно по нему размещать.

    Reply
  18. krreezz

    на диске ИТС утилита, которая раскидает заданный каталог/файл по всем ExtForms’ам указанных в списке баз

    Что за утилита, подскажите?

    Reply

Leave a Comment

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