Программы
1. Учет клиентов
2. Склад и торговля
3. Учет компьютеров
4. Учет пациентов
5. Архив документов
6. Учет посетителей
7. Управление проектами
8. Учет книг
9. Мои диски
10. Кулинарные рецепты
11. Анализ результатов поиска
12. Простой сайт
13. PsPhone
14. PsMobile
15. PsMobileScan
16. Prostoysoft Tables
Онлайн консультанты
Анжелаicq630078085
Иванicq17227718


Рассылки Subscribe.Ru
Простой софт - Автоматизация любого учета
Ведущая Мария Ларионова
Подписаться письмом
Вопросы и ответы Статьи о софте, бизнесе и технике

1. Как установить программу?
Видео по установке демо-версии
Активация конфигурации

2. Как продлить срок демо-версии?
Демо-период можно единожды продлить еще на 30 дней. Для этого надо запустить программу с ключом "prolong". Нажмите кнопку "Пуск" -> "Выполнить", нажмите кнопку "Обзор" и выберите EXE-файл программы, далее после закрывающей кавычки допечатайте с клавиатуры   /prolong. Должна получиться строка запуска вида "C:\Program Files\ClientsCount\ClientsCount.exe"  /prolong (на примере программы "Учет клиентов"). Обратите внимание на присутствие пробела после закрывающей кавычки. Нажмите ОК.
Видео

3. Системные требования для всех программ?
1. Процессор с тактовой частотой 1000 МГц или более.
2. Оперативная память 1 Гб или более.
3. Жесткий диск со свободным местом около 10 Мб (с демонстрационной базой данных mdb).
4. Платформа Windows, операционная система (ОС) - любая Windows не ниже Windows 2000, а именно: Windows 2000, XP, Windows Vista, 7, 8, 10, 11, а также серверные ОС: Windows Server 2003, 2008, 2012, 2016, 2019, 2022. Разрядность x86 или x64. Язык ОС русский или английский или английский с другим.
5. Локальная сеть с пропускной способностью 100 Мбит/сек минимум, рекомендуется 1 Гб или более (скорость важна при многопользовательской работе).
6. При использовании СУБД Microsoft SQL Server необходимо установить данное ПО на любую серверную ОС - Windows Server 2003... 2022. Использование не серверных ОС тоже возможно, но производительность может быть ниже. Возможные версии Microsoft SQL Server: 2000, 2005, 2008, 2010, 2012, 2014, 2016, 2017, 2019. Можно использовать бесплатную редакцию Express Edition - ограничение на общий объем БД 10 ГБ (10 240 Mb).
7. При генерации офисных документов по шаблонам в системе должен быть установлен пакет офисных программ Microsoft Office любой версии (Word, Excel). Другие пакеты - OpenOffice, LibrreOffice... не годятся (если только не использовать формат RTF). Реализованы большие возможности и удобства именно с пакетом от Microsoft, используя специальные библиотеки автоматизации и объектные модели для разработчиков. Однако при отсутствии этого пакета и невозможности его приобретения есть возможность генерации документов RTF и HTML с закладками и динамической вставкой данных из БД. По поводу возможности работы с других платформ - см. вопрос №50.
8. Нельзя использовать программы-чистилки реестра типа Reg Organizer и подобные. Своей очисткой они вредят - ломают Windows так, что нельзя установить программы с использованием стандартной службы Windows Installer, происходит циклический ее вызов.

4. Как обновить версию программы?
Auto: Правый клик на ярлыке на рабочем столе -> Запуск от имени администратора. Далее меню Помощь -> Проверить наличие обновлений (Обратиться в Prostoysoft) и ОК.
Вручную: Скачать новый EXE-файл программы по ссылке Скачать обновление и скопировать в рабочую папку программы (C:\Program Files...) с заменой старого.
Подробно по шагам:
1. Скачать ZIP-архив по ссылке "Скачать обновление" на странице программы
2. Распаковать ZIP-архив и извлечь EXE-файл
3. Откопировать EXE-файл в рабочую папку программы, например "C:\Program Files\ClientsCount\" (или другое имя программы)
4. Повторить данную операцию для каждого рабочего места в сети, если работа в сетевом режиме, и компьютеров много.
После обновления в загрузочной форме программы должен показываться номер версии обновленной и ДАТА ВЕРСИИ.
Не допустимо открывать базу данных старой версией программы, если она уже открывалась более новой версией (не получится).
Не допустимо работать с одной и той же БД разными версиями программы. Все БД, созданные в любой версии программы, работают во всех последующих версиях (обратная совместимость).
Иногда при выходе новых версий программ меняется структура демонстрационной БД (например, добавляются новые поля, меняются формулы...), обновляются какие-то файлы (например, шаблоны документов или файл справки) или появляются новые. В этом случае, если вам нужна демо БД последней версии структуры и все файлы, нужно сделать полное удаление программы, затем скачать и установить полный дистрибутив новой версии. Резервную копию вашей БД перед обновлением любого типа рекомендуется всегда делать.
После обновления версии программы вы просто продолжаете вести вашу БД, созданную в предыдущих версиях программы, данные никуда специально переносить не нужно. Изменения, сделанные нами в демо БД, в вашу БД, естественно, не попадают. Если вам что-то нужно перенести из демо БД, то придется делать это вручную.

5. Как настроить работу в сети и многопользовательский режим?
Нужно установить программу на каждое рабочее место, а файл базы данных выложить в папку с общим доступом на каком-либо компьютере в локальной сети. С каждого рабочего места нужно открыть эту БД (меню "Файл" -> "Открыть БД"), используя сетевой путь вида "\\Server\Folder\Database1.mdb". Многопользовательский режим включается установкой галочки в общих настройках (меню "Сервис" -> "Параметры"). После этого каждый пользователь проходит аутентификацию при старте программы, вводя свой логин и пароль, и получает права доступа на основе его глобальной роли (администратор, пользователь или гость), а также настроенных для него прав доступа (задаются администратором в настройках).
Видео "Как настроить работу в сети" Если локальной сети нет, то можно использовать терминальный доступ или другие варианты (см. вопрос №25). При использовании Microsoft SQL Server все настраивается по-другому - нужна инсталляция этого продукта на компьютер-сервер, см. раздел справки "Работа с Microsoft SQL Server" и обучающее видео № 9.

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

