Класс "ПоставщикДанных"

18.01.12

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

Аналог табличного поля 1С 8.x, с возможностью автоматического подключения наборов данных (Дерево значений, Индексированная таблица, Список значений, Справочники, Документы, Журналы, Операции, Проводки, Регистры, Табличная часть документа, Отбор).
Доступны возможности: отборы, настройки колонок, печать содержимого, быстрый поиск, стандартный поиск, контекстное меню.

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

Наименование Файл Версия Размер
Документация и классы v 4.3.1 от 18.01.2012
.rar 979,75Kb
379
.rar 979,75Kb 379 Скачать
Документация и классы v 4.2.4 от 20.05.2011
.rar 764,43Kb
16
.rar 764,43Kb 16 Скачать

Поддерживаемые наборы данных для отображения в табличном поле:

  • Список значений
  • Индексированная таблица (1С++)
  • Дерево значений (Объекты_v8)
  • Отбор (Объекты_v8)
  • Справочник.
  • Документ.
  • Журнал.
  • ТабличнаяЧасть.
  • Операции
  • Проводки
  • Регистр.

Возможности реализованные в классе:

  • Динамическое чтение данных (для наборов связанных с метаданными конфигурации)
  • Возможность изменения запроса к данным (синтаксис класса "Прямой запрос")
  • События при обработке действий пользователя
  • Быстрый поиск по строке
  • Поиск стандартными средствами 1С
  • Расширенное управление видимостью и свойствами колонок
  • Возможность наложения отборов (при динамическом чтении)
  • Собственные объекты реализующие ДеревоЗначений и Отбор (см. аналогичные объекты 1С v8.х)
  • Расширенные возможности управления табличным полем (изменение состава и порядка строк, сохранение и восстановление настроек и т.д.)
Полноценный пример будет занимать в виде кода много места, поэтому приложу его отдельным архивом.

Данная разработка предназначена для демострации возможностей ЭУ табличное поле в 1Cv7. По сути это аналог табличного поля с соответствующими расширениями реализованный в 1Сv8.

Более подробное обсуждение, новости и прочее можно просмотреть на форуме 1С++. На ваши вопросы там ответят намного быстрее и подробнее.

Дополнение: на текущий момент могу сказать что данная разработка прошла успешное тестирование на нескольких проектах (реализованных не только мной). Как правило использование данных классов повышает скорость работы программы, удобство работы пользователей и значительно расширяет стандартные возможности 1Сv7.

Последняя официальная версия: 4.2.4 от 20.05.2011

Последняя неофициальная версия: 4.3.1 от 18.01.2012 (стабильный релиз)


P.S.
данная разработка распространяется бесплатно как для частного, так и для коммерческого использования. Поддержка осуществляется при наличии свободного времени. Возможно сотрудничество на предмет внедрения данной разработки в конкретные конфигурации.

См. также

Консоль запросов

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

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

10 стартмани

29.04.2015    21559    54    Gvozdod    8    

14

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

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

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

1 стартмани

23.04.2014    165695    1864    Alexoniq    1596    

496

Tray Informer

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

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

1 стартмани

04.09.2013    32877    61    O-Planet    78    

49

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

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

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

1 стартмани

13.08.2013    21197    Reptile    5    

35

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

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

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

1 стартмани

21.02.2013    18029    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    36103    51    venger    7    

23

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

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

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

10 стартмани

25.11.2012    34956    248    adhocprog    51    

