Конференция INFOSTART EVENT EVOLUTION 2013

См. все

Консоль запросов для 1С 7.7 DBF

09.11.2009 18:01 [19.07.2010 14:33] ture 93 [+] [−] Перейти к комментариям (32) Просмотров: 2154

Тип: Внешняя обработка (ert,epf)
Страна: Россия

Для 1С8 консоль есть, а для 1С 7.7 нет - не порядок!

Работает через открытый драйвер 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, т.е. в поле строка(мах)

 

Не забываем давить звездочку!

 

 

1

1

2

2

3

3

Оценка сообщества

93

Поставьте плюс, если вы рекомендуете данную публикацию к прочтению и использованию.
Плюс добавляет публикацию в Мои рекомендации.

[+] Рекомендую   [−] Не тратить время
Если рейтинг упадет до -5, то публикация автоматически скроется.