Модель объекта

Публикация № 1085538

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

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

Назначение подсистемы

Подсистема решает следующие задачи:

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

Состав подсистемы

  • ОбщийМодуль.РаботаСМоделямиГлобальный
    • процедуры области Интерфейс_Внешний предназначены для вызова из любого места основного приложения
    • процедуры области Интерфейс_Модель предназначены для вызова из модуля модели

Внедрение подсистемы

Для описания зависимостей используются следующие объекты метаданных

  • Модуль модели - общий модуль имеющий следующий формат имени: Модуль_<тип объекта метаданных>_<вид объекта метаданных>, у которого установлены флаги Клиент (управляемое приложение), Сервер, ВнешнееСоединение и Клиент (обычное приложение). В комментарии общего модуля можно указать опции. В модуле модели должны быть определены следующие процедуры:
#Область Интерфейс_МодульМодели
Процедура ПриВыполненииОбработчиков(КонтекстИзменений) Экспорт
КонецПроцедуры

Процедура ПриВыполненииОбработчиковСтроки(КонтекстИзменений, ДанныеСтроки) Экспорт
КонецПроцедуры
#КонецОбласти
  • Модуль формы прикладного объекта. В формы прикладного объекта, который будет использовать подсистему должен быть добавлен следующий фрагмент кода
#Область Интерфейс_МодульМодели
&НаКлиенте
Функция Модель_ОбработатьДействия(КонтекстИзменений) Экспорт
	Возврат Модель_ОбработатьДействияСервер(КонтекстИзменений);
КонецФункции

&НаСервере
Функция Модель_ОбработатьДействияСервер(КонтекстИзменений)
	Возврат глМодель_ОбработатьДействия(КонтекстИзменений, ЭтаФорма);
КонецФункции
#КонецОбласти

Также, перед первым использованием модели в форме необходимо сделать вызов процедуры глМодель_ПриЧтенииСозданииНаСервер

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
		глМодель_ПриЧтенииСозданииНаСервере(ЭтаФорма, Параметры.ОбъектКопирования);
	КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
	глМодель_ПриЧтенииСозданииНаСервере(ЭтаФорма, ТекущийОбъект);
КонецПроцедуры

либо, если если используется процедура ПриЧтенииСозданииНаСервере

&НаСервере
Процедура ПриЧтенииСозданииНаСервере(ОбъектСсылка)
	глМодель_ПриЧтенииСозданииНаСервере(ЭтаФорма, ОбъектСсылка);
КонецПроцедуры

Основные элементы подсистемы

  • Обработчики. Фрагменты кода на встроенном языке в модуле модели, в которых одновременно декларируется и зависимости и реализация
  • Действия. Процедуры, описания и зависимости который выполняется в модуле модели, а реализация в модуле менеджера.
  • Дополнительные реквизиты. Реквизиты, которые используются для удобного манипулирования данными объекта, но которые не могут быть напрямую связаны с данными объекта
  • Свойства. Правила заполнения дополнительных реквизитов объекта, которые не сохраняются при записи объекта, а вычисляются при каждом использовании. Их описание и зависимости выполняется в модуле модели, а реализация в модуле менеджера
  • Виртуальные реквизиты. Реквизиты, которые никак не связаны с данными, но могут инициировать выполнение обработчиков

Обработчики

Зависимость между реквизитами шапки объекта описывается добавлением в процедуру ПриВыполненииОбработчиков модуля модели следующего фрагмента кода:

Если глМодель_ВыполнятьОбработчик(КонтекстИзменений, <результирующие поля>, <исходные поля>) Тогда
  <реализация обработчика>
КонецЕсли;

Зависимость меду реквизитами табличной части объекта добавлением в процедуру ПриВыполненииОбработчиковСтроки модуля модели следующего фрагмента кода:

Если глМодель_ВыполнятьОбработчикСтроки(КонтекстИзменений, ДанныеСтроки, <результирующие поля>, <исходные поля>) Тогда
  <реализация обработчика>
КонецЕсли;

<результирующие поля> - строка со списоком реквизитов разделенных запятыми, которые изменяются при изменении зависимых полей <исходные поля> - строка со списком реквизитов и свойств разделенных запятыми, от которых зависят результирующие поля. свойства указываются в квадратных скобках - [Свойство1],[Свойство2] и т.п.