70
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. artbear 1448 25.03.10 08:33 Сейчас в теме
2. vandalsvq 1537 25.03.10 10:13 Сейчас в теме
18. Dolly_EV 269 20.04.10 10:26 Сейчас в теме
(1) Это уже наверное не просто класс - это целая идеология! 8-)
3. Ёпрст 1063 25.03.10 10:22 Сейчас в теме
Как то ты его здесь поздно выложил..
Его популярность и так далеко вперёд ушла..
7. vandalsvq 1537 25.03.10 11:28 Сейчас в теме
(3)(4)
Да все руки не доходили. Я даже ПрямойЗапрос тут обновить все никак не мог. К тому же нормального примера не было. В общем так по мелочи все мешало "выйти в люди".
8. CheBurator 3119 25.03.10 15:31 Сейчас в теме
(7) спасибо. давно уже присматриваюсь. ибо как раз такие задачи - забодался строить всякие конструкторы условий/фильтров на основе отображения в ТЗ.
9. _also 484 25.03.10 15:41 Сейчас в теме
Автору огромный респект, на прошлой работе написал конфу с его ипользованием. Отдельное спасибо за такую документацию :)
Присоединяюсь к (3)
10. _also 484 25.03.10 15:42 Сейчас в теме
+(9) Да..и за прямой запрос спасибо :)
4. Ёпрст 1063 25.03.10 10:24 Сейчас в теме
Как то ты его поздновато здесь выложил..
Он уже и так раскручен :)
5. Свой 164 25.03.10 10:40 Сейчас в теме
в ДБФ базе это работает ?
6. Ёпрст 1063 25.03.10 11:10 Сейчас в теме
11. Широкий 692 26.03.10 11:05 Сейчас в теме
12. serpent 67 26.03.10 15:25 Сейчас в теме
Подскажите что я сделал не так с тестовым примером???

Класс: УправлениеФормой.Привязка - ошибка синтаксиса
Строка №275 Право <<?>>= Лево + Ширина;
Ожидается скалярное выражение (Право)
{C:\ййй\SystemData\Classes\УправлениеФормой\УправлениеФормой.Привязка.ert(275) }
Класс: УправлениеФормой.Привязка - ошибка синтаксиса
Строка №277 Расстояние = ЛевоС-Право<<?>>;
Ожидается скалярное выражение (Право)
{C:\ййй\SystemData\Classes\УправлениеФормой\УправлениеФормой.Привязка.ert(277) }
Класс: УправлениеФормой.Привязка Файл: C:\ййй\SystemData\Classes\УправлениеФормой\УправлениеФормой.Привязка.ert компиляция не выполнена!
УправлениеФормой::Конструктор() : Внимание! Инициализация класса: УправлениеФормой.Привязка закончилась неудачно!
ПривязкаЭлементов = СоздатьОбъект("УправлениеФормой.Привязка");
{C:\ййй\SystemData\Classes\УправлениеФормой\УправлениеФормой.ert(31) }

УправлениеФормой = СоздатьОбъект("УправлениеФормой");
{C:\ййй\СПРАВОЧНИК КОНТРАГЕНТЫ.ERT(160)}: УправлениеФормой::Конструктор() : Внимание! Инициализация класса: УправлениеФормой.Привязка закончилась неудачно!
ПривязкаЭлементов = СоздатьОбъект("УправлениеФормой.Привязка");
{C:\ййй\SystemData\Classes\УправлениеФормой\УправлениеФормой.ert(31) }
13. Porshivec 26.03.10 18:09 Сейчас в теме
Подскажите пожалуйста! Как в документ Реализация добавить строку процент наценки(1С Торговля и склад ред. 9.2)? Чтобы его не было видно в накладной. Заранее спасибо.
14. CheBurator 3119 27.03.10 02:27 Сейчас в теме
Взял сабж с ИС.
вроде выполнил все что описано в инструкции по установке.
При запуске обработки:
.
ПоставщикДанных.КоманднаяПанель::УстановитьНаборПиктограмм(Картинка Пиктограммы=, Число Ширина=16, Число Высота=16, Число Количество=26) : Неудачная попытка создания объекта
КартинкиПанелиУправления = СоздатьОбъект("MSComctlLib.ImageListCtrl");
{G:\_DEMO\DEMO_BUH.DIR\SystemData\Classes\ПоставщикДанных\ПоставщикДанных.КоманднаяПанель.ert(330) }

