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

23.09.15

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
ПримерСтартовойОбработкиЛжеОбъектнойМодели_1_0_0.epf
.epf 246,73Kb
34
34 Скачать (1 SM) Купить за 1 850 руб.

Здравствуйте. Нам всегда в жизни не нравятся какие-либо ограничения.  Они бывают как полезные для нас же самих, так и не очень, а так же нейтральные, вроде есть... ну и есть. Некоторые с этими ограничениями борятся, некоторые живут, есть те, кто как-то их старается обойти. Здесь сложно судить, правильно это или нет, давать оценки лицензионному соглашению с 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 (переработана) и получение структуры из адреса сайта (оригинал). В коде модуля так же есть ссылка.

См. также

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

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

12000 руб.

02.09.2020    172086    964    403    

924

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14658    109    46    

108

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

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

22200 руб.

06.10.2023    17345    43    15    

75

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    27370    96    48    

138

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

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

15000 руб.

10.11.2023    11957    45    33    

67

SALE! %

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

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

4800 3840 руб.

14.01.2013    191344    1153    0    

920

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18117    7    32    

42

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1153    2    0    

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

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

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

Вот это и будет Полноценная доработка по ведению своей конфигурации по верх стандартной, не портя конфу.
16. samamoiloff 862 21.11.12 18:52 Сейчас в теме
А кто-ть в модели сервиса пробовал с ДЛЛ работать, у меня такого опыта нету. Ни модели, ни сервиса... :)
Может полноценный костыль и не нужен?
17. Stety 153 22.11.12 01:29 Сейчас в теме
Базовые конфы покупают, как правило, в видах жесткой экономии. Раз так, хороших денег за "навесные" доработки такие заказчики платить как правило тоже не могут. Выходит, что такого рода расширение имеет смысл, если оно как бы тиражное. То есть, если это какие-то лжеСправочники, нужные многим клиентам.
В общем, штука технологически интересная по-своему, хотя и ограниченная. Но вряд ли для нее широкая область применения найдется.
19. samamoiloff 862 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 862 05.01.13 12:21 Сейчас в теме
(20) Все правильно пишете. Поэтому и приставка такая: "лже". Чтобы осознавать, что это всего лишь костыль. А костыль - он и в Африке костыль, как его с ногой не сравнивай. Но иногда костыли приходится использовать. Я предлагаю такой вот, дубовый... :)
22. samamoiloff 862 05.01.13 12:32 Сейчас в теме
P.S. Я никого ведь не заставляю и ни к чему не обязываю. В процессе работы нет иногда другого варианта, как элемент выбора я его привожу здесь. Любой в праве выбрать или предложить свой.
Утверждать, что костыль - это деревянное приспособление, помогающее ходить при повреждениях ног, а потом оспаривать это утверждение, что бывают и железные костыли, доказывать, что без костылей тоже можно передвигаться... Зачем это? Это и так понятно. Нет?
Возможно текст публикации к этому подталкивает... как бы реклама, вызывает протест... надо будет пересмотреть.
Оставьте свое сообщение