6. Какие ограничения у демо-версии?
Демо-версия любой из наших программ не имеет функциональных ограничений. Только временное ограничение – 30 дней. По окончании этого срока интерфейс программы заблокируется и для продолжения работы вам нужно будет приобрести лицензию любого типа. Данные, введенные в базу данных (БД) при использовании демо-версии, останутся невредимыми в любом случае, поэтому вы можете вводить их и полноценно использовать программу уже в демо-версии. Лучше создать новую БД, а не использовать демо БД.

7. Есть ли ограничения на количество записей в таблице?
Нет, такого ограничения нет. Размер БД растет по мере добавления новых записей, и все ограничено только размером вашего жесткого диска. При сотнях тысяч записей никаких торможений замечено не было. Однако при сетевой работе, перегрузки по сети при больших таблицах возможны.

8. Как добавить значение в ниспадающий список?
Сделайте правый клик на заголовке данного поля в таблице, из появившегося контекстного меню выберите "Свойства поля", добавьте новое значение в список значений "Задать явно", нажав маленькую кнопку с зеленым плюсом.

9. Есть ли ограничения на количество рабочих мест?
Наша файл-серверная архитектура на движке Microsoft Jet (СУБД Access) позволяет надежно работать с единой базой данных примерно с 10 - 12 рабочих мест (иногда и более). Кончено, при условии нормальной, хорошо настроенной структуры БД, не перегруженной сложными представлениями (особенно с вычисляемыми полями с подзапросами и т.п.). При большем количестве рабочих мест возможно торможение по сети. В этом случае можно начать использовать терминальный доступ. При СУБД Microsoft SQL Server (начиная с версии программ 2.0) количество одновременных соединений с БД и надежность гораздо выше.

10. Есть ли интеграция программ Простой софт с системой 1С?
1. У нас есть внешняя обработка Синхронизация 1С:Бухгалтерия 3.0 с БД программы "Учет клиентов"
2. У нас есть универсальная внешняя обработка «PsSync1C», которую нужно скачать и добавить в свою конфигурацию программы «1С Предприятие (Бухгалтерия или другая конфигурация)». Обработка позволяет синхронизировать (переносить) данные по выбранным полям, между Справочниками/Журналами документов и таблицами баз данных Access. Данные также могут переноситься через CSV-файлы или Excel-файлы.

11. Есть ли интеграция с Microsoft Office?
Да, имеется достаточно плотная интеграция всех наших программ с Microsoft Office: генерация документов Word и Excel любого настраиваемого вида с данными из БД по шаблоном, экспорт таблиц в документы MS Office, а также в формат HTML, RTF, CSV. Наличие установленного пакета MS Office не является обязательным условием для работы программы.

12. Есть ли интеграция программы "Учет клиентов" с Microsoft Outlook?
Да, имеется интеграция контактов в программе с контактами в MS Outlook. Пользовательская кнопка находится на панели инструментов таблицы "Контакты", по нажатию на которую выполняется файл-скрипт ExportToOutlook.vbs, содержащий код на языке VBScript. Вы можете модифицировать логику работы данного скрипта под свои нужды, открыв этот файл в Блокноте.

13. Есть ли интеграция программ с Open Office?
В программе есть мощный функциональный блок - генерация офисных документов по шаблонам с данными из БД (кнопка "Новый документ Word/Excel по шаблону"). Для работы этой функциональности необходим именно пакет Microsoft Office любой версии. В случае OpenOffice есть следующие варианты. Если создавать документы вручную (с помощью OpenOffice), а в программе хранить только ссылки на файлы, то документы будут открываться из программы без проблем по нажатию на кнопку с тремя точками в соответствующей ячейке таблицы. Вы также можете использовать генерацию документов по шаблонам в формате HTML или RTF. Нужно правильно настроить шаблоны всех необходимых для вас документов, и тогда никакой офисный пакет вам вообще не потребуется. Нужен будет только браузер Internet Explorer (или другой) или редактор WordPad. Однако, при использовании пакета Microsoft Office работа будет гораздо более эффективной и комфортной.

14. Возможна ли интеграция с другими системами?
Да, возможна. Применяемая нами стандартная СУБД Microsoft Access (или MS SQL Server) является хорошо знакомой многим специалистам. Она легко и удобно интегрируется с другими системами. В интерфейсе программы вы можете добавлять пользовательские кнопки на панель инструментов любой таблицы или формы для редактирования, создавать пользовательские пункты меню, использовать триггеры, напоминания, срабатывающие при определенном условии или событии, и запускающие какие-то SQL-выражения, внутренние команды или произвольные файлы: EXE-файлы или файлы-скрипты .VBS с кодом на языке VBScript. Скрипт может открывать текущую БД, БД другой системы, делать запросы к данным, изменять их, синхронизировать, переливать данные из одной БД в другую и прочее. Также можно создавать объекты каких-то других систем методом CreateObject, вызывать методы этих объектов, совершающие какие-то определенные действия (например, печать чека, показ какой-то специальной формы, включение солярия, запуск компрессора, инициация телефонного звонка и т.д. в зависимости от типа объекта). В рабочей папке программы есть ряд файлов-скриптов .VBS (ScriptExample1.vbs и другие .vbs), которые можно открыть в Блокноте и посмотреть примеры несложного кода с подробными комментариями. Имеется возможность экспорта данных из таблиц БД в текстовый файл формата CSV, XML, Excel. В других системах можно импортировать данные из этого файла. И наоборот - если сторонняя система обладает экспортом в XML, то можно сделать импорт в нашу систему.
CcSync1C - синхронизация 1С:Бухгалтерия 3.0 с БД "Учет клиентов"
PsSync1C - внешняя обработка для 1С Предприятия для синхронизации справочников, документов и таблиц БД Prostoysoft
PsSync - утилита по взаимодействию с сервисами Google
Видео "Отчеты и экспорт данных"
Видео "Импорт данных"  

