СделайСАМ: лжеОбъектное расширение конфигурации

23.09.15

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

Конфигурация на поддержке без возможности внесения изменений или в модели сервиса, базовая. Как быть, если нужно дать пользователю вводить и хранить большое количество разнородной дополнительной информации, которую желательно хранить в самой информационной базе и доступ к ней иметь через приближенный к стандартному интерфейс? Представляем вам возможности использования ХранилищаНастроек. Начиная от создания дополнительного "справочника" с претензией на создание собственной разработки с массой дополнительных "объектов" в виде внешней обработки (для управляемого приложения, т.к. залезать тонким клиентом теперь можно в большинство решений)

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

Наименование Файл Версия Размер
ПримерСтартовойОбработкиЛжеОбъектнойМодели_1_0_0.epf
.epf 246,73Kb
34
.epf 246,73Kb 34 Скачать

Здравствуйте. Нам всегда в жизни не нравятся какие-либо ограничения.  Они бывают как полезные для нас же самих, так и не очень, а так же нейтральные, вроде есть... ну и есть. Некоторые с этими ограничениями борятся, некоторые живут, есть те, кто как-то их старается обойти. Здесь сложно судить, правильно это или нет, давать оценки лицензионному соглашению с 1С не будем, т.к. это данность, которую принимать или нет - решать каждому, лично. Но мы принимаем, а значит стараемся решить некоторые ограничения от 1С приемлимым в рамках лицензионного соглашения средством. Оно не решит всех проблем, но можно подумать и над развитием...

  1. В нашей практике внедрения 1С и создания прикладных решений часто требуется вносить изменения в типовые конфигурации. Но делать это приходится путем снятия ее с полной поддержки, тем самым "подсаживая" клиента на постоянные потребности в неавтоматическом обновлении. Есть базвые конфигурации, изменение которых не возможно.

  2. Сейчас , видимо, будет распространяться вариант работы в модели сервиса и свои разработки желательно переносить во внешние обработки. (есть, кстати, интересный вариант также у моего земляка, Рустема - //infostart.ru/public/120169/  )

  3. В принципе данная идея так же может сочетаться со способностью в дальнейшем "подключать/переопределять" стандартные методы уже существующих объектов конфигурации без ее изменения. На конфигурацию навешивается этакая "внешобработ-морда", через которую производятся необходимые действия. Сложно сказать, насколько это необходимо, конечно...

Данная модель уже используется в  нескольких проектах, в частности для расширения задач пользователей в УПП, для управления веб-сервисом при связи информационных баз 1С с нашим приложением под Андроид (//infostart.ru/public/154074/).

Итак.

Вашему вниманию представляется обработка управления ХранилищемНастроек конфигурации для создания и ведения дополнительных "объектов" прикладного решения. Назовем их "лжеОбъекты". Скачайте версию, где реализован пример создания лжеСправочника (Код, Наименование, РеквизитБулево, РеквизитСтруктура), к которому создается форма списка для ввода в него данных, есть обработчики событий ПриИзменении к каждому полю реквизита, есть вызов дополнительной внешней обаботки из события этой формы списка лжеСправочника - пример методов лжеСправочника. Ну и пример двух методов "менеджера" лжеСправочника - "СохранитьТаблицу"и "КакойтоМетод".

Подробнее:

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

07.png

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

 

Далее идет описание версии.

Версия 1.0.1
Это обработка "Стартовый помощник"
При первом запуске вам было предложено первоначальное добавление в  лжеСправочник предопределенного элемента в вашей информационной базе.

01

Если вы отказались, то можете сделать это потом, нажав на кнопку "Заполнить объекты"
лжеОбъектами в данном контексте называются вспомогательные таблицы, хранящие данные разного рода. Таблицы сохраняются между сеансами в ХранилищеНастроек конфигурации.

02.png

Нажмите кнопку "Реструктуризация объектов" после скачивания последней версии "Стартового помошника", при этом существующие в вашем ХранилищеНастроек таблицы будут дополнены новыми возможностями, информация в них сохранится (если вы не переопределяли сами структуру таблиц.

03.png

Нажмите кнопку "Проверить обновление". Если на нашем\вашем сервере выложена новая версия, то заголовок этой страницы изменится, будет показан номер последней версии и адрес, с которого можно ее скачать. Если установить флаг "Всегда проверять обновления", то это будет происходить при открытии.

04.png


Ну и наконец, все эти таблицы лжеОбъектов можно посмотреть и отредактировать в специальной форме. Нажмите кнопу "Открыть объекты".

05.png

Если вы видите маленькую форму без таблиц, они не созданы в вашей информационной базе.

06.png

Нажмите кнопку "Реструктуризация объектов" для создания пустой таблицы лжеСправочника или кнопку "Заполнить объекты" для создания таблицы лжеСправочника с предопределенным элементом.

При работе с лжеОбъектами.


Для элементов формы (полей ввода таблицы) добавляются обработчики события "При изменении", а для самой таблицы формы для примера обработчик события "ПриНачалеРедактирования", в котором вызывается  какая-нибудь внешняя обработка для создания определенного выбора значения или еще чего-нибудь...

08.png

И две кнопки - команды по аналогии с методами менеджера лжеОбъекта, в примере "записать таблицу" или что-то  выполнить.

09.png

 

 

 

Удачных вам внедрений!

 

Благодарность Андрею Данилюку (http://danila.org.ua). При разработке использовалась практическая методика получения картинок из текста HTML (переработана) и получение структуры из адреса сайта (оригинал). В коде модуля так же есть ссылка.

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122175    670    389    

714

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 15300 руб.

06.10.2023    7296    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3543    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177757    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99348    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18116    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28110    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23604    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. wunderland 201 20.11.12 14:57 Сейчас в теме
Как идея (и реализация) - интересно.
Но, как я понимаю, обратиться к этим данным, например, из консоли отчетов - нельзя?
2. samamoiloff 861 20.11.12 16:36 Сейчас в теме
(1) wunderland,
ну, в принципе, это костыль, да...
3. Yashazz 4709 20.11.12 16:39 Сейчас в теме
Ну-у-у, если уж извращаться, так иначе - делаете свою, отдельную, заточенно-универсальную конфу как скелет, запихиваете в двоичные данные макета, раскрываете при первичном запуске обработки, а затем обращаетесь через com-соединение. Так можно сэмулировать больше, а сил на изобретение псевдо-объектов потратить меньше. Ну и, если толково припахать внешние источники данных, даже СКД, о которой (1) спросил, подтянет нужное.
адуырщдв; +1 Ответить
4. samamoiloff 861 20.11.12 21:48 Сейчас в теме
(3) Yashazz, благодарю,
да вот, с базовыми такие фокусы не проходят. Интересно, в модели сервиса есть возможность запустить свою конфу? Наверное, нет...
5. iov 406 20.11.12 22:45 Сейчас в теме
6. iov 406 20.11.12 22:46 Сейчас в теме
(0) Красненькие синенькие строки а потом так правильно и строго....
9. samamoiloff 861 21.11.12 09:31 Сейчас в теме
(6) iov,
а один товарищ написал, что это как... не буду писать как, но не понравилось ему.
14. iov 406 21.11.12 10:41 Сейчас в теме
(9) в письме наверно написал? Какой нехороший товарисчь...
Сарказм , Шелдон.
7. nelse 21.11.12 04:45 Сейчас в теме
подписался. посмотрю. идея хорошая.
Сам в этом направлении когда-то что-то делал Интересно.
8. samamoiloff 861 21.11.12 09:29 Сейчас в теме
(7) nelse,
наша жизнь стремится(?) быть интересной, хотя вроде все нормуль, сиди на солныщке, грейся..., че-то все придумываем... Так?
10. AlexO 135 21.11.12 09:46 Сейчас в теме
описанную в стартовой обработке и рисует для этой структуры форму, наполняя обработчиками, кнопками и данными.

И кто решает, чем и как наполнять форму?
12. samamoiloff 861 21.11.12 10:21 Сейчас в теме
(10) AlexO,
тот, кто в коде стартовой обработки создаст структуру, элементами которой будут:
объекты - тоже структура ,элементами которой будут реквизиты, события, методы.
Надо было, конечно скрин кода привести, извиняюсь. Вот кусок:
11. Гость 21.11.12 10:15
Недостатки:
нельзя использовать СКД.
а при этом смысл создания пустышек не вижу.
в место отчетов писать обработки тоже не столь интересно.
тут даже отдельная конфа с данными не поможет.
единственный вариант это создание в базе дополнительный таблиц (СПРАВОЧНИКИ РЕГИСТРЫ ДОКУМЕНТЫ), обращение и настройка их с помощью этой волшебной обработки + написание на СКД прямых запросов к этим таблицам. НО это все сомнительно.(+ написать расширение для платформы которое будет адекватно воспринимать обращение к таблицам не относящихся конфигурации)

Итог: Работы много в этом направлении. В том числе сами 1с-цы!!! должны принимать в этом участие.
jokereinherjar; Stety; +2 Ответить
13. samamoiloff 861 21.11.12 10:26 Сейчас в теме
(11) Werios,
что Вы имеете в виду под "единственный вариант это создание в базе дополнительный таблиц" - обычных объектов? Конфигурацию редактировать нельзя, не совсем понял.
15. Гость 21.11.12 11:46
(13)
Смысл в чем? Не Влиять на стандартную конфу?
Тогда Так:
1. Обработка Которая Создает Таблице В ИБ (к примеру рассматриваем Скуль), в которой есть настройки всех дополнительных лже объектов базы + таблицы самих лже объектов + таблицы данных объектов.
2. Есть некая ДЛЛ в платформе которая добавляет возможность использования в стандартных СКД и еще где нить доработки по обращению к этим таблица и вытаскивания данных из них.

Вот это и будет Полноценная доработка по ведению своей конфигурации по верх стандартной, не портя конфу.
16. samamoiloff 861 21.11.12 18:52 Сейчас в теме
А кто-ть в модели сервиса пробовал с ДЛЛ работать, у меня такого опыта нету. Ни модели, ни сервиса... :)
Может полноценный костыль и не нужен?
17. Stety 152 22.11.12 01:29 Сейчас в теме
Базовые конфы покупают, как правило, в видах жесткой экономии. Раз так, хороших денег за "навесные" доработки такие заказчики платить как правило тоже не могут. Выходит, что такого рода расширение имеет смысл, если оно как бы тиражное. То есть, если это какие-то лжеСправочники, нужные многим клиентам.
В общем, штука технологически интересная по-своему, хотя и ограниченная. Но вряд ли для нее широкая область применения найдется.
19. samamoiloff 861 22.11.12 20:24 Сейчас в теме
(17) Stety, да тиражность подойдет...
как вариант ограничения - создание своей разработки и продажа "1С в подарок", т.к. стоимость базовой для дилера примерно в 2 раза меньше продажной, появляется вариант:
1. Стать дилером 1С
2. Повысить заинтересованность покупки той же базовой именно у вас
2,5. Продолжить сотрудничество с этим клиентом.
3. Объявить о себе на рынке

P.S. Не специально, это не реклама, так получилось... :)
18. Ksu 22.11.12 12:11 Сейчас в теме
Идея интересная! С большим интересом буду наблюдать за развитием данного проекта.
20. PlatonStepan 38 23.11.12 05:02 Сейчас в теме
По-моему в такие лжеОбъекты только лжеДанные и можно помещать :)
1) Боюсь огрести проблем по производительности и обработке больших объёмов.
Понятно, что BLOBструктуры в sql хранятся независимо, но в действительности никаких гарантий ж.
К тому же всё это будет очень зависеть от оперативной памяти и ресурсов сервера, ведь эти структуры он не будет порционно выдавать.
Разве что продумать эти порции и хранить их в различных настройках хранилища.

