0. YPermitin 5005 09.04.19 11:05 Сейчас в теме

MS Access и 1С. Что, когда и зачем?

Об использовании MS Access в связке с 1С. Можно ли использовать продукты Office на сервере. Когда Access может быть полезен. Примеры работы и другое.

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

Комментарии
Избранное Подписка Сортировка: Древо
1. blackhole321 1040 09.04.19 11:32 Сейчас в теме
Зачем файловая СУБД, если есть SQL Server Express?
YPermitin; +1 Ответить
2. YPermitin 5005 09.04.19 11:36 Сейчас в теме
(1) незачем.

Кроме тех случаев, когда ее нет :)
Не каждый пользователь модет использовать SQL Server у себя на машине.

Тем более Access это не только файловая СУБД.
SeiOkami; +1 Ответить
3. e][tend 09.04.19 12:00 Сейчас в теме
Эх, Юрий, вашу бы статью да полгода назад, тогда толковых примеров по работе с Access не нашел.))
Да и вообще, читаю ваши статьи с интересом.
Как раз на том проекте делал выгрузку отчета на СКД в файл базы данных Access.
Столкнулся тогда с проблемой, преобразования дат, если компьютер на котором происходит выгрузка, имеет английскую локаль, то и даты нужно писать в файл в "иностранном" формате. Не учел этот момент изначально, долго искал потом в чем проблема.
YPermitin; +1 Ответить
4. YPermitin 5005 09.04.19 12:19 Сейчас в теме
(3) спасибо на добром слове! :)

Будет интерес - будут и статьи.

Знал бы - написал бы полгода назад :)))
5. s_vidyakin 09.04.19 12:27 Сейчас в теме
А зачем все эти заморочки? Тогда проще поставить любую фришную СУБД, хоть sqlite3, к ней есть бесплатные клиенты. Хоть монго, хоть постгрес, хоть mySql
VladC#; oneman@yandex.ru; YPermitin; +3 Ответить
6. YPermitin 5005 09.04.19 12:32 Сейчас в теме
(5) все так. Это просто, есди Вы разработчик.

А если пользователь / заказчик работает в Access и у него уже сложилась целая экосистема на нем?

Плюс при работе в Access есть всем известные инструменты работы с данными, конструкторы и т.д. Не так просто будет переучить быстро сотрудника использовать новый инструмент, вместо старого.
SeiOkami; blackhole321; +2 Ответить
7. Sherman 11 09.04.19 13:30 Сейчас в теме
Я бы сравнивал Access с 1С предприятием, но никак не с Excel.
В бытность, попадались неплохие реализации потребностей на Access...
blindcat2006; YPermitin; +2 Ответить
9. YPermitin 5005 09.04.19 14:28 Сейчас в теме
(7) Access хорош.

В статье сравнение с Excel не в том плане что лучше, это все же разные инстументы. Там именно различия для пользователей показать и почему Access иногда лучше себя ведет, чем Excel.
8. ellavs 635 09.04.19 14:04 Сейчас в теме
Отличная статья. Честно говоря, пока не могу для себя придумать, для чего можно было бы использовать выгрузку в Access из 1С (в плане именно для пользователей). Подумался такой вариант - если пользователь захочет какой-то фрагмент базы себе получить, а 1С у него нет (не у всех же есть личный 1с ключ для работы дома :), да и вообще не будешь же всем пользователям экземпляры базы отдавать, тут уже можно и под закон о ПДн попасть), но есть Access (у всех наших пользователей установлен Office), и он хочет "получить красиво", а не просто список таблиц (для этого и Excel бы подошел), то можно выгрузить в Access часть нужных данных, наваять пользователю красивых форм, чтобы он даже не подумал залезть непосредственно в таблицы, и в таком виде отдать. Особенно хорошо, что Access-то пользователю на самом деле и не нужен, можно сделать автономный файл + Runtime и всё.
Оффтоп: сами мы используем один сумасшедший вариант - есть на сервере MS SQL база (телефонный справочник), из которого веб-приложение тянет данные, а редактор у этой базы на Access на клиентской машине (который как источник данных использует MS SQL) с формами для работы с данными.
YPermitin; +1 Ответить
10. YPermitin 5005 09.04.19 14:30 Сейчас в теме
(8) вариант не сумашедший :) У вас все в порядке =D