ПоставщикДанных.ТабличноеПоле::Конструктор() : ПоставщикДанных.КоманднаяПанель::УстановитьНаборПиктограмм(Картинка Пиктограммы=, Число Ширина=16, Число Высота=16, Число Количество=26) : Неудачная попытка создания объекта
КартинкиПанелиУправления = СоздатьОбъект("MSComctlLib.ImageListCtrl");
{G:\_DEMO\DEMO_BUH.DIR\SystemData\Classes\ПоставщикДанных\ПоставщикДанных.КоманднаяПанель.ert(330) }

КоманднаяПанель.УстановитьНаборПиктограмм(Сервис.КартинкаКоманднойПанели,16,16,26);
{G:\_DEMO\DEMO_BUH.DIR\SystemData\Classes\ПоставщикДанных\ПоставщикДанных.ТабличноеПоле.ert(76) }

ПоставщикДанных::ПриЗаписи_ТипЗначений(Строка Параметр=Справочник.Контрагенты) : ПоставщикДанных.ТабличноеПоле::Конструктор() : ПоставщикДанных.КоманднаяПанель::УстановитьНаборПиктограмм(Картинка Пиктограммы=, Число Ширина=16, Число Высота=16, Число Количество=26) : Неудачная попытка создания объекта
КартинкиПанелиУправления = СоздатьОбъект("MSComctlLib.ImageListCtrl");
{G:\_DEMO\DEMO_BUH.DIR\SystemData\Classes\ПоставщикДанных\ПоставщикДанных.КоманднаяПанель.ert(330) }

КоманднаяПанель.УстановитьНаборПиктограмм(Сервис.КартинкаКоманднойПанели,16,16,26);
{G:\_DEMO\DEMO_BUH.DIR\SystemData\Classes\ПоставщикДанных\ПоставщикДанных.ТабличноеПоле.ert(76) }

ПоставщикДанных = СоздатьОбъект("ПоставщикДанных.Справочник");
{G:\_DEMO\DEMO_BUH.DIR\SystemData\Classes\ПоставщикДанных\ПоставщикДанных.ert(87) }

ПоставщикДанныхМногострочнаяЧасть.ТипЗначений = "Справочник.Контрагенты";
{C:\ПРИМЕР ДЛЯ КОНФИГУРАЦИИ БУХГАЛТЕРИЯ\СПРАВОЧНИК КОНТРАГЕНТЫ.ERT(20)}: ПоставщикДанных::ПриЗаписи_ТипЗначений(Строка Параметр=Справочник.Контрагенты) : ПоставщикДанных.ТабличноеПоле::Конструктор() : ПоставщикДанных.КоманднаяПанель::УстановитьНаборПиктограмм(Картинка Пиктограммы=, Число Ширина=16, Число Высота=16, Число Количество=26) : Неудачная попытка создания объекта
КартинкиПанелиУправления = СоздатьОбъект("MSComctlLib.ImageListCtrl");
{G:\_DEMO\DEMO_BUH.DIR\SystemData\Classes\ПоставщикДанных\ПоставщикДанных.КоманднаяПанель.ert(330) }

КоманднаяПанель.УстановитьНаборПиктограмм(Сервис.КартинкаКоманднойПанели,16,16,26);
{G:\_DEMO\DEMO_BUH.DIR\SystemData\Classes\ПоставщикДанных\ПоставщикДанных.ТабличноеПоле.ert(76) }

ПоставщикДанных = СоздатьОбъект("ПоставщикДанных.Справочник");
{G:\_DEMO\DEMO_BUH.DIR\SystemData\Classes\ПоставщикДанных\ПоставщикДанных.ert(87) }
16. vandalsvq 1537 27.03.10 11:37 Сейчас в теме
(14)(15)
А я забыл написать что "Not all batteries are included"? :D

А вообще-то я в документации писал
"объект «КоманднаяПанель» реализуется при помощи ActiveX – “MSComctlLib.Toolbar.2” (данная библиотека устанавливается с пакетом MS Office после установки сам Microsoft Office можно удалить, библиотека при этом останется)".
Коммон контролы вроде проблемы не решит, не знаю. Да и чтобы их использовать надо иметь лицензию. Так что я не хочу включать в документацию данные ссылки. Но как информацию обязательно тут пусть остается.