Например для определения зависимостей Сумма = Количество * Цена и Цена = Сумма / Количество для строки табличной части необходимо добавить следующий фрагмент:

Если глМодель_ВыполнятьОбработчикСтроки(КонтекстИзменений, ДанныеСтроки, "Сумма", "Количество,Цена") Тогда
	ДанныеСтроки.Сумма = ДанныеСтроки.Количество * ДанныеСтроки.Цена;
КонецЕсли;
Если глМодель_ВыполнятьОбработчикСтроки(КонтекстИзменений, ДанныеСтроки, "Цена", "Сумма,Количество") Тогда
	ДанныеСтроки.Цена = ДанныеСтроки.Сумма / ДанныеСтроки.Количество;
КонецЕсли;

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

Выполнятся обработчики будут в порядке разрешения зависимостей. Если разрешить зависимости не удасться, будет выдано сообщение об ошибке со списоком реквизитов необработанных зависимостей

Действия

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

Для реквизитов шапки обработчик описывается добавлением в процедуре ПриВыполненииОбработчиков следующего фрагмента кода:

глМодель_ВыполнятьДействие(КонтекстИзменений, <имя действия>, <исходные реквизиты>);

Для реквизитов табличной части обработчик описывается добавлением в процедуре ПриВыполненииОбработчиковСтроки следующего фрагмента кода:

глМодель_ВыполнятьДействиеСтроки(КонтекстИзменений, ДанныеСтроки, <имя действия>, <исходные реквизиты>);

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

Если глМодель_ВыполнятьДействие(КонтекстИзменений, "ОбновитьИтог", "Товары") Тогда
	глМодель_УстановитьПараметрДействия(КонтекстИзменений, "ИмяТаблицы", "Товары");
КонецЕсли;

 

Дополнительные реквизиты

Для использования дополнительных реквизитов требуется для модели установить опцию Реквизиты. После этого в модуле менеджера необходимо описать структуру дополнительных реквизитов