А так да, внешние таблицы в Access это очень мощная штука.
27. v3rter 12.04.19 09:37 Сейчас в теме
(8) Лет 10 назад мне попадались очень даже работоспособные аналоги торговых, производственных программ и даже бухгалтерии 7.7 на связке Access + SQL (связанные таблицы), прекрасно работали. Удобно в этой связке то, что "серверная сторона" - структуры данных, справочники, запросы - пишутся очень быстро и работают потом шустро, а неудобна "клиентская сторона" - прежде чем в форму можно будет пустить реального пользователя, придется изменить несколько десятков ее параметров и написать почти столько же обработчиков для каждого интерфейсного "чиха".
В общем, проблема будет в том, что далеко не все смогут себе позволить содержать целого программиста VBA )
YPermitin; +1 Ответить
11. 3vs 09.04.19 15:07 Сейчас в теме
Юрий, а Вы такие же эксперименты с LibreOffice не делаете, а то у нас сейчас модно "отечественные продукты"
использовать?
Опять же - кроссплатформенность.
user-z99999; YPermitin; +2 Ответить
12. YPermitin 5005 09.04.19 15:22 Сейчас в теме
(11) сделать, конечно можно.

Для свободного офиса делал только конвертации форматов файлов и дорабатывал БСПшные модули для печатных форм.

Пока все же MS Office у большинства установлен не смотря на последние тенденции. Но если станет актуальным и востребованым, то появится репо на GitHub "1C-Plus-LibreOffice" :)
13. 3vs 09.04.19 18:51 Сейчас в теме
(12)Думается, когда 1С поднимется на помидорах корпоративных лицензиях, встанет вопрос, а не приобрести ли свою операционную систему на базе линукса.
Хорошо смотрится в этом плане Альт линукс, (www.basealt.ru), нужные сертификаты есть, свой репозиторий есть, сервер и рабочая станция есть сертифицированные, опять же может работать на отечественном Эльбрусе.
Самое то для полной интеграции с 1С!
Тогда и увязка с LibreOffice потребуется. :-)
YPermitin; +1 Ответить
14. YPermitin 5005 09.04.19 19:02 Сейчас в теме
15. 3vs 09.04.19 19:11 Сейчас в теме
(14)Ну почему же ужасть! :-)
IBM покупает Red Hat за 34 млрд долларов
www.ixbt.com/news/2018/10/29/ibm-red-hat-34.html

Логика развития диктует, у нас придут к тому же.
Своего Майкрософта как-то у нас не состоялось.
acanta; YPermitin; +2 Ответить
16. YPermitin 5005 09.04.19 19:48 Сейчас в теме
(15) 1C:OS 8.3.

Требует активации через USB-ключ.
Скрипты на языки 1С.
Стоимость лицензии...
17. 3vs 09.04.19 20:37 Сейчас в теме
(16)
1C:OS 8.3.

Скорей 1C:OS 9 какая-нибудь!
Зато всё из коробки, своё родное, жёлтенькое! :-)
22. A_Max 17 10.04.19 12:02 Сейчас в теме
(17) Лучше готовые docker контейнеры. Хотя вариант со своей готовой сборкой дистрибутива тоже неплоха.
23. YPermitin 5005 10.04.19 12:09 Сейчас в теме
(22) хватит им подсказывать!
18. anosin 27 09.04.19 21:58 Сейчас в теме
(13)
И ее в коробке с юсби ключами продавать будут? ;)
думаю что их "договоренность с сами знаете с кем" не позволит им это выпускать.
YPermitin; +1 Ответить
19. YPermitin 5005 09.04.19 22:08 Сейчас в теме
(18) договоренность с тем, чье имя нельзя произносить вслух? :)
20. 3vs 10.04.19 06:20 Сейчас в теме
(18)После 2024 года много чего может случиться...
Товарищ Назарбаев тоже вон устал!
А товарищ Медведев на посту вполне себе может и допустить,
время вперёд двигал, милицию в полицию переименовал, а это мелочи по сравнению с такими свершениями!