15. Возможна ли интеграция с оборудованием (сканер штрих-кода, ридер пластиковых карт, OPOS принтер чеков, ККМ, ТСД, вебкамеры...)?
Да, возможна. Сканеры штрих-кодов работают как эмуляторы клавиатуры. Срабатывание сканера - это то же самое, что ввод числового кода с клавиатуры пользователем в нужном месте - например, при выборе кода товара (артикула) из другой таблицы или ввод в поле быстрого поиска. Таблица со списком товаров (или другая) должна иметь поле "Штрих-код", где должны храниться числовые коды, по которым и будет происходить поиск и выборка при "выстреле" сканера. Пример проверенного и недорогого сканера - Argox.
Любое оборудование, как правило, поставляется со средствами автоматизации в виде объектов COM или .NET и часто с примерами кода интеграции. Для интеграции с оборудованием можно написать код-скрипт в файле VBS и создать связанную с ним пользовательскую кнопку на панели инструментов. В рабочей папке программы есть несколько примеров файлов .VBS, которые можно открыть в Блокноте и посмотреть (PrintCheck.vbs, ScriptExample1.vbs, ScriptExample2.vbs...).
Видео "Работа со сканером штрих-кода"

16. Как защитить БД, чтобы сотрудники не украли ее?
1. Скрыть путь к БД в строке-статусе из меню по правому клику на строке-статусе. Пользователи не будут знать, где лежит файл БД. Строка-статус может настраиваться индивидуально для каждого пользователя.
2. Скрыть в главном меню "Файл" пункт "Создать резервную копию", скрыть все кнопки экспорта таблиц на панели инструментов. Это делается в настройке главного меню и настройке панели инструментов, которые можно настраивать индивидуально для каждого пользователя.
3. Задать пароль на БД в Access (меню Сервис -> Защита -> Задать пароль) и прописать его в строке соединения в общих настройках программы.
4. Защитить файл БД от копирования и удаления на уровне файловой системы (если на компьютере с БД, установлена серверная ОС).
5. Прописать всех пользователей БД на уровне БД, а в настройках программы для каждого пользователя указать в строке соединения его имя и пароль.
6. Перейти на использование СУБД Microsoft SQL Server, которая поддерживается программой, и скопировать БД не так просто, как файл MDB.

17. Примеры строки соединения с базой данных:
1. Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Database.mdb;Persist Security Info=False;
2. Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Database.mdb;Persist Security Info=False;Jet OLEDB:Database Password=123;
3. Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Database.mdb;User Id=admin;Password=;
4. Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Database.mdb;Jet OLEDB:Database Password=MyDbPassword;
5. Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\Database.mdb;Uid=Admin;Pwd=;
При использовании Microsoft SQL Server:
1. Provider=SQLOLEDB.1;Persist Security Info=False;Data Source=Server1;User ID=sa;Initial Catalog=DbName;
2. Provider=SQLNCLI.1;Persist Security Info=False;Server=Server1;User ID=sa;Initial Catalog=DbName;
3. Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=Server1\SQLEXPRESS;Initial Catalog=DbName;
4. Provider=SQLOLEDB;Data Source={IP}[,{PORT}];Network Library=DBMSSOCN;Initial Catalog={DbName};

18. Что такое SQL, где справка, список функций, примеры?
SQL (Structured Query Language) - это язык запросов для операций с данными в БД: для выборки, добавления, изменения, удаления записей.
Справка по Access SQL
Справка по Transact-SQL (Microsoft SQL Server)
Список функций Microsoft Jet
Примеры SQL-выражений:
1. SELECT * FROM tblMain - вывести все записи из таблицы tblMain
2. SELECT * FROM tblMain WHERE ObjectType = 'Монитор' - вывести записи из таблицы tblMain с типом объекта "Монитор"
3. SELECT Field1, Field2 FROM tblMain - вывести все записи, но только поля Field1 и Field2 из таблицы tblMain
4. SELECT * FROM tblMain ORDER BY ID - выводим все записи из таблицы tblMain с сортировкой по полю ID
5. SELECT *, (ID + 1) AS FieldCalc FROM tblMain - вывести все поля и вычисляемое поле с формулой ID + 1
6. SELECT tblTable.*, tblTable2.* FROM tblTable INNER JOIN tblTable2 ON tblTable2.ClientID = tblTable.ID - вывести все поля из двух таблиц, связанных по условию ClientID = ID
7. SELECT SUM(Amount) FROM tblPayments WHERE PaymentType = 'Безнал' - считаем сумму всех платежей с типом 'Безнал', результатом будет число
8. SELECT ClientID, SUM(Amount) AS Total FROM qdfContracts GROUP BY ClientID - считаем суммы по полю Amount с группировкой по каждому клиенту
9. INSERT INTO tblProducts (Product, Price, PubDate) VALUES ('Продукт 1', 123.45, '2012-12-31') - добавляем одну запись в таблицу "Продукты"
10. UPDATE tblContacts SET Age = 33 WHERE FIO = 'Иван Иванов' - изменяем запись: для Ивана Иванова ставим возраст 33 года
11. DELETE FROM tblMain WHERE ID > 100 - удаляем записи, у которых ID больше ста
У Microsoft есть ограничения на использование некоторых функций с вызовом из внешних программ, использующих технологию Microsoft Jet (Access SQL). Так, например, нельзя использовать функцию Replace, InStrRev, NZ и ряд других важных и удобный функций, которые работают в самом Access. О причинах этих непонятных ограничений со стороны Microsoft можно только догадываться...

19. Как избавиться от вычисляемых полей с подзапросом "select" в скобках?
Использование подзапросов в качестве формул для вычисляемых полей является очень неэффективным решением. Можно сделать по-другому:
1. Нужно создать отдельное представление, которое будет имеет уже все посчитанные значения, например:
SELECT OrderID, SUM(OrderAmount) AS OrderSum FROM tblOrdersProducts GROUP BY OrderID
Данное представление делает запрос в таблицу tblOrdersProducts ("Продукты по заказу") считает общую сумму по каждому заказу, группируя все заказанные продукты по номеру заказа (OrderID).
2. Затем нужно добавить вычисляемое поле в целевую таблицу с использованием галочки "вывести поле из другой таблицы". То есть из этого представления вывести поле OrderSum. При этом построится связь между таблицами с помощью JOIN, и никаких подзапросов использоваться не будет. Таблица будет работать быстрее и надежнее.