Процедура Модель_ПриИнициализации(КонтекстИзменений) Экспорт
	КонтекстТаблицы = глМодель_ДобавитьРеквизит(КонтекстИзменений, "НоменклатураДляПроверки", Новый ОписаниеТипов("ТаблицаЗначений"));
	глМодель_ДобавитьРеквизит(КонтекстТаблицы, "Пометка", Новый ОписаниеТипов("Булево"));
	глМодель_ДобавитьРеквизит(КонтекстТаблицы, "Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
КонецПроцедуры

По умолчанию дополнительные реквизиты создаются без необходимости хранения. Если при создании дополнительного реквизита указан способ хранения "вместе с объектом", необходимо в модуле менеджера реализовать функционал чтения и записи

Процедура Модель_ПриЧтении(КонтекстИзменений, ОбъектСсылка, ПослеЗаписи) Экспорт
КонецПроцедуры

Процедура Модель_ПередЗаписью(КонтекстИзменений, Объект) Экспорт
КонецПроцедуры

при этом в модуль формы объекта, который использует модель, необходимо добавить

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	глМодель_ПередЗаписьюНаСервере(ЭтаФорма, ТекущийОбъект);
КонецПроцедуры

Если при создании дополнительного реквизита указан способ хранения "отдельно от объекта", необходимо в модуле менеджера реализовать функционал чтения и записи

Процедура Модель_ПриЧтении(КонтекстИзменений, ОбъектСсылка, ПослеЗаписи) Экспорт
КонецПроцедуры

Процедура Модель_ПриЗаписи(КонтекстИзменений, Ссылка) Экспорт
КонецПроцедуры

при этом в модуль формы объекта, который использует модель, необходимо добавить

&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	глМодель_ПриЗаписиНаСервере(ТекущийОбъект);
КонецПроцедуры

Если модель содержит дополнительные реквизиты табличных частей, которые должны повторно считываться после записи объекта, в модуль формы необходимо добавить

&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
	глМодель_ПослеЗаписиНаСервере(ЭтаФорма, ТекущийОбъект);
КонецПроцедуры

Свойства

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

Для использования свойств объекта для модели требуется установить опцию Свойства, а в модуле менеджера должна быть определена процедура, в которой реализуется заполнение свойств

Процедура Модель_ПриУстановкеСвойств(КонтекстИзменений, ИменаСвойств) Экспорт
КонецПроцедуры

Свойство шапки описывается добавлением в процедуру ПриВыполненииОбработчиков модуля модели следующего фрагмента кода:

глМодель_ОбновлятьСвойства(КонтекстИзменений, <имена свойств>, <исходные поля>);

Для использования свойств строки объекта для модели требуется установить опцию СвойстваСтроки, а в модуле менеджера прикладного объекта должна быть определена процедура, в которой реализуется заполнение свойств

Процедура Модель_ПриУстановкеСвойствСтроки(КонтекстИзменений, ДанныеСтроки, ИменаСвойств) Экспорт
КонецПроцедуры

Свойства табличной части описываются добавлением в процедуру ПриВыполненииОбработчиковСтроки следующего фрагмента кода

глМодель_ОбновлятьСвойстваСтроки(КонтекстИзменений, ДанныеСтроки, <имена свойств>, <исходные поля>);

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

Если модель содержит свойства табличных частей, которые должны повторно вычисляться после записи объекта, в модуль формы необходимо добавить

&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
	глМодель_ПослеЗаписиНаСервере(ЭтаФорма, ТекущийОбъект);
КонецПроцедуры

 

Виртуальные реквизиты

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

 
Если глМодель_ВыполнятьОбработчикСтроки(КонтекстИзменений, ДанныеСтроки, "Поставщик", "Номенклатура,{Склад}") Тогда
	ДанныеСтроки.Поставщик = ПолучитьПоставщика(ДанныеСтроки.Номенклатура, глМодель_Данные(КонтекстИзменений).Склад);
КонецЕсли;

Соответственно в исходном обработчике достаточно зарегистрировать изменение виртуального реквизита

Если глМодель_ВыполнятьОбработчик(КонтекстИзменений, "Склад") Тогда
	Для Каждого СтрокаТаблицы Из глМодель_Данные(КонтекстИзменений).Товары Цикл
		глМодель_ПриИзмененииРеквизитовСтроки(КонтекстИзменений, СтрокаТаблицы, "{Склад}"
	КонецЦикла
КонецЕсли;

 

Использование подсистемы

Интерактивная работа в управляемой форме

Во все обработчики изменения реквизитов элементов формы, которые влияют на данные должен быть добавлен следующий вызов:

глМодель_ПриИзмененииРеквизитов(ЭтаФорма, Элемент.Имя);

или

глМодель_ПриИзмененииРеквизитовСтроки(ЭтаФорма, глМодель_ТекущиеДанные(Элемент), глМодель_ИмяРеквизита(Элемент));

Для табличной части необходимо также указывать обработчики ПриОконченииРедактирования и ПослеУдаления, например

&НаКлиенте
Процедура ТоварыПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
	Если РедактированиеСтрокиОтменено(Элемент, НоваяСтрока, ОтменаРедактирования) Тогда
		Возврат;
	КонецЕсли;
	
	глМодель_ПриИзмененииРеквизитов(ЭтаФорма, Элемент.Имя, СтруктураТекущиеЗначения, Элемент.ТекущиеДанные);
КонецПроцедуры

&НаКлиенте
Процедура ТоварыПослеУдаления(Элемент)
	глМодель_ПриИзмененииРеквизитов(ЭтаФорма, Элемент.Имя, СтруктураТекущиеЗначения);
КонецПроцедуры

Пакетный режим изменений

Если при работе с моделью объекта предполагаются множественные изменения, рекомендуется вызвать процедуру начала работы с объектом, а при завершении работы вызвать процедуру окончения работы Для использовании модели при работе с прикладным объектом следует придерживаться следующих правил:

  • Изменять значения реквизитов с помощью вызова функций модели.
  • Изменять все известные реквизиты за один вызов, вместо того, чтобы изменять их по отдельности. Это позволит избежать выполнения лишних обработчиков и действий
ДокументОбъект = глМодель_НачатьИзменения(Документы.Приход.СоздатьДокумент());
	
РеквизитыШапки = Новый Структура;
РеквизитыШапки.Вставить("Дата", ТекущаяДата());
глМодель_ИзменитьРеквизиты(ДокументОбъект, РеквизитыШапки);
	
РеквизитыСтроки = Новый Структура("Номенклатура,Количество");
Для Каждого СтрокаТаблицы Из Объект.Товары Цикл
	ЗаполнитьЗначенияСвойств(РеквизитыСтроки, СтрокаТаблицы);
	
	НоваяСтрока = ДокументОбъект.Товары.Добавить();
	глМодель_ИзменитьРеквизитыСтроки(ДокументОбъект, НоваяСтрока, РеквизитыСтроки);
КонецЦикла;
	
глМодель_ЗавершитьИзмененияИЗаписать(ДокументОбъект);

 

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

Наименование Файл Версия Размер
Модель объекта. Версия от 14.04.2020

.cf 48,09Kb
15.04.20
1
.cf 48,09Kb 1 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Evil Beaver 6831 13.01.20 09:31 Сейчас в теме
Мне кажется, это нечто интересное, но я не понял что это. Можете привести прикладной пример использования? Для чего некий "я" мог бы это скачать и использовать? В какой задаче?
3. vadim1980 107 13.01.20 11:20 Сейчас в теме
(1) Например в конфигурации на базе ERP 2 от компании 1С при любом изменении реквизитов составляется упорядоченный список действий, которые должны выполняться после изменения. Данная разработка позволяет инкапсулировать все эти зависимости в отдельном модуле, изменять реквизиты объекта с помощью отдельных методов и все зависимые реквизиты будут изменяться автоматически.
Внутри разработки есть пример использования.
5. vadim1980 107 17.04.20 14:39 Сейчас в теме
(1) Написал развернутый ответ по вашему вопросу
https://infostart.ru/public/1225391/
4. Светлый ум 260 04.02.20 09:35 Сейчас в теме
Код открыт - расписали хорошо +1
(не хватает картинок того что на выходе)
Оставьте свое сообщение

См. также

Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих) Промо

Инструментарий разработчика Универсальные обработки v8 1cv8.cf Абонемент ($m)

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

2 стартмани

06.10.2014    149432    1987    ekaruk    165    

Конвертация данных 3 расширение: Редактор кода.

Инструментарий разработчика Адаптация типовых решений v8 КД Россия Абонемент ($m)

Расширение для конфигурации “Конвертация данных 3.0” добавляет на все формы, где используется код языка 1С, консоль кода для управляемых форм. В результате работать с кодом в пользовательском режиме становится намного удобнее - появляется привычная расцветка кода, а также контекстная подсказка.

1 стартмани

08.09.2020    3779    12    Viktor_Ermakov    18    

А1Э - альтернативная стандартная библиотека для 1С

Инструментарий разработчика v8 Абонемент ($m)

Предлагаю широкой общественности расширение А1Э, используемое в нескольких продуктивных базах для выполнения широкого круга задач.

14.08.2020    6532    3    Enigma    45    

Консоль кода для управляемых форм

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Консоль кода для управляемых форма с подсказками и подсветкой синтаксиса.

1 стартмани

17.07.2020    10907    183    salexdv    200    

Навигатор по конфигурации базы 1С 8.3 Промо

Инструментарий разработчика Универсальные обработки v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Платформа 8.3, управляемые формы. Версия 1.1.0.69 от 27.09.2020

3 стартмани

28.10.2018    33227    294    ROL32    69    

Управление сложностью при доработке типовых конфигураций

Адаптация типовых решений v8 Бесплатно (free)

Описан пример доработки типовой конфигурации 1С:ERP Управление предприятием с помощью подсистемы Модель объекта.

17.04.2020    1788    vadim1980    0    

Управление состоянием для шаблона MVC и работы с данными объекта

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

18.03.2020    3475    kalyaka    33    

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

Консоль запросов v8 v8::Запросы 1cv8.cf Абонемент ($m)

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

1 стартмани

24.02.2020    11028    231    kuza2000    124    

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо

Универсальные функции Инструментарий разработчика Учет ТМЦ Учет ТМЦ v8 1cv8.cf Россия БУ Абонемент ($m)

Расширение позволяет без изменений конфигурации проверять остатки по регистру бухгалтерии при проведении каждого документа и запрещает проведение при появлении отрицательных остатков после проведения.

1 стартмани

17.08.2015    46671    156    ekaruk    32    

Помощник работы с идентификаторами объектов

Прочие инструменты разработчика Поиск данных v8 1cv8.cf Абонемент ($m)

Инструмент для расширенного анализа идентификаторов объектов.

2 стартмани

24.01.2020    8599    30    YPermitin    29    

Инструменты оптимизации для 1С на MS SQL Server

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Набор базовых инструментов для поиска узких мест в работе 1С на MS SQL Server.

1 стартмани

15.12.2019    16150    202    berezdetsky    23    

CF & SQL : конструктор прямых запросов к БД 1С

Инструментарий разработчика Администрирование СУБД v8 1cv8.cf Россия Абонемент ($m)

Программа для чтения и анализа внутренней структуры данных 1С V8.х, Содержит конструктор прямых SQL запросов, позволяет обрабатывать и редактировать тексты SQL-запросов, выполнять прямые запросы к базе данных 1С и обрабатывать полученные результаты.

1 стартмани

02.10.2019    18535    198    dmitrydemenew    45    

Faster - многофункциональный ускоритель работы программиста 1С и других языков программирования Промо

Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Программа Faster 9.4 позволяет ускорить процесс работы программиста (работает в любом текстовом редакторе). Подсказка при вводе текста на основе ранее введенного текста и настроенных шаблонов. Программа Faster позволяет делится кодом с другими программистами в два клика или передать ссылку через QR Код. Исправление введенных фраз двойным Shift (с помощью speller.yandex). Переводчик текста. Переворачивает текст случайно набранный на другой раскладке. Полезная утилита для тех, кто печатает много однотипного текста, кодирует в среде Windows на разных языках программирования. Через некоторое время работы с программой у вас соберется своя база часто используемых словосочетаний и кусков кода. Настройка любых шорткатов под себя с помощью скриптов. Никаких установок и лицензий, все бесплатно.

1 стартмани

24.05.2012    77469    212    moolex    147    

Конвейер проверки качества кода

Инструментарий разработчика Практика программирования Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    23597    22    Stepa86    45    

Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD

Инструментарий разработчика Jenkins v8 Абонемент ($m)

Вы все еще тестируете свои конфигурации 1С вручную? Да вы просто тратите жизнь впустую! В данном туториале попробуем скрестить ADD и jenkins для автоматического запуска тестов.

1 стартмани

03.06.2019    23784    5    ripreal1    89    

Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Практический кейс построения HTTP-сервиса, который работает по принципу HTTP-сервера, с разбором всех методов построения и разработки класса задач построения личных кабинетов и сопряжения их с центральной базой.

1 стартмани

13.05.2019    28845    126    Diversus    42    

Консоль запросов + ТЗ как параметры Промо

Консоль запросов v8 1cv8.cf Украина Абонемент ($m)

Стандартная консоль запросов, с добавленной возможностью использования описания/заполнения/использования таблиц значений как параметров. Совместима с настройками базовой консоли. Упрощает отладку запросов, использующих временные таблицы.

2 стартмани

12.11.2010    34869    61    Kashemir    24    

Групповая проверка доработок

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка для массовой проверки доработок конфигурации: Открытие форм, Печать, Формирование отчетов, Проведение документов, Запись справочников, ПВХ, ПВР. Выдает список обнаруженных ошибок. Рекомендуется применять для тестирования обновленной конфигурации, перед установкой пользователям. В коде используются универсальные методы поэтому подходит для большинства конфигураций, построенных на базе библиотеки стандартных подсистем. Проверялась на Зарплата и управление персоналом КОРП 3.1.8.216, Управление торговлей 11, 1С:ERP Управление предприятием 2.4.7.141, Бухгалтерия предприятия КОРП 3.0.68.66.

2 стартмани

05.05.2019    14810    99    sapervodichka    23    

Расширение "Быстрая проверка кода" для конфигурации 1С:Автоматизированная проверка конфигураций

Инструментарий разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Расширение для конфигурации "1С:Автоматизированная проверка конфигураций", позволяющее проверять произвольный код.

1 стартмани

26.03.2019    18753    59    Bazil    27    

Настройка отладки на сервере 1С

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Обработка для настройки отладки на сервере, включение отладки COM-соединений и отладки Web-сервисов.

1 стартмани

26.03.2019    25053    97    frkbvfnjh    38    

[x1c.ru] 1CDBin: Работа с файлами *.1CD на низком уровне средствами языка 1С с возможностью чтения таблиц (поддерживается формат 8.3.8.0) Промо

Тестирование и исправление Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Обработка позволяет просматривать файловые базы 1CD на низком уровне средствами встроенного языка. Реализована часть функциональности Tool_1CD, но на языке 1С Предприятия. Показываются таблицы, параметры таблиц, поля таблиц, записи таблиц, значения полей BLOB, есть 16-ричный просмотр страниц базы и консоль кода. Можно использовать для изучения структуры файлов 1CD, просмотра баз 1CD для выявления повреждений, создания своих обработок для выгрузки данных без открытия исследуемой базы в 1С:Предприятии.

1 стартмани

07.10.2014    52275    209    GusevNA    75    

Методика оптимизации программного кода 1С: проведение документов

Обработка документов Производительность и оптимизация (HighLoad) Инструментарий разработчика v8 v8::УФ Абонемент ($m)

Описание простого метода анализа производительности программного кода 1С, способов его оптимизации и оценки результатов в виде числовых показателей прироста производительности. Не требует сторонних программных продуктов, используются только типовые возможности платформ 1С. Методика проверена на линейке платформ начиная с 1С:Предприятие 8.2 (обычные формы, управляемые формы). Позволяет ускорить проведение проблемных документов в 3 и более раз, провести проверку корректности формирования проводок оптимизированным кодом и подтвердить результаты оптимизации реальными замерами производительности в режиме предприятия. К публикации приложены демонстрационные базы для режимов обычного и управляемого приложения на платформе 1С:Предприятие 8.3 (8.3.9.2033).

1 стартмани

19.03.2019    23894    18    dmitrydemenew    83    

Инструктор. Прототип инструмента создания быстрых пользовательских инструкций

Пользователю системы Инструментарий разработчика v8 v8::УФ Россия Абонемент ($m)

Прототип дружелюбного и эффективного инструмента для написания пользовательских экспресс-инструкций. Задействована штатная утилита Windows, о существовании которой многие не знают и которая умеет делать огромную работу по логированию действий и снятию скриншотов на всех ПК с Windows (начиная с версии Win7). "Инструктор" не требует никакой установки и дополнительных библиотек! Это означает, что инструмент будет работать и на домашнем ПК и на "чужом ноутбуке" и на терминальном win-сервере у заказчика, где ваши права сильно ограничены. Вы просто подключаете легкую файловую базу 1С и получаете инструмент по снятию скриншотов с интересной функциональностью...

1 стартмани

15.02.2019    12844    42    ROM_NN    8    

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)

Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ v8 v8::Mobile БУ УУ Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    43650    247    informa1555    232    