Я бы на месте товарища Нуралиева задумался над беспризорностью Альт линукса.
21. YPermitin 5005 10.04.19 10:09 Сейчас в теме
24. =Kollega= 1 10.04.19 18:47 Сейчас в теме
RecordSet = Новый COMОбъект("ADODB.RecordSet");
RecordSet = Command.Execute();

А зачем создавать com объект чтобы сразу его переписать?
YPermitin; +1 Ответить
25. YPermitin 5005 10.04.19 19:10 Сейчас в теме
(24)
RecordSet = Command.Execute();


Очепяточка вышла :)
26. YPermitin 5005 10.04.19 19:39 Сейчас в теме
(24) Исправил в публикации. Спасибо!
28. EliasShy 48 23.07.19 07:57 Сейчас в теме
Много лет назад, когда 1С "дружила" с Microsoft был Addin для MS Office, который позволял получать доступ к 1с из Office. Решение было сырое, и почему-то быстро его прикрыли.

Сейчас, когда технические возможности позволяют взаимодействовать между системами через сервисы, очень не хватает подобного, простого механизма.
YPermitin; +1 Ответить
29. AllexSoft 23.07.19 12:55 Сейчас в теме
В статье не описано 2 очень важных нюанса, а именно
1. драйвера ODBC х32 и х64 не совместимы! представим себе ситуацию, у вас на сервере 1С Сервер х64, соответственно драйвер OBDC он то же х64 будет использовать. Допустим формируем мы на сервере данные и кладем им в расшаренную папочку, шлем по почте и тд файлики акцесса, а у пользователей офис на рабочих машинках x32 и они ничего открыть не смогут, после того как x64 акцессом или драйвером ODBC x64 записался файл его на 32х разрядном офисе не открыть. Если у клиента зоопарк с версиями офисов то могут быть существенные проблемы! Для нас это оказалось критично, пришлось отказаться хранить что либо в акцессе.

2. если вам нужно перезаписывать данные в БД акцесса то он по умолчанию не освобождает место. Допустим мы хотим обновлять одну из таблиц БД акцесс каждую ночь регламентной выгрузкой. Собственно очищаем таблицу, записываем на ее место точно такую же, но объем БД вырос. Если объем таблиц несколько сотен мб вы за короткое время достигаете лимита, хотя самих данных у вас может быть не много. Есть функция освобождения свободного места, после удаления какого либо объема данных ее лучше вызывать.

Пробовали использовать как прокси-таблицу выгрузки аналитики продаж, что бы пользователи подключались туда через Excel или акцессом и строили сводные отчеты, в итоге только убили время на выяснение косяков, по типу что в п1. Мы кстати подключали через внешние источники данных, все норм подключается, но с конвертацией типов (кажется дробных чисел), в акцесс были проблемы с типом DOUBLE. В итоге плюнули и сделали все на MS SQL Server.
YPermitin; acanta; +2 Ответить
30. YPermitin 5005 23.07.19 13:02 Сейчас в теме
(29) все так. И ваши истории мне близки. Не во всех случаях Access удачный вариант.

А если есть выбор между SQL Server и Access, то вообще в сторону последнего можно не смотреть.
AllexSoft; +1 Ответить
31. AllexSoft 23.07.19 13:17 Сейчас в теме
(30)
А если есть выбор между SQL Server и Access, то вообще в сторону последнего можно не смотреть

согласен полностью!
И тут не очень видится применение акцесса как такового, ибо если компания с несколькими десятками юзеров в 1С будет иметь скорее всего 1С Сервер, а значит и СУБД либо MS SQL Server или PostgeSQL. Если компания мелкая, а есть ли у нее тот объем данных которые надо выносить во внешние таблицы и нельзя решить с помощью отчетов 1С.
Получается что акцесс как средство выгрузки актулен в основном тем кто имеет уже готовую систему на акцесс и ее надо просто продолжать поддерживать. Ну либо с точки зрения загрузки из акцесса, за частую бывает что экспорт из различных программ есть именно в бд акцесс, например я столкнулся что счетчики посетителей имеют выгрузку в акцесс.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Ведущий программист 1С
Санкт-Петербург
зарплата от 130 000 руб.
Полный день

Программист 1С
Москва
зарплата от 130 000 руб. до 200 000 руб.
Полный день

Бизнес-архитектор 1С, ведущий консультант
Санкт-Петербург
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день