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

31.05.15

Разработка - Инструментарий разработчика

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

Скачать файлы

Наименование Файл Версия Размер
Консоль
.ert 292,50Kb
488
.ert 292,50Kb 488 Скачать
полный архив
.rar 20,10Mb
525
.rar 20,10Mb 525 Скачать
Полный архив, но без справочной документации
.rar 4,43Mb
53
.rar 4,43Mb 53 Скачать

Работает через открытый драйвер 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С v7.7 Конфигурации 1cv7 Абонемент ($m)

Консоль запросов к базе SQL, не требующая внешних компонент

10 стартмани

29.04.2015    21567    54    Gvozdod    8    

14

StartManager 1.4 - Развитие альтернативного стартера

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Очередная редакция альтернативного стартера, являющегося продолжением StartManager 1.3. Спасибо всем, кто присылал свои замечания и пожелания, и тем, кто перечислял финансы на поддержку проекта. С учетом накопленного опыта, стартер был достаточно сильно переработан в плане архитектуры. В основном сделан упор на масштабируемость, для способности программы быстро адаптироваться к расширению предъявляемых требований (т.к. довольно часто просят добавить ту или иную хотелку). Было пересмотрено внешнее оформление, переработан существующий и добавлен новый функционал. В общем можно сказать, что стартер эволюционировал, по сравнению с предыдущей редакцией. Однако пока не всё реализовано, что планировалось, поэтому еще есть куда развиваться в плане функциональности.

1 стартмани

23.04.2014    165746    1864    Alexoniq    1596    

496

Tray Informer

Инструментарий разработчика Платформа 1С v7.7 Платформа 1С v8.3 Россия Абонемент ($m)

Согласитесь, что окно стандартное сообщений в 1С иногда приносит больше неудобств, чем пользы. И тем более разные "Предупредить"... Что с этим окном только не делают! Его отцепают от формы, делают маленьким, умудряются спрятать за границы экрана. А потом звонят программистам с претензией, что документ почему-то не проводится, отя ничего и не пишет. У вас такого не было? А вот у нас было и не раз )))

1 стартмани

04.09.2013    32890    61    O-Planet    78    

49

Изменение структуры баз 1С 7.7 без долгой реструктуризации. Часть 1. Справочники

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

На днях встретил вопрос на форуме про возможность внесения изменений в конфигурацию без долгого сохранения в рабочей базе большого объема. Вот решил поделиться опытом, как это делал я. База у нас была объемом порядка 120 Гб. К базе обращался сайт в режиме 24/7, поэтому важно было быстро сохранять изменения и желательно без последующего монопольного запуска для восстановления индексов и процедур и без отключения пользователей от базы. Это первая часть статьи и посвящена она справочникам. С одной стороны - это самый простой объект, с другой стороны, именно про справочник спрашивалось на форуме. Если статья будет востребована, то я напишу аналогичные про документы, регистры и может еще что.

1 стартмани

13.08.2013    21203    Reptile    5    

35

v7.7 1CDialogControls: Инструмент в помощь разработчику на 7.7.

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Давным давно, когда я еще плотно писал на 7.7 работа с формами была мучительной и неудобной. Приходилось каждый элемент выкладывать, выравнивать на форме ручками, прописывать код в модуле. Иногда при разработке очередной формы приходила в голову мысль: "а где-то я уже похожее делал..." и начинался мучительный поиск подходящего кода в своих запасах........

1 стартмани

21.02.2013    18037    35    MarSeN    14    

16

[Разработчику] Любая таблица значений в OLAP

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag'n'Drop и ещё много приятных вещей от MS. Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой. Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ. Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.

1 стартмани

21.12.2012    36110    51    venger    7    

23

Библиотека кода 1С 7.7 (накопленная за 8 лет)

Инструментарий разработчика Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Весь код на 1С 7.7, собранный для повторного использования за 8 лет работы.

10 стартмани

25.11.2012    34966    248    adhocprog    51    

70
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Ёпрст 1063 09.11.09 18:09 Сейчас в теме
Ээх.. дя клюшек давно всё есть.. и консоль и конструктор:

http://infostart.ru/public/15517/

http://infostart.ru/public/14933/
4. JohnyDeath 301 09.11.09 21:10 Сейчас в теме
(1) Ёпрст, ты не прав. Под ДБФ консоли еще не было (чистой).
Автор, тебе kiruha сделал пару замечаний. Планируется обновления по этому поводу?
8. Ёпрст 1063 10.11.09 08:30 Сейчас в теме
(4) Но топикстартер то один хрен не прав - под клюшки всё было..
даже 1CQA самых первых версий..
14. Filipp_inf 10.11.09 14:35 Сейчас в теме
Почему-то при запуске появляется сообщение:
Сервис.ИспользоватьПланРаскраски(1);
{КОНСОЛЬ.ERT(2564)}: Поле агрегатного объекта не обнаружено (ИспользоватьПланРаскраски)
15. пользователь 10.11.09 15:54
Сообщение было скрыто модератором.
...
19. пользователь 12.11.09 11:43
Сообщение было скрыто модератором.
...
2. Ёпрст 1063 09.11.09 18:10 Сейчас в теме
3. пользователь 09.11.09 18:24
Сообщение было скрыто модератором.
...
5. Свой 164 10.11.09 01:20 Сейчас в теме
оФорма = СоздатьОбъект("Форма");
{D:\1CV77\1СV7_ОБРАБОТКИ\ОБРАБОТКИ ОБЩ\ПРЯМЗАПРОСЫDBF\КОНСОЛЬДБФ1.ERT(1241)}: Неудачная попытка создания объекта (Форма)
MetaDataWork=СоздатьОбъект("MetaDataWork");
{D:\1CV77\1СV7_ОБРАБОТКИ\ОБРАБОТКИ ОБЩ\ПРЯМЗАПРОСЫDBF\КОНСОЛЬДБФ1.ERT(322)}: Неудачная попытка создания объекта (MetaDataWork)
6. Noy 1076 10.11.09 01:21 Сейчас в теме
7. CheBurator 3119 10.11.09 01:53 Сейчас в теме
ООО! автору респект!!! огромный!!!! ооо! может быть я наконец-то насчну втыкать не по деццки!!!
9. Ёпрст 1063 10.11.09 08:33 Сейчас в теме
стрИмя=тзПараметры.ПолучитьЗначение(тзПараметры.ТекущаяСтрока(),"Имя");
{КОНСОЛЬ.ERT(427)}: Номер за пределами значения!
10. Ёпрст 1063 10.11.09 08:37 Сейчас в теме
oleCommand.ВыполнитьИнструкцию(strSQL, тзОтвет, 1);
{КОНСОЛЬ.ERT(505)}: FAILED! ICommandText::Execute(): File 'dh6261.dbf' does not exist.

Ну и постоянные ошибки..
Такой картинки как в (0) не получается...
По кнопке "мЕстер" ...
+неплохо бы все контролы "привязать" на форме..
11. Ёпрст 1063 10.11.09 09:05 Сейчас в теме
Нашел ошибку... Если Операция - не ищет соответственно Документ.Операция
12. leov-001 25 10.11.09 09:10 Сейчас в теме
Интересное название документа