20. Как перенести данные из одной БД в другую?
Если структуры баз данных одинаковые (или отличаются не значительно), то есть два способа:
1. Сделать экспорт данных из таблицы первой БД в файл Excel или CSV, нажав соответствующую кнопку на панели инструментов. И затем сделать импорт из этого файла в целевую БД, открыв ее и выбрав пункт меню "Файл" -> "Импорт".
2. Можно откопировать нужные записи из одной таблицы в другую через буфер обмена, если открыть обе БД в Microsoft Access. Все или некоторые записи из таблицы-источника копируются в целевую таблицу очень просто.
Если имеются подчиненные записи в подчиненных таблицах, нужно следить, чтобы значения поля ID остались такими же. Иначе возникнет путаница в записях подчиненных таблиц (они будут привязаны не к тем записям). Полезная функция - "Сделать все значения ID последовательными", которую имеет смысл сделать для всех таблиц непосредственно перед переносом данных. Вызывается из меню по правому клику на заголовке поля ID.

21. Как перенести структуру из одной БД в другую?
Допустим, у вас есть одна рабочая БД. Вы сделали копию БД и дополнили структуру БД новой таблицей. За это время первая БД уже пополнилась новыми данными (т.к. идет постоянная работа пользователей с ней). Необходимо дополнить структуру первой БД изменениями в структуре второй БД. Есть два способа:
1. Сделать экспорт всех данных из первой БД в файлы Excel или CSV, и затем сделать импорт данных из этих файлов во вторую БД. Но это может занять много времени.
2. Более эффективно сделать так. Открыть обе БД с помощью MS Access и откопировать новую таблицу через буфер обмена из второй БД в первую. После этого нужно откопировать все настройки данной таблицы, которые хранятся в настроечной таблице tblSettings. Все настройки, относящиеся к копируемой таблице, начинаются на имя этой таблицы. Нужно найти все эти записи и откопировать их через буфер обмена из таблицы tblSettings второй БД в таблицу tblSettings первой БД.

22. Как откопировать все настройки (в том числе полей) одной таблицы другой?
Рассмотрим две таблицы qdfTable1 и qdfTable2 с одинаковом набором полей (или почти одинаковым). Все настройки структуры БД хранятся в самой БД в таблице с настройками tblSettings. Чтобы откопировать все настройки таблицы qdfTable1, надо взять все записи в таблице tblSettings, начинающиеся с "qdfTable1." и вставить их в эту же таблицу, одновременно заменив имя таблицы "qdfTable1" на "qdfTable2" в начале имени настройки. Для этого надо выполнить инструкцию SQL (меню Сервис -> Групповое обновление -> SQL-инструкция):
INSERT INTO tblSettings (SettingName, SettingValue) SELECT 'qdfTable2' + MID(SettingName, INSTR(SettingName, '.')) AS SettingName, SettingValue FROM tblSettings WHERE SettingName LIKE 'qdfTable1.*'

23. Если не открывается база данных...
Если ваша БД вдруг перестала открываться, то, возможно, она сломалась. Такое может случиться при сетевом сбое, не очень правильной структуре БД, перегруженной представлениями с подзапросами и вычисляемыми полями и плотной сетевой работе с большим количеством рабочих мест. В этом случае попробуйте открыть файл БД с помощью приложения Microsoft Access, которое при открытии сразу же предложит починить файл БД. Если починить не получится, то восстановите резервную копию (которые у вас должны делаться по выходу из программы любым пользователем). Есть специальное ПО, позволяющее восстанавливать поломанные файлы Office, например OfficeFix от фирмы Cimaware. Поломки файла БД возможны только при СУБД Access, на MS SQL Server такое не возможно в принципе, и это веская причина, чтобы рассмотреть вариант перехода на данную СУБД.
Еще бывают случаи, когда ломаются отдельные представления. Обычно это происходит из-за неаккуратных действий со структурой (вы что-то сделали не так, например, удалив какое-то поле). Чтобы проверить все ли представления у вас в порядке, надо открыть базу данных в Access, переключиться на вкладку "Запросы" и последовательно открывать каждое представление. Таблица с данными должна показываться тут же, без лишних диалоговых окон и запросов на параметры. Если это не так, значит данное представление сломано. Почините его или удалите средствами Access.

24. Если не запускается программа...
Наши программы не являются "портативными" (portable) и на каждый компьютер требуется установка программы (инсталляция). Инсталляцию должен производить пользователь с правами администратора (а не ограниченный пользователь). При инсталляции в системный каталог копируются файлы, необходимые для работы программы:
1. scrrun.dll
2. mscomctl.ocx
3. mscomct2.ocx
4. comdlg32.ocx
5. tabctl32.ocx
6. mschrt20.ocx
7. mscomm32.ocx
и другие файлы
Если какой-то файл у вас отсутствует в системном каталоге (C:\WINDOWS\System32\ или другая папка), то вы можете попробовать найти данный файл любой современной версии и откопировать его туда. После копирования файла нужно его зарегистрировать в системном реестре, выполнив команду "regsvr32 имя файла". Для этого надо нажать кнопку "Пуск" -> "Выполнить".
В любом случае при проблемах с запуском программы сообщите нам в поддержку, приложив экранный снимок того, что вы видите на экране и сообщив нам вашу операционную систему и всю другую уместную информацию. Очень часто проблемы решаются переустановкой последнего сервисного пакета (Service Pack) для операционной системы.

25. Есть ли возможность работать через Интернет?
Наши программы классифицируются как Windows-приложение, работающие в локальной сети, а не Web-приложение, работающие в глобальной сети Интернет через браузер. Имеются следующие варианты организации многофилиальной работы:
1. Терминальный доступ посредством Remote Desktop Services или протокола RemoteApp. На сервере с публичным IP-адресом должен работать терминальный сервер (есть в любой серверной Windows), доступ к которому возможен с любого компьютера, подключенного к Интернет. Это очень хорошее и надежное решение с высокой скоростью работы с БД. Кнопка "Пуск" -> "Программы" -> "Стандартные" -> "Подключение к удаленному рабочему столу" - так подключаются ваши сотрудники, партнеры, клиенты.
2. Веб-система SimpleSite, которая является веб-интерфейсом к любой конфигурации БД, созданной с помощью наших программ, и позволяет использовать вашу информационную систему из любого браузера через Интернет как альтернативный способ ведения БД.
3. Объединение компьютеров в VPN - Virtual Private Network - частная виртуальная сеть. Или использование специальных программы (Hamachi и подобные), которые делают то же самое. В Windows есть стандартный мастер настройки сети, позволяющий создать VPN. С этой задачей можно обратиться к системному администратору.
4. Использование Microsoft SQL Server на компьютере с публичным IP-адресом (можно не в локальной сети). Скорость соединения не высокая, но работать можно.
5. Использование программ для удаленного доступа (TeamViewer, AnyDesk и подобные).
6. Онлайн-сервисы типа Яндекс.Диск, Google.Drive, DropBox, Microsoft OneDrive и другие для синхронизации файла БД, доступ к которому может одновременно осуществляться из разных мест (дом, офис, разные филиалы). Вести БД при такой схеме безопасно только по очереди, либо настроить расписание синхронизации. Иначе возможны проблемы. Подробности читайте в правилах использования этих сервисов.
7. При отсутствии Интернет или низкой скорости в отдельных филиалах можно использовать репликацию (офлайн режим) - создание копий БД с последующей синхронизацией данных, которую можно делать по расписанию (например, раз в неделю) или от случаю к случаю при необходимости. Подробнее - меню "Файл" -> "Создать реплику". Это довольно технологически сложный вариант, однако часто используемый.
Для одновременного ведения БД разными филиалами правильной и быстрой схемой является репликация БД - см. видео 10 "Репликация баз данных".

