8.х Как в 1С получить полный путь к файлу?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем AugustBlack, 19 фев 2011.

  1. TopicStarter Overlay
    AugustBlack
    Offline

    AugustBlack Опытный в 1С

    Регистрация:
    9 янв 2011
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    Сабж. У каждого элемента в справочнике есть прилагаемые документы. Я хотел бы хранить ссылки на них в табличной части. К примеру юзер кликает добавить новый прилагаемый документ, тут открывается стандартное виндовое окно "Открыть" и предлагает выбрать файл путь к которому нада сохранить в табличном поле..Как это делается? Или что где почитать тыкните=) а лучше примерчик, пожалуйста!:)
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Присмотритесь к методам ВыбратьКаталог и ВыбратьФайл)))))))))
  3. TopicStarter Overlay
    AugustBlack
    Offline

    AugustBlack Опытный в 1С

    Регистрация:
    9 янв 2011
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
  4. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Самый радикальный метод хранить файлы в базе данных. Для этого используется хранилище значения. В Ут есть такой справочник "Хранилище дополнительной информации". На основе хранилища реализована конфигурация "1С: Документооборот" и "1С: Архив", очень удобно.
  5. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    И самый нерациональный для систем, которые ориентированы на бизнес-логику, а не на хранение произвольных файлов.
  6. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    т.е УТ, БП.... не ориентированы на бизнес-логику. Тоже интересно.
  7. TopicStarter Overlay
    AugustBlack
    Offline

    AugustBlack Опытный в 1С

    Регистрация:
    9 янв 2011
    Сообщения:
    89
    Симпатии:
    0
    Баллы:
    26
    Не знаю кого слушать! :) Одни говорят хранить все в базе,а другие хранить ссылки. В моем случае мне нужно хранить Word, Excel документы и возможно какие-нибудь картинки. Как лучше в этом случае? Не перенагрузит базу если хранить все это в ней?
  8. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Лучшего для всех варианта не бывает, т.к. вариант хранения файлов зависит от Ваших задач.
    При хранении в базе данных, Вы перегружаете базу данных "чуждой" ей информацией, двоичными данными, которые к тому же записанные один раз, дальше могут храниться годами невостребованными, если Вы используете MS SQL, то сервер всегда старается поместить всю базу с которой работает в оперативную память т.д. Но это облегчает администрирование сохраненных данных.
    При хранении вне базы, надо следить за количеством файлов в одной папке, следить, чтобы при удалении объекта тоже удалялись файлы с диска, отдельно задумываться об их архивировании.
    Мнений много, почитайте http://www.sql.ru/forum/actualthread.aspx?tid=544606

    В 11 ред УТ пользователь выбирает, где ему удобнее хранить файлы в базе или на диске, а это значит, что решение хранить внутри базы, реализованное в предыдущих релизах было не оптимальным.
  9. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Itsys, делаешь опрометчивые выводы, официального ответа от 1С не встречал, а у Вас доводов нету. Все файлы хранятся в одной таблице, а в серверной версии размер таблицы может превышать 4gb памяти. Я с Вашей стороны пока что вижу лишь личные, и не обоснованные мысли по поводу хранения данных.
    иногда думайте что пишите. Сервер никогда базу данных не загружает в оперативную память, у Вас бы сервера по миллиарду стоили. В оперативной памяти находится сама СУБД и индексные файлы, а также отдельно загружается ТБД пользователей, т.к. СУБД всегда параллельно ведёт списки пользователей.
  10. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Я высказал свое мнение, у кого-то другое мнение. Лично я, при разработке, двоичные данные храню на диске.
  11. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Лично я ни протв когда данные не связанные напрямую с информационной системой хранятся в отдельных ресурсах, и даже ЗА. Однако с развитием средств управления базами данными позваляет напрямую работать с системой NTFS используя встроенные команды языка SQL. К тому же, если с увеличением объёма данных в системе понижается производительность, то это ненормализованная система, некорректно спроектированная. Затраты на производительность в базах ложатся только на сети, транзакции и жесткие диски.
    + с файловой системой работать далеко не так удобно как с информационной базой, да и контроль доступа, например, по состоянию подписания документа в файловой системе не настроешь, нет токо функционала который необходим.
    Ещё один плюс, пользователь может получить доступ с любой точки независимо где находится, подключившись к базе данных, а база данных проконтролирует уровень прав. попробуйте настроит гибкую систему доступа к документации используя файловую систему, зачастую придётся велосипед изобретать. Вот если только уже вышло какое - нибудь По с заданным функционалом, да! тогда другое дело, можно и попробовать, и в базу лишних данных не пихать.

Поделиться этой страницей