Работает через открытый драйвер 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) Ёпрст, ты не прав. Под ДБФ консоли еще не было (чистой).
пару замечаний . Планируется обновления по этому поводу?
Автор, тебе kiruha сделал
оФорма = СоздатьОбъект(«Форма»);
{D:1CV771СV7_ОБРАБОТКИОБРАБОТКИ ОБЩПРЯМЗАПРОСЫDBFКОНСОЛЬДБФ1.ERT(1241)}: Неудачная попытка создания объекта (Форма)
MetaDataWork=СоздатьОбъект(«MetaDataWork»);
{D:1CV771СV7_ОБРАБОТКИОБРАБОТКИ ОБЩПРЯМЗАПРОСЫDBFКОНСОЛЬДБФ1.ERT(322)}: Неудачная попытка создания объекта (MetaDataWork)
Красавчик!!!!
ООО! автору респект!!! огромный!!!! ооо! может быть я наконец-то насчну втыкать не по деццки!!!
Интересное название документа
Документ.ЧрезвычайнаяСитуация
Почему-то при запуске появляется сообщение:
Сервис.ИспользоватьПланРаскраски(1);
{КОНСОЛЬ.ERT(2564)}: Поле агрегатного объекта не обнаружено (ИспользоватьПланРаскраски)
А можно и без 1С++ обходиться — только штатными средствами 1С 7.7
http://infostart.ru/public/14301/
Там и консоль запросов 1С 7.7, и консоль запросов SQL, и консоль запросов SQL в именах 1С 7.7 :-). И консоль кода… В общем — всё, что с 2004-го мне удалось собрать и дописать по этому поводу.
как обратиться к дате документа?
когда мастер открываю — там нет такого поля 🙁
надо сделать выборку документов в интервале
получился такой запрос:
SELECT
$ДокШапка_ФранчРеализация.Контрагент as [Контрагент $Справочник.Контрагенты],
ДокШапка_ФранчРеализация.iddoc as [Object $Документ.ФранчРеализация],
SUM($ДокСтроки_ФранчРеализация.Сумма) as SUM_ДокСтроки_ФранчРеализация_Сумма
FROM
$Справочник.Контрагенты as Спр_Контрагенты
LEFT OUTER JOIN $Документ.ФранчРеализация as ДокШапка_ФранчРеализация on(Спр_Контрагенты.id=$ДокШапка_ФранчРеализация.Контрагент)
LEFT OUTER JOIN $ДокументСтроки.ФранчРеализация as ДокСтроки_ФранчРеализация on(ДокШапка_ФранчРеализация.iddoc = ДокСтроки_ФранчРеализация.iddoc)
GROUP BY
$ДокШапка_ФранчРеализация.Контрагент,
ДокШапка_ФранчРеализация.iddoc
(23) а как там надо? 🙂
в функции ПрочитаемТаблицу() пришлось запопытчить… вылетала ошибка там иногда
Функция ПрочитаемТаблицу(стрТаблица,тзПоля,стрПсевдоним,стрТипВид=»»)
//состав полей заранее определить трудно, поэтому прочитаем его
oledb=Connect();
//Command
oleCommand=oledb.СоздатьКоманду();
strSQL=»Select * from «+стрТаблица+» where 1=2″;
тзОтвет=СоздатьОбъект(«ТаблицаЗначений»);
Попытка //я добавил тут
oleCommand.ВыполнитьИнструкцию(strSQL, тзОтвет, 1);
Исключение
Сообщить(strSQL);
Возврат «»;
КонецПопытки;
(26) я в базе один монопольно сижу — никто проводить не может
про журнал — да. на мисте подсказывают
Сервис=СоздатьОбъект(«Сервис»);
{C:DOCUMENTS AND SETTINGSНАДЯРАБОЧИЙ СТОЛКОНСОЛЬКОНСОЛЬ.ERT(3424)}: Неудачная попытка создания объекта (Сервис) 😮
не находит параметры запроса
создал в мастере запрос
Показать полностью
перехожу в закладку "Параметры", жму определить параметры из текста — ничего не происходит
Запрос под dbf sqlite
ступил забыл : поставить
При разрешении экрана 800 строк кнопок внизу не видно.
хочу, чтобы работал драг’н’дроп между таблицами и перенос строк по двойному клику или нажатию Enter.
(45)Я думаю, ты все-таки хочешь чтобы твоя разработка пользовалась популярностью. Если так, то выдача таких советов — неверная тактика.
Открой для себя возможности привязки элементов управления в 7.7.
Общие.Форма.Привязка , Сплиттеры
оФорма=СоздатьОбъект(«Форма»);
{E:МАТРИЦАКОНСОЛЬЗАПРОСОВ77КОНСОЛЬ.ERT(6945)}: Неудачная попытка создания объекта (Форма)
Спасибо! Респект автору! Добротная разработка!
9 объектов «ТабличноеПоле» и 11 объектов «Таблица+Дерево» !!
к последним у меня особая слабость!!!
……
вот только при открытии вываливает :
MetaDataWork<<?>>.УстановитьТекстовыйПараметр(стрИмяПараметра, знЗначение);
{C:!DVLP-77КОНСОЛЬSQL.ERT(1556)}: Переменная не определена (MetaDataWork)
😉 обработка КонсольSQL.ert из полного архива.
неплохо бы выкашивать в публичных версиях все ссылки на переменные и функции глобального модуля
……
PS:
Насчет этой библиотечки 1sci.dll она не от тех же разработчиков, что
OpenConf_Light_PackConfigSciColorer.dll
OpenConf_Light_PackConfigSciLexer.dll ???
Для включения раскраски достаточно просто ее загрузить или нужны еще какие-то действия?
—
И как она ведет себя на терминальных серверах?
А то если что — мой сисадмин
принесет меня в жертву КТУЛХУ во имя информационной безопасности компании! 😉
спасибо..)
круто) правда уже наверно не совсем актуально…
(55) dour-dead, очень, очень актуально, 7.7 надёжная рабочая лощадка, 8 пока сыровата.
А что изменилось 31.05.15 ????
И за что такая стоимость????