Работает через открытый драйвер FoxPro версии 9 (идет в архиве). Также используется 1С++(куда без нее?) и FormEx (для формочек).
Разработку основывал на функциях консоли для 1С версии 8 (подражал), т.к. являюсь сторонником 8 версии, а в жизни столкнулся с необходимостью развивать и поддерживать 7 версию (учетная программа в магазинах "Связной"). В основе заложена работа с оперативным учетом, поэтому как поведет себя в бухгалтерии или зарплате представления не имею (расчет в 7 версии не знаю и знать не желаю - это принцип!).
Обработка позволяет:
- вынимать реквизиты справочников (ключевое поле id),
- присоединять к ним владельца (ключевое поле parenttext),
- вынимать реквизиты шапки документов и некоторые общие реквизиты (ключевое поле iddoc),
- вынимать реквизиты табличной части (ключевое поле iddoc),
- присоединять журнал документов с датой, номером, общими реквизитами и пр. (ключевое поле iddoc),
- вынимать движения и итоги по регистрам,
- соединять реквизиты объектов (поля SP*) с соответствующими справочниками или документами (поля id или iddoc), также можно цеплять по реквизитам других объектов (поля SP*). Следит за типами данных (строка, число, дата), т.к. неявная конвертация данных Вам не придет на помощь!
- накладывать условия на отобранные поля, группировать и суммировать (по группировкам),
- позволяет присоединять периодические реквизиты справочников (соединение с таблицей, где они хранятся), однако выбран один из многих возможных подходов. Не забывайте про оптимизацию запросов, если они не обеспечивают нужную скорость выполнения,
- использовать запросы с параметрами (:Справочник, :Перечисление, :ДатаНач~~, :Позиция~). Параметры автоматически обнаруживаются на закладке "Параметры" (кнопка там есть, а потом их нужно заполнить).
- использовать автоматическое распознание полей (конструкция as [Банк $Справочник.Банк] или as [Cпр $Справочник]),
- и прочее. (вложенные подзапросы и SQL согласно документации FoxPro 9, Update и Insert обновляют индексы,VFPODBC)
- редактировать некоторые реквизиты справочников и документов
Порядок использования:
Самостоятельно установите драйвера FoxPro9, VFPODBC и расширение OpenConf (идут в архиве) .
1С++ подгружается самостоятельно.
FormEx подгружается самостоятельно.
1sci.dll подгружается самостоятельно (для раскраски текста запроса).
Открываем, давим кнопку "Мастер", "извращамся" (переход между слоями в мастер нижними кнопками), давим ОК на последнем слое, видим запрос, нажимаем "Выполнить", валятся ошибки, вспоминаем о параметрах и заполняем их на закладке параметры, снова давим "Выполнить", либо на закладке результат есть вывод запроса (а на закладке описание - типы полей) либо ошибка допущенная при "извращениях" (можно вернуться в мастер или править ее в тексте, в последнем случае в мастере наших поправок не окажется). Ошибки вызванные работой мастера (т.е. мои я фиксю, как нахожу).
Проблемы:
- не ясно поведение при эксклюзивно/монопольно занятой таблице,
- нет возможности "засунуть" готовый запрос в мастер,
- притормаживает при первом (с момента запуска обработки) входе в мастер,
- серьезные проблемы с copy-past в тексте запроса (чуть ли не судебные ;-)
- если среди полей есть реквизит строка(мах), то драйвер вишет и читает в последующие поля как Excel, т.е. в поле строка(мах)