2) Согласитесь, что эти хранилища создавались не для получения/обновления их при каждом клике пользователя.
3) Механизм блокировок?
4) Обмен данными?

Ах да, может не нужно приставку "лже" использовать? Отторжение вызывает :)
Варианты : псевдо, квази
21. samamoiloff 861 05.01.13 12:21 Сейчас в теме
(20) Все правильно пишете. Поэтому и приставка такая: "лже". Чтобы осознавать, что это всего лишь костыль. А костыль - он и в Африке костыль, как его с ногой не сравнивай. Но иногда костыли приходится использовать. Я предлагаю такой вот, дубовый... :)
22. samamoiloff 861 05.01.13 12:32 Сейчас в теме
P.S. Я никого ведь не заставляю и ни к чему не обязываю. В процессе работы нет иногда другого варианта, как элемент выбора я его привожу здесь. Любой в праве выбрать или предложить свой.
Утверждать, что костыль - это деревянное приспособление, помогающее ходить при повреждениях ног, а потом оспаривать это утверждение, что бывают и железные костыли, доказывать, что без костылей тоже можно передвигаться... Зачем это? Это и так понятно. Нет?
Возможно текст публикации к этому подталкивает... как бы реклама, вызывает протест... надо будет пересмотреть.
Оставьте свое сообщение