Разбираемся со структурой правил конвертации данных Промо

Инструментарий разработчика v8 КД Абонемент ($m)

При переносе данных между различающимися данными частенько приходится смотреть в правила. И часто, чтобы выяснить, к примеру, каким документом формируются остатки по конкретному ПВД, нужно заглядывать в него и искать, какое ПКО в нем вызывается. А может вызываться и алгоритм, в котором вызывается ПКО ;-) А если правил много? Чтобы не мучить себя утомительными поисками, предлагаю воспользоваться этой обработкой.

1 стартмани

14.10.2011    22295    29    Meta    17    

Управление задачами в 1С - готовая подсистема с открытым кодом и широким базовым функционалом. Версия 1.0.6

Инструментарий разработчика Управление бизнес-процессами (BPM) Управление проектом v8 Абонемент ($m)

Конфигурация-подсистема для управления задачами с базовым функционалом, который, однако, может удовлетворить довольно широкий спектр запросов. Есть статусы и приоритеты, учёт трудозатрат по исполнителям и даже базовые разграничения по правам. А открытый исходный код позволит на базе данной конфигурации развить систему до любого уровня сложности.

2 стартмани

17.12.2018    19635    99    for_sale    38    

Рисуем диаграммы в metadata.js

Инструментарий разработчика Работа с интерфейсом v8 v8::СКД 1cv8.cf Абонемент ($m)