26. Как поменять название папок в дереве или добавить новые?
Дерево строится по данным таблицы. Соответственно, меняем данные в таблице - меняется дерево. После внесения изменений в таблицу, чтобы обновилось дерево, нужно нажать кнопку "Обновить" (F5) на панели инструментов. Чтобы посмотреть, по каким именно полям строится дерево, сделайте правый клик на дереве и выберите "Настройка дерева..." или зайдите в свойства таблицы. Вы можете задать любые поля для построения уровней веток дерева, в том числе вычисляемые поля. Количество уровней не ограничено, однако вряд ли вам понадобится глубина более 2-3 уровней. Вы можете задать, откуда брать данные для построения дерева - из самой таблицы или из справочника. В первом случае в дереве будет меньше данных, оно будет более компактное, во втором будут показаны абсолютно все ветки, даже те, по которым отсутствуют записи в таблице (см. видео 19 "Настройка дерева").

27. Есть ли импорт и экспорт данных?
Да, имеется и импорт, и экспорт данных. Данные можно загрузить в БД программы из файла формата CSV или Microsoft Excel. (Предварительно нужно сформировать такие файлы, выгрузив данные из другой системы с помощью экспорта.) Форма импорта в программе позволяет гибко задавать соответствие полей по типу "откуда->куда". Экспорт возможен во многие форматы: CSV, Excel, Word, HTML.

28. Как сделать, чтобы при генерации документов, в сумме прописью печатались не рубли и копейки, а другая валюта?
Добавьте две глобальные константы (или замените в существующих, если они уже присутствуют в списке).
Вместо рублей и копеек проставьте нужную валюту в трех падежах.
CURRENCY_LEVEL1 - рубль,рубля,рублей
CURRENCY_LEVEL2 - копейка,копейки,копеек

29. Что означает 1 рабочее место в редакции "Базовая" (ранее "Домашняя")?
Это означает, что одновременное соединение с базой данных только одно. Вы можете установить программу на разные компьютеры (скажем, на домашний и на рабочий) и вести разные БД. Одновременное использование единой БД с разных рабочих мест не возможно в редакции "Базовая". Вы можете держать файл БД на флешке, который носить с собой на работу/с работы и вести вашу БД и там и там.

30. Сколько пользователей могут одновременно работать с одной БД?
Все наши программы являются сетевыми и многопользовательскими. При работе в локальной сети нужно установить программу на каждое рабочее место. Режим работы в сети зависит от используемой СУБД (системы управления базами данных).

• При использовании СУБД Microsoft Access, файл базы данных .mdb нужно выложить в папку с общим доступом на каком-либо компьютере в сети. Лучше - на производительном файловом сервере. Со всех рабочих мест нужно открывать эту БД, используя сетевой путь вида "\\Server\Database1.mdb". Данная файл-серверная архитектура позволяет работать с единой базой данных с ограниченного количества рабочих мест. Это зависит от сложности самой БД, но примерное максимальное количество одновременных соединений в районе 10-12 (при нормальной оптимизированной структуре БД, не перегруженной сложными представлениями). Некоторые наши пользователи наблюдают торможение по сети уже и при 5 пользователях (все сильно зависит от структуры самой БД). В этом случае можно использовать терминальный доступ, который является очень хорошим решением.

• При использовании СУБД Microsoft SQL Server количество одновременных соединений с БД возрастает многократно, поскольку это уже полноценная клиент-серверная архитектура. Новая база данных формата MS SQL создается по текущей БД MS Access. Все данные и структура переносятся автоматически. И наоборот, имею открытую БД формата MS SQL можно по ней создать новую БД-клон формата MS Access с переносом всех данных и сохранением полной функциональности.

Многопользовательский режим включается установкой галочки в общих настройках программы. После этого каждый пользователь проходит авторизацию при старте программы (вводит логин и пароль) и получает права на основе его глобальной роли (администратор, пользователь или гость), а также настроек прав доступа.
Администратор может задать права доступа персонально для каждого пользователя по следующим элементам:
- поля и записи таблиц (вертикальная и горизонтальная фильтрация данных на просмотр и редактирование);
- пункты основного меню (видимость и доступность пунктов);
- кнопки панели инструментов любой таблицы (видимость и доступность кнопок);
- основные вкладки (видимость);
- подчиненные таблицы (видимость);
- панели строки статуса (видимость);
- некоторые элементы таблиц (цвет фона отдельных полей, порядок полей и пр.) также можно задать персонально для каждого пользователя.

31. Что можно сделать, если наблюдается торможение по сети при многопользовательском режиме с СУБД MS Access?
1. Обновить сетевое оборудование, установив гигабитные свитчи и сетевые карты в компьютеры
2. Оптимизировать структуру БД:
- удалить/модифицировать "тяжелые" вычисляемые поля (типовой вопрос № 19) или перенести их в отдельные представления или отчеты
- удалить все неиспользуемые таблицы и поля из БД
- уменьшить размер хранимых текстовых полей с 255 (размер по умолчанию) до минимально-возможного
3. Удалить лишние старые данные, которые уже редко используются. Так, например, можно каждый год заводить новую БД, а старую отправлять в архив. Какое-то время пользователи будут обращаться за информацией к обоим БД.
4. Можно перейти на другую схему работы в сети - терминальный доступ, при котором программа и БД находятся на одном компьютере (сервере с серверной ОС), а со всех рабочих мест осуществляется подключение к этому компьютеру через терминальный клиент. Все пользователи работают с программой на одном компьютере.
5. Перейти на версию 2.x с поддержкой Microsoft SQL Server и использовать эту клиент-серверную СУБД.