Документ.ЧрезвычайнаяСитуация
13. пользователь 10.11.09 10:55
Сообщение было скрыто модератором.
...
16. пользователь 11.11.09 18:55
Сообщение было скрыто модератором.
...
17. Sure 163 12.11.09 00:45 Сейчас в теме
А можно и без 1С++ обходиться - только штатными средствами 1С 7.7
http://infostart.ru/public/14301/
Там и консоль запросов 1С 7.7, и консоль запросов SQL, и консоль запросов SQL в именах 1С 7.7 :-). И консоль кода... В общем - всё, что с 2004-го мне удалось собрать и дописать по этому поводу.
RodinMax; Зеленоград; +2 Ответить
18. пользователь 12.11.09 08:07
Сообщение было скрыто модератором.
...
20. пользователь 12.11.09 16:53
Сообщение было скрыто модератором.
...
21. пользователь 12.11.09 19:02
Сообщение было скрыто модератором.
...
22. anton.fly7 173 13.11.09 11:14 Сейчас в теме
как обратиться к дате документа?
когда мастер открываю - там нет такого поля :(
надо сделать выборку документов в интервале
получился такой запрос:

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. Ёпрст 1063 13.11.09 11:16 Сейчас в теме
(22) вот селект по справочнику там вообще никоим боком не уперся..
25. anton.fly7 173 13.11.09 11:18 Сейчас в теме
24. anton.fly7 173 13.11.09 11:18 Сейчас в теме
в функции ПрочитаемТаблицу() пришлось запопытчить... вылетала ошибка там иногда

Функция ПрочитаемТаблицу(стрТаблица,тзПоля,стрПсевдоним,стрТипВид="")
//состав полей заранее определить трудно, поэтому прочитаем его
oledb=Connect();
//Command
oleCommand=oledb.СоздатьКоманду();
strSQL="Select * from "+стрТаблица+" where 1=2";
тзОтвет=СоздатьОбъект("ТаблицаЗначений");
Попытка //я добавил тут
oleCommand.ВыполнитьИнструкцию(strSQL, тзОтвет, 1);
Исключение
Сообщить(strSQL);
Возврат "";
КонецПопытки;
26. пользователь 13.11.09 11:32
Сообщение было скрыто модератором.
...
27. anton.fly7 173 13.11.09 11:34 Сейчас в теме
(26) я в базе один монопольно сижу - никто проводить не может
про журнал - да. на мисте подсказывают
28. Ёпрст 1063 13.11.09 12:12 Сейчас в теме
(27) просто так, прямые запросы через фоксовый провайдер в базе дбф не работают вообще!!!!!!!!
Нужно либо патчить 1с вот этим:
http://infostart.ru/public/16268/
Либо использовать вот это:
http://infostart.ru/public/15977/
31. пользователь 13.11.09 13:25
Сообщение было скрыто модератором.
...
29. Ёпрст 1063 13.11.09 12:13 Сейчас в теме
+28 в монопольном режиме.
30. пользователь 13.11.09 12:14
Сообщение было скрыто модератором.
...
32. пользователь 21.11.09 10:46
Сообщение было скрыто модератором.
...
33. пользователь 23.11.09 16:57
Сообщение было скрыто модератором.
...
34. пользователь 23.11.09 18:55
Сообщение было скрыто модератором.
...
35. Nadejda 24.11.09 06:49 Сейчас в теме
Сервис=СоздатьОбъект("Сервис");
{C:\DOCUMENTS AND SETTINGS\НАДЯ\РАБОЧИЙ СТОЛ\КОНСОЛЬ\КОНСОЛЬ.ERT(3424)}: Неудачная попытка создания объекта (Сервис) :o
36. пользователь 24.11.09 08:02
Сообщение было скрыто модератором.
...
37. пользователь 25.11.09 17:14
Сообщение было скрыто модератором.
...
38. пользователь 01.12.09 12:46
Сообщение было скрыто модератором.
...
39. dimm73 07.12.09 13:39 Сейчас в теме
не находит параметры запроса

создал в мастере запрос
Код

SELECT ALL 
   Рег_ПартииНаличие.номенклатура as [Номенклатура],
   SUM(Рег_ПартииНаличие.количество) as SUM_Рег_ПартииНаличие_Количество,
   SUM(Рег_ПартииНаличие.суммаруб) as SUM_Рег_ПартииНаличие_СуммаРуб,
   SUM(Рег_ПартииНаличие.продстоимость) as SUM_Рег_ПартииНаличие_ПродСтоимость
FROM
   Регистр_ПартииНаличие as Рег_ПартииНаличие
   LEFT OUTER JOIN Journal as Журнал on(Рег_ПартииНаличие.iddoc=(Журнал.iddocdef+Журнал.iddoc))

WHERE
   Журнал.date>=Дата1
   AND Журнал.date<=Дата2
   AND Рег_ПартииНаличие.кодоперации=РозницаПродажа
GROUP BY
   Рег_ПартииНаличие.номенклатура
ORDER BY
   Рег_ПартииНаличие.номенклатура ASC
Показать полностью


перехожу в закладку "Параметры", жму определить параметры из текста - ничего не происходит

Запрос под dbf sqlite
41. пользователь 07.12.09 18:44
Сообщение было скрыто модератором.
...
40. dimm73 07.12.09 13:47 Сейчас в теме
ступил забыл : поставить
42. пользователь 17.12.09 19:01
Сообщение было скрыто модератором.
...
43. пользователь 18.12.09 19:38
Сообщение было скрыто модератором.
...
44. steban 73 25.12.09 17:35 Сейчас в теме
При разрешении экрана 800 строк кнопок внизу не видно.
хочу, чтобы работал драг'н'дроп между таблицами и перенос строк по двойному клику или нажатию Enter.
45. пользователь 28.12.09 11:36
Сообщение было скрыто модератором.
...
46. steban 73 28.12.09 14:28 Сейчас в теме
(45)Я думаю, ты все-таки хочешь чтобы твоя разработка пользовалась популярностью. Если так, то выдача таких советов - неверная тактика.

Открой для себя возможности привязки элементов управления в 7.7.
Общие.Форма.Привязка, Сплиттеры
47. пользователь 12.02.10 16:10
Сообщение было скрыто модератором.
...
48. пользователь 27.02.10 11:35
Сообщение было скрыто модератором.
...
49. пользователь 12.03.10 15:15
Сообщение было скрыто модератором.
...
50. Ёпрст 1063 12.03.10 17:11 Сейчас в теме
Один хрен, все запросы полученные конструкторами в дбф нужно обрабатывтать напильниками, чтоб запрос в индекс попадал..
(это ежели фокс использовать).
51. mojed 22.07.10 13:59 Сейчас в теме
оФорма=СоздатьОбъект("Форма");
{E:\МАТРИЦА\КОНСОЛЬЗАПРОСОВ77\КОНСОЛЬ.ERT(6945)}: Неудачная попытка создания объекта (Форма)
52. пользователь 09.11.11 17:40
Сообщение было скрыто модератором.
...
53. yuraos 991 11.11.11 08:57 Сейчас в теме
Спасибо! Респект автору! Добротная разработка!
9 объектов "ТабличноеПоле" и 11 объектов "Таблица+Дерево" !!
к последним у меня особая слабость!!!
......
вот только при открытии вываливает :
MetaDataWork<<?>>.УстановитьТекстовыйПараметр(стрИмяПараметра, знЗначение);
{C:\!DVLP-77\КОНСОЛЬSQL.ERT(1556)}: Переменная не определена (MetaDataWork)
;) обработка КонсольSQL.ert из полного архива.
неплохо бы выкашивать в публичных версиях все ссылки на переменные и функции глобального модуля
......
PS:
Насчет этой библиотечки 1sci.dll она не от тех же разработчиков, что
OpenConf_Light_Pack\Config\SciColorer.dll
OpenConf_Light_Pack\Config\SciLexer.dll ???
Для включения раскраски достаточно просто ее загрузить или нужны еще какие-то действия?
---
И как она ведет себя на терминальных серверах?
А то если что - мой сисадмин
принесет меня в жертву КТУЛХУ во имя информационной безопасности компании! ;)
54. aleksey.kubovtsov 116 04.06.12 14:34 Сейчас в теме
55. dour-dead 271 21.12.12 15:05 Сейчас в теме
круто) правда уже наверно не совсем актуально...
56. PiccaHut001 30.04.13 16:19 Сейчас в теме
(55) dour-dead, очень, очень актуально, 7.7 надёжная рабочая лощадка, 8 пока сыровата.
Зеленоград; +1 Ответить
57. shmellevich 134 30.06.15 10:03 Сейчас в теме
А что изменилось 31.05.15 ????
И за что такая стоимость????
Оставьте свое сообщение