Не одной же литературой заниматься?

1 стартмани

20.09.2018    16465    3    1c-intelligence    77    

Пользовательское определение языка 1С для Notepad++ и пример использования списка функций для навигации под свои нужды

Инструментарий разработчика v8 Абонемент ($m)

Позволяет редактировать bsl-модули (или просто текст из буфера обмена, как на скриншоте) с традиционной для 1С подсветкой синтаксиса. Рисует список функций слева в 3-х вариантах: 1. Просто список функций 2. Список функций с группировкой по областям 3. Список вызовов 4. Язык запросов

1 стартмани

10.09.2018    11311    48    albert.goncharov    23    

Интерфейс сопоставления объектов для обмена (для типового регистра СоответствиеОбъектовДляОбмена) Промо

Инструментарий разработчика Универсальные обработки Перенос данных из 1C8 в 1C8 v8 КА1 БП2.0 ЗУП2.5 УТ10 УПП1 Абонемент ($m)

Вы внедряете обмен данными между двумя типовыми или основанными на типовых БД и вам необходим инструмент, чтобы сопоставить между собой справочники этих конфигураций? Вы хотите навести порядок в обмене данными, потому что вам надоело вылавливать дублирующиеся объекты? Вам очень хочется перепоручить сопоставление объектов обменивающихся баз пользователям, но нет подходящего и понятного пользователям интерфейса? Тогда вам нужна именно эта обработка!