32. Что делать, если вместо русских букв нечитаемые символы или вопросы?
1. В Панели управления Windows зайдите в Региональные стандарты
2. Должен быть выбран регион "Россия"
3. Переключитесь на вкладку "Дополнительно"
4. В разделе "Язык программ, не поддерживающих Unicode" должен быть выбран "Русский"
5. Измените его на любой другой язык, например "Румынский", перезагрузите компьютер, затем обратно верните "Русский"
Данная манипуляция обычно помогает.

33. Осторожно Vista! Если файл БД на диске C, то могут пропадать данные!
В операционной системе Windows Vista (и старше) не рекомендуется держать файл БД на системном диске C: (при использовании СУБД MS Access). В данной ОС включена защита системы, и автоматически создаются теневые резервные копии всех файлов, содержащихся на диске C. Когда происходит какой-то сбой с файлом .mdb (причем "сбой" именно с точки зрения ОС, в то время как с точки зрения работы программы это может быть обычная рабочая ситуация с обработкой ошибки), автоматически восстанавливается предыдущая теневая копия файла БД с заменой текущего файла БД. Естественно все данные, внесенные пользователем с момента создания предыдущей теневой копии, теряются. Поэтому не храните файл БД на системном диске C! Или отключите защиту системы. Это делается в свойствах системы: кнопка "Пуск" -> "Панель управления" -> "Система и безопасность" -> "Система" -> "Защита системы").

34. Есть ли возможность работы под Линуксом?
Да, есть определенный опыт настройки и использования наших программ на Ubuntu 10.04 под Wine. Подробнее об этом можно почитать на форуме в этом посте.

35. Что такое поле ID и можно ли сделать в нем значения строго последовательными?
Поле "ID" ("Код") - это ключевое поле таблицы, постоянный и уникальный код записи (строки), идентификатор записи в таблице. Значения в данном поле генерируется базой данных автоматически каждый раз при добавлении записи в таблицу. При удалении произвольной записи из таблицы значения последующих записей не меняются, а остаются неизменными. Это сделано не спроста - если к данной таблице имеются другие связанные записи в подчиненной таблице или в другой зависимой таблице, то в ней обязательно есть поле внешнего ключа (имя поля типа ИмяГлавнойТаблицы_ID, например "ClientID"), в котором присутствуют ID-ы главной записи. И если бы ID-ы в главной таблице изменились, то в подчиненных таблицах возникла бы путаница. Таким образом, при удалении записи из главной таблицы появляются "дырки". Но тем не менее можно сделать все ID-ы строго последовательными. Для этого наведите мышку на заголовок поля ID в таблице, сделайте правый клик, из появившегося контекстного меню выберите "Сделать все значения ID последовательными". Данная операция изменит также все значения связанных ID в подчиненных таблицах (если они есть). Если вам нужно поле, которое было бы простым порядковым номером записи, то вы можете создать собственное поле числового типа специально для этой цели и задать значение по умолчанию "Максимальное плюс один". А поле ID предназначено для других целей - для связей между таблицами.

36. Что такое триггеры и для чего они нужны?
Триггер - это событие дополнительная инструкция SQL, срабатывающая сразу после добавления или изменения записи. SQL - это язык запросов для модификации данных в БД (добавление, изменение, удаление записей). Триггеры нужны для того, чтобы, к примеру, при изменении данных в одних таблицах, изменять также данные и в других таблицах. Для связи с полями текущей записи используются угловые скобки. Примеры триггеров:
• INSERT INTO tblSomeTable (Field1, Field2, Field3) VALUES (<Name>, <Amount>, <DueDate>)
• INSERT INTO tblContacts (FIO, Age, BirthDate, ClientID) VALUES ('Иван Иванов', 35, '1973-12-31', <tblMain>.<ID>)
• UPDATE tblContacts SET [FIO] = 'Иванов Иван Иванович', [Age] = 36, [Field3] = '1973-12-30'
• UPDATE tblOrders SET [OrderAmount] = [OrderAmount] + <Amount> WHERE ID = 1
• DELETE FROM tblMain WHERE ID = <ID>
Вместо SQL-инструкции в качестве триггера можно указать файл для запуска (например, файл .VBS с программным кодом на языке VBScript, содержащий какой-то алгоритм модификации данных в БД). Для просмотра и создания триггеров предусмотрена кнопка "Триггеры" на панели инструментов, которая по умолчанию скрыта. Ее можно сделать видимой из контекстного меню по правому клику на панели инструментов. Триггеры для подчиненных таблиц задаются, когда подчиненная таблица показывается в режиме главной (то есть, когда она выбрана из меню "Таблицы").

37. Как настроить напоминания?
Есть три варианта решения задачи напоминания о каком-то предстоящем событии (или при соблюдении любого другого условия, например, смена статуса):
1. Показ формы напоминания. Надо задать условие, при котором покажется форма (или отправится мейл, SMS, запуститься файл, скрипт и др.). Делается это из меню "Сервис" -> "Настройка напоминаний".
2. Цветовыделение строк таблицы. В свойствах таблицы надо задать условие, например "Если Дата события = Сегодня или за 3 дня до, То выделять записи красным".
3. Создать отдельную таблицу-представление с жестким условием в части WHERE (или с фильтром), соответствующим вашей задаче, например, создать таблицу "Звонки сегодня" или "Актуальные события текущей недели" или "Работы на проверку" или "Неоплаченные счета" или "На продление" и т.п. с заданным произвольным условием (например, "Статус оплаты = Не оплачено"...). В такой таблице-представлении каждая запись уже и так является своеобразным напоминанием и служит для непосредственной работы с ней. В случае изменения поля "Статус" или установки галочки "Обработано", запись из этой таблицы тут же исчезает.