Только просьба, подчисти текст ошибки и сформулируй ее в "двух словах". Не люблю массивы кода когда на самом деле там ошибка на две строки.
15. CheBurator 3119 27.03.10 02:51 Сейчас в теме
как всегда, выложено "неработающее", с неполными инструкциями... ;-)
.
в помощь при ошибке
http://www.forum.mista.ru/topic.php?id=298024
качаем http://www.dll.ru/dll/4410.html - comdlg32.ocx
http://www.microsoft.com/downloads/details.aspx?FamilyID=25437d98-51d0-41c1-bb14-64662f5f62fe&DisplayLang=en - устанавливаем
.
Автору: представляется целесообразным включить в инструкцию
an_2; serpent; Свой; +3 Ответить
17. quick 583 29.03.10 08:41 Сейчас в теме
Так вот ты какой, цветочек аленький! :)
19. orefkov 1152 01.06.10 11:51 Сейчас в теме
У меня такое ощущение, что CheBurator всегда все проверяет на "голой" машине. Наверное у него для вмваре создан образ - поставлена винда по минимуму + 1С. И каждую поделку он сначала в нем прогоняет.
20. vandalsvq 1537 01.06.10 15:07 Сейчас в теме
(19) кстати хороший вариант :D
21. freek 28.12.11 14:07 Сейчас в теме
22. smitti911 17.02.12 13:44 Сейчас в теме
23. vandalsvq 1537 09.04.12 01:07 Сейчас в теме
Следите за новостями. В ближайшем будущем будет значительное обновление.
Открою немного занавес: кто видел 8.2 управляемое приложение, ну или СКД, тот знает что там можно накладывать сгруппированные условия. Так вот, аналогичная возможность появится и в данном классе. Таким образом уровень возможностей местами не только приблизился вплотную к 8.х, но где-то даже превзошел ее. :)
26. CheBurator 3119 07.11.14 18:08 Сейчас в теме
(23) а где вариант сабжа со "значительным обновлением"...?
27. vandalsvq 1537 08.11.14 17:00 Сейчас в теме
(26) CheBurator, группировка условий есть, в версии 5+. Но она только на 1С++ - http://www.1cpp.ru/forum/YaBB.pl?num=1273512019.
Были планы сделать условное оформление, а также группировку, но увы. Причина тому одна - я не занимаюсь 7-кой на коммерческой основе и поэтому не дорабатываю эти инструменты. Тестировать даже элементарно не на чем. Раньше и sql-ные базы были и файловые и разных конфигураций навалом. Сейчас вроде как только одна на которой была разработка и ту открывал очень давно.

А вообще вот последние изменения:
5.0.1 от 15.04.12 г.
- Изменена система отборов в динамических расширениях (Справочник, Документ, Журнал, Регистр, Операции, Проводки). Добавлена возможность произвольного построения условий с иерархией.
- В связи с изменением системы отборов внесены изменения в объекты-расширения «ПоставщикДанных.Журнал», «ПоставщикДанных.Проводки» «ПоставщикДанных.Документы», «ПоставщикДанных.Справочник», «ПоставщикДанных.Операции», «ПоставщикДанных.Регистр».
- Исправлено поведение кнопки «Отбор по текущей колонке». При нажатии не отключаются остальные отборы. Также если отбор включен, то он выключается.
- При активизации колонки изменяется отображение кнопки «Отбор по текущей колонке».
- Оптимизировано построение условия отборов по реквизитам.
- Исправлена ошибка потери текущей строки при изменении иерархического просмотра у объекта-расширения «ПоставщикДанных.Справочник».
- Отключено использование параметра «ВыводитьПиктограммуОтбора». Параметр оставлен для обратной совместимости.
- Объект «ПоставщикДанных.ОписаниеТипов» и «ПоставщикДанных.ВидыСравнения» выведены из состава поставщика данных. Вместо них используются общие объекты «ОписаниеТипов» и «ВидыСравнения» соответственно. Подробнее см. документацию по классам «Объекты_v8».
- Исправлено падение 1С при изменении типа значения объекта «ПоставщикДанных».
- Исправлены выявленные ошибки