4 стартмани

11.11.2015    39002    134    catsam    8    

Консоль Внедренца v.3.6.2 (vnedr.cf)

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Идея данной обработки заключается в создании простого, функционального и универсального инструментария для внедренцев и программистов 1С, который будет работать как в толстом клиенте на обычных и на управляемых формах, так и в тонком клиенте. Интерфейс и логика работы максимально идентичны у обычных форм и управляемых. Инструментарий включает в себя: Консоль кода, Консоль запросов, Консоль отчетов (СКД), Универсальную обработку объектов, Средства для работы с таблицами базы данных 1С, Редактирование регистров сведений базы, Инструмент по работе с табличными документами - загрузка данных из табличного документа.

1 стартмани

27.08.2018    21120    354    evvakra    42    

HTTP Сервисы: Путь к своему сервису. Часть 3

Инструментарий разработчика Практика программирования v8 1cv8.cf Абонемент ($m)

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

1 стартмани

27.08.2018    35692    54    dsdred    15    

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

Инструментарий разработчика Практика программирования v8 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    27370    26    informa1555    26    

Exec - Выполнение кода, консоль запросов и не только! Промо

Консоль запросов v8 1cv8.cf Абонемент ($m)

Незаменимый инструмент администратора БД и программиста: Выполняйте произвольный код из режима 1С Предприятие; сохраняйте/загружайте часто используемые скрипты; выполняйте запросы с замером производительности запроса в целом и каждой из временных таблиц в частности, а также с просмотром содержимого временных таблиц; произвольным образом изменяйте любые объекты БД, редактируя даже не вынесенные на формы реквизиты и записывая изменения в режиме "ОбменДанными.Загрузка = Истина"; легко узнавайте ИД объектов БД; выполняйте прямые запросы к SQL с замером производительности и не только!