38. Как сгенерировать документ Word по шаблону с данными из БД?
1. Создайте пустой документ Word.
2. Добавьте в него статический текст, ваш логотип, другие картинки, линии, прочие элементы.
3. Добавьте в него закладки (меню Word "Вставка" -> "Закладка"), названия которых должны соответствовать названиям полей таблицы (внутренним именам полей, которые можно посмотреть в свойствах поля).
4. Сохраните данный файл-шаблон в папке для шаблонов или в любой другой папке.
5. Находясь в нужной таблице с данными для документа, нажмите кнопку "Новый документ Word по шаблону", выберите этот шаблон, нажмите ОК.
Аналогично можно генерировать документы Excel, HTML и RTF форматов. В них закладки - это поля в квадратных скобках. См. примеры.
Видео № 16 "Генерация документов по шаблонам".

39. Как задать формулу для построения ниспадающего списка значений с учетом уже введенного значения в другом поле?
Рассмотрим конкретный пример. В главной таблице qdfMain ("Клиенты") есть 2 поля City ("Город") и Street ("Улица"). Задача - показывать список только тех улиц, которые в выбранном городе. Для решения этой задачи у нас в БД должна быть таблица-справочник tblStreets ("Улицы") с полями ID, Street, City, содержащая список улиц в различных городах. В этом случае в свойствах поля Street ("Улица") таблицы qdfMain нужно поставить галочку "Список значений", выбрать из ниспадающего списка "Таблица" пункт "<Формула...>" и задать следующую SQL-инструкцию:
SELECT Street FROM tblStreets WHERE City = <City>
Видео

40. Как задать формулу для построения значения по умолчанию поля с учетом уже введенного значения в другом поле?
Рассмотрим конкретный пример. В таблице qdfContracts ("Договоры") есть 2 числовых поля ContractAmount ("Сумма договора") и Discount ("Скидка"). Задача - выдать скидку 5% при сумме договора >= 5000 и 0% в остальных случаях (менее 5000). Наводим мышку на заголовок поля "Скидка" в таблице -> делаем правый клик -> выбираем "Свойства поля" -> из ниспадающего списка "Значение по умолчанию" выбираем "Формула" -> задаем формулу:
IIF(0 >= 5000, 5, 0)
Нажимаем ОК. Задача решена - пользователь вводит сначала сумму договора, затем переходит в поле "Скидка", и соответствующий процент заполняется. Можно усложнить задачу: выдать еще скидку 7% при сумме договора >= 10000. Формула в этом случае:
SWITCH(0 >= 10000, 7, 0 >= 5000, 5, 0 < 5000, 0)
Условные функции IIF и SWITCH описаны в справке программы и в справке по Access.
Видео

41. Как пронумеровать все записи в таблице?
Создать вычисляемое поле с формулой SELECT COUNT(*) FROM tblMain a WHERE a.ID <= tblMain.ID
Это пример для главной таблицы tblMain. Будет работать только для неотфильтрованной таблицы.
В SQL-выражении для отчетов можно использовать метку <AbsolutePosition>, которую нужно указать в части SELECT наряду с другими полями.

42. При запуске появляется окно инсталлятора и последующее сообщение "Не удается найти пакет установки .msi"
Вы удалили или переименовали файл демонстрационной базы данных DemoDatabase.mdb или файл дистрибутива MSI (ClientsCount.msi или ProductsCount.msi...). А не нужно было этого делать. Либо при авто обновлении что-то пошло не так (например, у программы не хватило прав, чтобы записать новый exe-файл в папку Programs, операционная система не позволила). Тогда надо обноывиться вручную по типовому вопросу № 4. Технология Windows Installer (от Microsoft, и это чисто их придумка) работает так, что при запуске программы идет проверка, все ли файлы на месте, и, если отсутствует какой-то файл (например, DemoDatabase.mdb), то производится попытка вновь установить его из файла-дистрибутива. А он у вас не доступен (вы удалили, переместили, переименовали файл .msi). В результате показывается это окно для того, чтобы вы указали правильлное расположение файла .msi. Укажите файл .msi и больше не удаляйте и не переименовывайте файл демонстрационной БД DemoDatabase.mdb. Файл-дистрибутива .msi можно держать по общедоступному сетевому пути на всякий случай. Часто помогает программа Windows Installer Cleanup. Нельзя исользовать программы-чистилки реестра типа Reg Organizer, своей очисткой они вредят - ломают Windows так, что нельзя установить программы с использованием стандартной службы Windows Installer - происходит циклический ее вызов. Если у вас это произошло, выход один - откат системы к предыдущему состоянию.

43. Есть ли возможность совершать произвольные манипуляции с данными?
Да. Вы можете создать пользовательскую кнопку на панели инструментов любой таблицы и связать ее нажатие с запуском файла-скрипта .VBS, .EXE-файла или любого другого исполняемого файла. В рабочей папке программы есть примеры таких файлов-скриптов - ScriptExample1.vbs, ScriptExample2.vbs и другие. Их можно открыть в Блокноте и посмотреть пример кода, где открывается соединение с БД делаются произвольные манипуляции с данными в БД (добавление, изменение, выборка...). Помимо запуска файлов вы можете указать для пользовательской кнопки любую SQL-инструкцию (или несколько через точку с запятой), которая может принимать параметры - значения конкретных полей текущей записи, а также глобальных констант и некоторых служебных переменных. Также .VBS-файлы можно запускать автоматически по событиям, из триггеров или напоминаний.

44. Как можно повысить быстродействие представления "Состояние складов" в программе "Склад и торговля"?
"Состояние складов" - это сложное представление, которое строится на базе других представлений, что при значительном количестве товаров и операций с ними очень тормозит открытие данной таблицы. Варианты:
1. Использовать более мощный компьютер
2. Использовать СУБД Microsoft SQL Server, которая более производительная, чем Access
3. Каждый год, например, 1 января начинать вести новую базу данных
4. Можно реализовать структуру с другим подходом - с хранением остатков в отдельной таблице остатков.