5.0.2 от 24.04.12 г.
- Исправлена ошибка при укладке списков со строковыми значениями для отбора.
- Исправлена ошибка формирования запроса для объекта-расширения «ПоставщикДанных.Регистр» если у регистра стоит признак «Быстрая обработка движений»
- Исправлены выявленные ошибки.

5.0.3 от 22.05.13 г.
- Объект «ПоставщикДанных.ПрямойЗапрос» обновлен до версии 1.8.6 от 22.05.13 г.
- все классы собраны вместе в один архив + примеры

5.0.4 от 25.10.13 г.
- Исправлены выявленные ошибки

5.0.5 от 23.05.14 г.
- Исправлены выявленные ошибки при добавлении колонок данных
- Добавлена возможность построения древовидных структуры в доступных полях при добавлении колонок данных (фактически теперь можно объект "Отбор" использовать для построения отборов вроде СКД в 8-ке, но напильник must have)
24. andrey314 14 07.11.14 15:23 Сейчас в теме
а есть возможность в табличном поле отображать данные внешних источников данных через ODBC?
25. vandalsvq 1537 07.11.14 16:41 Сейчас в теме
(24) andrey314, вот почитай тут. Сам поставщик данных не адаптирован под произвольный запрос, но непосредственно ТП можно использовать. Читать тут - http://www.1cpp.ru/docum/html/TableField.html#odbc-odbcdataprovider. Также можно выполнять запрос, выкидывать в таблицу значений и ее уже через поставщик использовать. Если конечно нужна его "инфраструктура".
28. wenzor 39 23.11.15 07:46 Сейчас в теме
А где сейчас можно взять версию 5.0.5? На форуме 1срр.ru файлов нет - удалили что ли все....
29. vandalsvq 1537 23.11.15 11:38 Сейчас в теме
(28) wenzor, все обновления лежат в теме здесь
30. wenzor 39 23.11.15 20:02 Сейчас в теме
Вот что я вижу: Attachment deleted. Может нужно залогиниться, но мне не приходит письмо с подтверждением (вчера зарегистрировался). Вобщем перерыл весь интернет и нигде нет :)

Кстати сказать, скачал отсюда 4-ю версию, почитал документацию и впечатлился. Вы проделали огромную работу! Я делал нечто подобное. Но чтобы так подробно как Вы....просто нет слов :)
Прикрепленные файлы:
31. vandalsvq 1537 24.11.15 01:59 Сейчас в теме
(30) wenzor, файл во вложении, пользуйтесь на здоровье
Прикрепленные файлы:
Query_ExtTF_other_001.zip
32. Mikeware 9 09.02.16 09:25 Сейчас в теме
Пытаюсь запустить на машине с Win7/64.
Ошибка при создании объекта ОбъектImageListCtrl = СоздатьОбъект("MSComctlLib.ImageListCtrl");
Офис стоит 2010-й,
дополнительно comdlg32.ocx и MSCOMCTL.OCX поставил и зарегистрировал. Не помогло.
В реестре MSComctlLib.ImageListCtrl присутствует. Права на чтение вроде есть - ругани в Процмоне не вижу.
Что я не так делаю, и что сделать?
33. vandalsvq 1537 09.02.16 15:02 Сейчас в теме
(32), Советую обратиться на форум 1c++. У меня уже 7-ки пару лет как вообще не стоит, подзабылись нюансы.
Заранее прошу прощения, что не могу оказать помощь.
34. Mikeware 9 09.02.16 17:17 Сейчас в теме
(33) спасибо за ответ. там как-то тоже все мертво...
клюшки отживают свой век...
Оставьте свое сообщение