5 стартмани

10.11.2015    40620    75    catsam    11    

Сборка приложения, разработанного на EDT, с помощью gitlab-ci

EDT v8 Абонемент ($m)

В статье описан пример сборки .cf файла при помощи штатных средств EDT, Конфигуратор.

1 стартмани

29.05.2018    12533    3    fenixnow    26    

Консоль HTTP-запросов с генерацией кода

Консоль запросов v8 v8::УФ 1cv8.cf Абонемент ($m)

Консоль HTTP-запросов, которая не только выполняет запросы и получает результат их выполнения, но и генерирует необходимый код. Использую на 8.3.11.2899.

1 стартмани

25.05.2018    23856    271    leongl    16    

Регистры правил [Расширение]

Инструментарий разработчика Информационная безопасность v8 v8::Права УТ11 Абонемент ($m)

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    17507    9    33lab    1    

КонЗап - консоль запросов с улучшенным интерфейсом и дополнительными функциями Промо

Консоль запросов v8 1cv8.cf Абонемент ($m)

Консоль запросов (Платформа 8.х режим - обычное приложение) с улучшенным интерфейсом и дополнительными функциями (загрузка параметров запроса из файла, работа с временными таблицами, замер времени выполнения, групповая обработка результатов запроса). Часть функций позаимствованы из других обработок, часть разработаны "с нуля".