45. Не получается установить соединение с Microsoft SQL Server (в т.ч. из "Простого сайта")?
У MS SQL Server есть две схемы авторизации - проверка подлинности Windows (интегрированная) и проверка подлинности самого SQL Server. У первой схемы проблемы с "Простым сайтом", т.к. он работает от учетной записи NETWORK_SERVICE, а она не является пользователем Windows. Соответственно, вторая схема более универсальная. Запускаем программу "SQL Server Management Studio" и делаем следующее:
1. В дереве слева делаем правый клик на сервере (самый верхний узел) -> "Свойства" -> раздел "Безопасность" -> ставим "Проверка подлинности SQL Server и Windows"
2. Раскрываем ветку "Безопасность" -> "Имена входа" -> правый клик на "sa" -> "Свойства" -> раздел "Состояние" -> включаем опцию "Предоставить" и опцию "Включено".
3. Правый клик на сервере -> "Зарегистрировать" -> выбираем "Проверка подлинности SQL Server", задаем имя входа "sa" и пароль -> нажимаем кнопку "Проверить" и "Сохранить".
Теперь, если пункт 3 вам сделать удалось, то можно соединяться с MS SQL Server из внешних программ (в т.ч. из "Простого сайта"), указывая "sa" и пароль. Перезапустите MS SQL Server. Не забывайте про брандмауэр, отключите его временно. Прочитайте статью. Посмотрите видео.

46. Не работает выражение, запрос, условие, триггер... Как найти ошибку?
Соблюдайте принцип "от простого к сложному". Задайте сначала самое примитивное выражение, например "1 = 1", убедитесь, что оно работает. Затем постепенно усложняйте, добавляя все новые и новые условия через AND или OR, критерии отбора, подзапросы и т.п. Если ваше выражение содержит ссылки в угловых скобках на текущую запись, временно уберите это, заменив их константами. Если делаете INSERT INTO или UPDATE SET, напишите сперва только для одного поля. Если вам выдается сообщение об ошибке, внимательно прочитайте его и вдумайтесь в его смысл. Прикладывайте полноэкранный снимок (скриншот) при обращении к нам в поддержку или к сообщению на форуме. Выражения SQL зачастую удобно копировать в саму СУБД (Access или SQL Server Management Studio), которая при выполнении покажет вам максимально подробное сообщение об ошибке с указанием конкретного места ошибки. Представления бывают обновляемые, а бывают необновляемые, в которые нельзя делать INSERT или UPDATE.

47. Можно ли и как интегрировать оборудование компании "Штрих-М" с программами "Простой Софт"?
Да, можно. В каталоге установки программ "Простой софт" находится файл "PrintCheck.vbs", представляющий собой пример кода на языке VBScript, который осуществляет печать документа (чека) на ККМ типа "Штрих" серии ФРК через универсальный драйвер "Драйвер ФР", поставляющийся вместе с любым контрольно-кассовым оборудованием компании "Штрих-М". Последнюю версию драйвера можно скачать по этой ссылке.
Файл-скрипт "PrintCheck.vbs" вызывается с двумя параметрами, первый из которых задает значение ключевого поля главной таблицы (в коде скрипта для этой цели используется поле ID таблицы qdfSales), а второй - полный путь к файлу базы данных: C:\Program Files\ProductsCount\PrintCheck.vbs /. /"D:\Мои документы\Склад и торговля\DemoDatabase.mdb"
Если путь к БД содержит пробелы, его необходимо заключить в кавычки. Скрипт можно запускать по команде "VBScript" кнопки панели инструментов или формы, из триггера после оформления продажи и т.д.
На 64-х разрядных системах следует установить пакет Microsoft Access Database Engine 2010, который можно скачать по ссылке, а в файле "PrintCheck.vbs" строку соединения с БД
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sDbPath & ";Persist Security Info=False"
изменить на
Con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sDbPath & ";Persist Security Info=False"
Кроме того, необходимо указать номер COM-порта, к которому подключена ККМ, и скорость передачи данных. Для этого в файле "PrintCheck.vbs" следует присвоить нужные значения переменным oDriver.ComNumber и oDriver.BaudRate соответственно. Для формирования набора записей, данные о которых попадут в чек ККМ, в коде скрипта используется следующий запрос:
sSql = "SELECT * FROM qdfSalesProducts WHERE SaleID = " & sID 'формируем SQL инструкцию для набора записей
Если данные для печати чека хранятся в другой таблице, необходимо заменить qdfSalesProducts на внутреннее имя другой таблицы.

48. Антивирус предупреждает о вирусе или риске при установке или запуске программы, почему?
Официально и публично заявляем, что во всем нашем программном обеспечении, скриптах, базах данных и любых файлах нет никаких вирусов. Таким образом можно говорить, что либо это какая-то ошибка со стороны антивирусной программы, и вы можете обратиться в службу ее технической поддержки с требованием доказательств, либо намеренная клевета, используемая как средство конкурентной борьбы с недобропорядочными методами. Настройка антивируса Kaspersky

49. Что делать, если не отображаются русские символы?
Попробовать запустить программу в режиме совместимости (особенно, если у вас Windows 10). После пары вариантов выбора исправлений и запуска в режиме совместимости с Windows 8 нечитаемые символы перестают появляться. Часто помогает такой трюк. Зайдите в Региональные стандарты панели управления Windows, вкладка "Дополнительно", в разделе "Для программ без поддержки unicode" выберите страну не Россию, а Румынию, перезагрузите компьютер. Затем зайдите сюда снова и выберите обратно Россию.
Для Windows10 статья со ссылками на реестр.
Для Windows11.

50. Есть ли возможность работать с других платформ (не windows)?
Для Mac есть:
1. программа Parallels Desktop, позволяющая запускать любые Windows-программы и в том числе и наш софт
2. возможность работать через облачные системы из браузера, в том числе с нашей веб-системой SimpleSite
Для NixOS есть QEMU, Wine, CrossOver.
Через удаленный рабочий стол можно организовать компьютер с операционной системой Windows и запущенным сервисом RDP, и с установленным ПО “Простой софт”.
Далее к этому компьютеру производиться подключение с помощью любого приложения, работающее через стандартный протокол Remote Desktop Protocol (RDP).
Рекомендуемым приложением является Microsoft Remote Desktop (бесплатное). Подключение также возможно через iPad, iPhone, Android, Linux и т.д.

51. Как сформировать двумерный штрих-код (QR-код) в распечатываемом документе?
1. Поместить в системный каталог Windows DLL-библиотеку, формирующую символы QR кода
2. Создать в нужной таблице дополнительное поле для значения QR-кода
3. Сгенерировать значение QR-кода в созданном поле
4. Создать шаблон Word-документа со всеми необходимыми элементами (см. ответ на вопрос №38)
5. Добавить в нужном месте шаблона закладку, указывающую на созданное поле, с окончанием _QRCODE
6. Сформировать документ Word по шаблону
Подробности смотрите в инструкции по формированию QR-кода.