1 стартмани

16.07.2014    14790    23    serjpsv    18    

Тестирование интерфейса в обычном приложении 8.2 при помощи SikuliX

Инструментарий разработчика Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Как же не хватает клиента тестирования на платформе 8.2. Не кликнешь на кнопку, не выберешь из списка, не проверишь видит ли надпись пользователь. Воспользуемся внешним инструментом SikuliX, который позволит нам протестировать функционал форм. Данный инструмент легко встраивается в линию сборки и может "дружить" с уже известным многим Open-source продуктами.

1 стартмани

03.01.2018    28970    5    kraynev-navi    41    

Программное формирование форматированной строки в стиле html+inline CSS

Работа с интерфейсом Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    31020    33    bonv    10    

Макет в СКД - пример всех возможных типовых вариантов

Практика программирования Инструментарий разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

Макет СКД: наглядное представление того, что, как и куда выводится при типовых настройках.

1 стартмани

09.11.2017    21276    76    freelancer    4    

Заполнение шаблона Word на сервере, без использования MS Office (docx -> zip -> xml). Предусмотрен вывод табличных частей

Универсальные печатные формы Инструментарий разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Шаблон в Word, управляемые формы. Создание заполнение документа Word (docx -> zip -> xml) по шаблону на сервере без использования MS Office. Предусмотрен вывод табличных частей.

2 стартмани

04.10.2017    26506    184    artms    35    

Тестирование: пример из семи шагов создания Unit-теста для платформы 1С

Инструментарий разработчика v8 ERP2 УТ11 Абонемент ($m)

В этой статье мы расскажем, как создать Unit-тест. Опишем как это сделать с использованием Фреймворка xUnitFor1C. Рассмотрим пример максимально приближенный к боевому, покажем процесс отладки теста, поделимся советами и приложим несколько обработок-примеров. Вы сможете убедиться, что создание тестов на самом деле это относительно быстрый и простой процесс.

1 стартмани

29.08.2017    30120    16    ivanov660    46    

"Исследователь" планировщика 1С

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

10.08.2017    30208    129    new_user    33    

Трансформатор 1С - SQL

Инструментарий разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка для представления SQL запросов в терминах 1С, с возможностью захвата SQL запросов трассировкой.  Поддерживается также форматирование текста запроса через интернет сервис. Работает в управляемых и обычных формах, в том числе на веб-клиенте.

1 стартмани

28.06.2017    34926    344    Synoecium    49    

OneStyle. Улучшенное форматирование кода в конфигураторе

Инструментарий разработчика v8 Абонемент ($m)

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

1 стартмани

19.06.2017    23281    23    Stepa86    45    

"Конвертация данных" + Git. Решение проблемы различий в файлах

Инструментарий разработчика Обмен через XML v8 КД Абонемент ($m)

Как известно, типовая конфигурация «Конвертация данных» обладает одним недостатком, мешающим работать с ней в Git-е. Если выгруженные из нее правила обмена загрузить в другую КД, а потом снова выгрузить, то полученные два файла будут очень сильно отличаться друг от друга, и при сравнении (diff) доработок будет невозможно провести код-ревью, равно как найти сами изменения, которые закоммитил разработчик.

1 стартмани

08.06.2017    24648    39    stas_ganiev    13    

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения

Инструментарий разработчика Универсальные функции v8 v8::УФ 1cv8.cf Абонемент ($m)

Шаблон внешней обработки призван упростить программисту процесс реализации внешнего регламентного задания. Пригоден к использованию во всех конфигурациях на управляемых формах, в которых присутствует подсистема "Дополнительные отчеты и обработки" из состава библиотеки стандартных подсистем (БСП) версии 2.1 и выше.

1 стартмани

28.05.2017    25360    179    Bassgood    10    

Набор подсистем "Умные таблицы"

Инструментарий разработчика v8 Беларусь Россия Казахстан Абонемент ($m)

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    32664    96    Silenser    34    

Распознавание лиц в 1С - забавная штука

Инструментарий разработчика Практика программирования v8 Абонемент ($m)

Распознавание лиц в 1С на основе OpenFace

1 стартмани

11.04.2017    14769    42    nano1c    34