Проект Утопия

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

Разработка - Практика программирования

модуль универсальные доработки конфигурации дополнительные возможности

В настоящей публикации представлен авторский проект универсальных подсистем для платформы 1С. Основная концепция проекта заключается в создании универсального программного комплекса, который легко встраивается в любую конфигурацию. Легкость встраивания достигается минимальностью добавляемых объектов конфигурации. Компактный набор добавляемых объектов позволяет получить расширенные возможности для использования программы пользователями, а также получить удобные инструменты для программирования. Есть определенный опыт доработок большого числа конфигураций, а также есть опыт работы в командных проектах с разными философиями/подходами к внесению изменений. Поэтому настоящий проект – это конгломерат идей за 14 лет самостоятельной работы. Попытка сохранить прошлые и текущие программные конструкции (Эрмитаж идей). Возможно, кому-то покажется неоптимальным по некоторым параметрам, но упор здесь именно на универсальность, может быть, немного в ущерб быстродействию. Проект нестандартный, постоянно развивающийся. Рассмотрим только идею и основные принципы.

 

Создание проекта

Начнем с доработок типовых конфигураций 1C. Очень часто программисты пишут одни и те же функции при доработке разных конфигураций. Универсальные функции можно выделить почти из любой разработки. И чем больше доработка, тем больше таких общих функций. Универсальные функции можно объединить в универсальный модуль, который будет дополняться новыми функциями в дальнейшем, а старые функции при необходимости будут дорабатываться с сохранением изначального функционала (например, расширение функций путем добавления необязательных параметров). Этот модуль удобно копировать в новые конфигурации или обновлять в старых. Это позволяет за минимальное время получить набор проверенных (выстраданных/отлаженных) функций, с которыми разработчик знает, как работать. Так начался данный проект.

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

При доработках конфигураций 1С часто возникает необходимость сохранить разные параметры/настройки в базе, чтобы использовать их в дальнейшем. Например, ссылки на справочники/документы, логины, пароли, текущие состояния счетчиков. Часто программисты привязываются к кодам или наименованиям справочников, что не является надежным способом, т.к. эти данные могут меняться. К сожалению, в 1С нет универсального хранилища данных. Поэтому приходится обращаться к метаданным, если требуется сохранение данных для последующей работы. Справочники, документы, регистры и другие объекты метаданных жестко определены конфигурацией. Есть, конечно, хранилище настроек, но по нему нельзя осуществлять поиск, и его нельзя экспортировать в другую конфигурацию. Поэтому добавление метаданных – это суровая необходимость, но можно минимизировать эти «вливания».

Набор добавляемых объектов

Мы берем произвольную конфигурацию 1С на обычных формах и добавляем наши объекты. Будем считать, что конфигурация типовая, постоянно обновляемая. Для визуального определения и группировки в названия объектов добавлен префикс «_», чтобы при лексико-графическом упорядочивании наши объекты стали первыми в списке. Также имена универсальных модулей сокращены, чтобы не перегружать выражения, в которых они используются.

Далее будет перечислен минимальный набор добавляемых объектов. Минимальность понимается в том смысле, что без этих объектов не обойтись, не теряя функциональность/производительность.

  1.  Виртуальный справочник _Элементы
  2.  Регистр сведений _Параметры
  3.  Общие модули (_ГМ, _ГМС, _ДМ, _ДМС, _ДМПП, _ДМПИ, _ЛМ).
  4.  Подписки

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

 

1 уро1 уровень абстракции – добавляем модуль _ГМ, можно использовать динамическое обновление.

2 уровень абстракции – добавляем 1 объект метаданных: регистр _Параметры, когда появляется необходимость хранить данные.

3 уровень абстракции – определен виртуальный справочник, есть модули повторного использования.

4 уровень абстракции – связующее звено и индивидуальные доработки текущей конфигурации. Модуль _ЛМ содержит заранее определенные функции, которые описывают особенности текущей конфигурации.

Расширения проекта Утопия – дополнительные специфические проекты, для которых нужны добавочные метаданные.

Интеграция в разные конфигурации

Рассмотрим интеграцию проекта в разные конфигурации. Добавляются объекты 1-3 уровня абстракции. Индивидуальные особенности и доработки (локальные изменения) конфигурации записываются отдельно, в модуль _ЛМ.

Модуль _ЛМ выполняет роль драйвера, который предоставляет функционалу проекта Утопия работать с текущей конфигурацией. Сам проект Утопия общий для всех конфигураций, будет дорабатываться. Для обновления проекта Утопия достаточно полностью заменить объекты 1-3 уровня абстракции (перепрошить). Замена небольшого количества объектов занимает намного меньше времени, чем анализ вставок в код программы. Обновить проект Утопия может даже администратор (по инструкции), не владеющий программированием 1С.

 

А теперь о каждом пункте поподробнее.

Виртуальный справочник _Элементы

Это справочник, содержащий в себе сразу несколько справочников. Он маскируется под любой справочник с помощью числового значения реквизита «Тип». При этом меняется видимость реквизитов и могут даже быть предусмотрены отдельные формы элемента и списка. Действия, которые над ним можно выполнять, тоже отличаются. Можно рассматривать его как справочник-хамелеон, динамично маскирующийся под любой справочник. Ключом к цвету хамелеона является реквизит «Тип».

Для работы со справочником «_Элементы» реквизит Тип задает набор свойств виртуального справочника по описанию виртуальных элементов (ОВЭ).

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

Данное описание напоминает код ДНК при создании белка. Последовательность нуклеотидов – это цифры поля Тип, а белок – это виртуальный справочник, молекула ДНК – описание виртуальных элементов.

Описание ОВЭ определено в одной из функций модуля _ДМПИ (для ускорения работы, т.к. часто используется).

Элементы виртуального справочника заданы длинной строкой из тэгов. В ней содержится название виртуального справочника в единственном числе, название во множественном числе, общие реквизиты, набор дополнительных реквизитов, права на использование справочника. Общие реквизиты – это Наименование, Инфо (строка 70 символов), Ссылка1, Ссылка2, Цвет. Эти реквизиты часто используются, поэтому они есть у всех виртуальных элементов, но не у всех они обрабатываются (соответственно, не у всех видны).

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

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

Виртуальные справочники с типом меньшим 1000 являются предопределенными (описаны в _ДМПИ). Остальные виртуальные справочники зависят от текущей конфигурации, в которую добавляется проект Утопия.

При необходимости можно дополнить виртуальные справочники новыми элементами и новыми свойствами (для предопределенных), используя модуль _ЛМ.

В данном примере справочники 8, 9, 13, 22 дополняются новыми свойствами (для свойства указывается тип), а справочник 1007 добавляется (он не универсальный и используется только в текущей конфигурации).

Регистр сведений _Параметры

Регистр состоит из одного измерения «Ключ» и одного ресурса «Значение». Тип Ключа – строка, а Значение – сложный тип (любая ссылка и базовые – число, строка, дата, булево). При использовании сложных типов есть ограничение по использованию бесконечных строк. Удалось обойти это ограничение, используя разбиение строк на тома, по аналогии с архиваторами файлов. Разработана функция для работы с такими томами строк. Благодаря ей, при считывании строки конкатенируются с помощью ключей, у которых есть признак длинных строк.

Назначение регистра – хранение произвольных параметров и оперативный доступ к ним. Не смотря на примитивность, регистр оказался очень эффективен для решения различного рода задач.

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

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

Набор модулей

Набор модулей проекта Утопия состоит из:

_ГМ (глобальный модуль) – все универсальные функции, которые не привязаны к конкретным метаданным и функционал работы с регистром _Параметры (функция «Параметр()»). Набор универсальных функций.

_ГМС (глобальный модуль серверный) – часть функций _ГМ, которые работают на сервере, либо для передачи управления на сервер.

_ДМ (дополнительный модуль) – процедуры, которые нужны для работы с добавленными объектами. Привязан к виртуальным элементам. Ядро проекта Утопия.

_ДМС (дополнительный модуль серверный) – часть функций _ДМ, которые работают на сервере, либо для передачи управления на сервер.

_ДМПП (дополнительный модуль с полными правами) – набор функций, которые выполняются без контроля прав.

_ДМПИ (дополнительный модуль повторного использования) – функции _ДМ, которые надо кэшировать.

_ЛМ (локальный модуль) – точка входа для текущей конфигурации. Там же хранятся все добавленные функции, индивидуальные для текущей конфигурации.

Применение проекта Утопия

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

Функции основного проекта Утопия

1. Основная панель – интерфейсная часть проекта. С помощью основной панели можно запустить остальные функции для обычного пользователя и для администратора. Состав закладок зависит от прав текущего пользователя. Основная панель реализована как произвольная форма в справочнике _Элементы, чтобы не добавлять дополнительный объект в проект. На первой закладке отображается Журнал объектов.

 

2. Журнал объектов – последние 20 открытых пользователем объектов (справочников или документов) в хронологическом порядке. Данная функция реализована на подписках и регистре _Параметры. Для каждого пользователя в регистре заводится хранилище с 20 объектами и указатель на текущий объект. В момент открытия ссылочного объекта система записывает в регистр всего 2 записи: новый указатель и объект по этому указателю. Если указатель доходит до 20, то сбрасывается до 1. Процесс записи цикличен (соответственно, ограничен по ресурсам) и оптимизирован по времени исполнения. При просмотре журнала хронология открытых объектов формируется из циклических записей регистра в обратном порядке, начиная с текущего указателя.

 

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

4. Дополнительные отборы в формах списков – расширенные отборы по табличным частям документов и справочников. Функция также реализована как дополнительная форма в справочнике _Элементы. При открытии формы списка добавляется кнопка для открытия данной функции. Отборы можно сохранить (используется регистр _Параметры). Реализованы дополнительные отборы по любым полям табличных частей документов и справочников. Система считывает структуру полей табличных частей и предоставляет отбор по присутствию выбранных в отборе значений. Также в системе можно выбрать часто используемые поля, т.к. бывают объекты, сильно перегруженные реквизитами табличных частей, которые редко используются.В данном примере отбираются все реализации, в табличной части которых присутствует хотя бы 1 строка с ценой 150.

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

6. Нормализация наименований справочников – часто используемая функция в любой конфигурации. Для многих справочников (и других ссылочных типов) требуется в наименовании убрать лишние пробелы: в начале, в конце и дубли в середине. Данная функция реализована с помощью подписок на запись ссылочных объектов конфигурации. Для конкретных объектов метаданных можно выставить нормализацию наименования. Настройки хранятся в виртуальном справочнике «Метаданные» на базе _Элементов. Также там можно запретить дублирование по наименованию. Данные настройки не требуют внесения изменений в конфигурацию, их можно сделать «на лету», в пользовательском режиме.

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

       

8. Заметки – система сохранения печатных форм и таблиц с дополнительными функциями. Добавлено сравнение макетов/текстов (используется функция платформы «Диалог сравнения» для табличных документов и текстов).

9. Обработка ошибок – ведение таблицы ошибок и работа с ней (добавление, проверка актуальности, исправление, подсвечивание).

10. Восстановление последовательностей документов – умное перепроведение документов по измененным измерениям регистра накопления для восстановления последовательности.

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

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

Дополнительные функции проекта Утопия

В этот раздел попали функции, которые не получилось сделать на базе справочника _Элементы и регистра _Параметры. Для перечисленных ниже функций необходимо добавлять метаданные помимо проекта Утопия, но количество добавляемых объектов также сведено к минимуму.

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

2. История изменения объектов (Черный ящик). Для реализации этой функции создан отдельный регистр _История объектов. При изменении справочников и документов сохраняется информация об измененных полях (включая табличные части).

3. Хранилище файлов. Для формы объектов создается отдельная страница с хранилищем файлов. При активизации данной страницы открывается список загруженных файлов. Данные файлы можно просмотреть сразу в 1С (если это картинки), сохранить на компьютере либо загрузить с компьютера в хранилище. Есть возможность загружать в хранилище несколько файлов в одном диалоге с помощью множественного выбора. Также в нем можно хранить дополнительные обработки и печатные формы (аналог функции типовой конфигурации «Внешние обработки»).

4. Корреспонденция – функция является расширением проекта Утопия. В системе встроена работа с корреспонденцией, входящей и исходящей. Автоматически присваивается регистрационный номер с префиксом организации (если база ведется по нескольким организациям, то префиксы помогут сделать сквозную нумерацию по каждой организации).

5. Универсальная обработка – самостоятельная обработка для применения функций _ГМ. Обработка интегрирована в проект для расширения функционала. Из журнала объектов можно перенести выбранные ссылки в обработку для дальней работы. Модулем обработки является модуль _ГМ.

Функций много: работа со списком объектов (выбор по отбору, выбор из журнала объектов, запись, проведение, отмена проведения, полное удаление, регистрация на обмен, снятие с обмена, изменение любого реквизита, выполнение произвольного кода над объектами); команды системы (запуск приложения из 1С, распознание документов из списка текстовых представлений документов); работа с N-ричными числами (бинарными, Hex и произвольными), форматом BASE64; работа со структурой метаданных (поиск имен таблиц БД по имени объекта метаданных) и др. Более подробно //infostart.ru/public/682078/.

6. Распознание текста – работа с текстовыми предложениями. Опознаваемые конструкции хранятся в дополнительных регистрах-словарях. Применяется для обработки назначений платежа. Более подробно //infostart.ru/public/547393/.

 

Заключение

Конечно, этот проект – утопия. Невозможно все свои разработки и доработки включить в одну конфигурацию, тем более на базе 1 справочника и 1 регистра. Важен баланс. Кое-что можно сделать, и потом эффективно этим пользоваться.

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

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

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Cерый 16 17.04.20 09:52 Сейчас в теме
В типовой регламентированной отчетности сборка напоминает Вашу. В до1С-ную эпоху в моем проекте была таблица, в которой требовалось указать dll, объект и событие, которое dll обрабатывает - так осуществлялось разделение на платформу и конфигурации, в 1С вижу аналоги с подписками. В другом проекте (1С) в текстовое поле справочника добавляли код и использовали как в первом случае, там мной была добавлена константа с типом ХранилищеЗначений. Удачи!
2. rozer 268 18.04.20 16:01 Сейчас в теме
Лет 15 назад один "халтурный" клиент просил доработать его нетленку как раз по этому принципу реализованную. Оч удивлен увидев публикацию ))
Как помню клиент из Бизнес-центра на улице Фрезер в Москве...
3. lastcontra 78 19.04.20 07:19 Сейчас в теме
(2) 15 лет назад я еще на 7.7 писал...
4. МимохожийОднако 130 19.04.20 07:55 Сейчас в теме
Идеи рождаются, бродят, умирают, потом снова возрождаются в других умах и разработках...Это ОФФ )
5. Terve!R 22.04.20 15:39 Сейчас в теме
Невозможно все свои разработки и доработки включить в одну конфигурацию

Конечно возможно, надо использовать расширение)
6. lastcontra 78 22.04.20 17:58 Сейчас в теме
(5) Большая часть доработок привязывается к конкретной конфигурации, т.к. они используют конкретные объекты конфигураций. Идея этого проекта - выделить часто используемые функции в в одну подсистему, чтобы оптимизировать временные затраты на новые проекты.
Механизм расширений только оптимизирует внесение изменений и последующее обновление (но это безусловно очень полезный инструмент), что немаловажно!
Оставьте свое сообщение

См. также

3 онлайн-курса по 1С-программированию: обмен данными, расчетные задачи и бухгалтерские задачи с 12 мая по 8 июля 2020 г. Промо

Практика программирования v8 Бесплатно (free)

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

22.04.2020    4688    23    Infostart    2    

Программная работа с настройками СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    19321    0    ids79    26    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    18628    0    John_d    22    

Последовательности событий. Шпаргалка

Практика программирования v8 Россия Бесплатно (free)

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    13541    0    kuzyara    33    

Использование программных перечислений, ч.1: строковые константы Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    35535    0    unichkin    45    

30 задач. Странных и не очень

Практика программирования v8 Бесплатно (free)

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    14666    0    YPermitin    72    

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

Практика программирования v8 Бесплатно (free)

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019    6862    0    Sibars    19    

Таблица значений. Нюансы

Практика программирования v8 Бесплатно (free)

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    28318    0    Yashazz    45    

Вспомогательные инструкции в коде 1С Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    28000    0    tormozit    100    

[Шпаргалка] Программное создание элементов формы

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Программное создание практически всех популярных элементов формы.

06.09.2019    39927    0    rpgshnik    62    

Агрегатные функции СКД, о которых мало кто знает

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    42088    0    ids79    54    

Регистры бухгалтерии. Общая информация

Практика программирования Математика и алгоритмы v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    24525    0    YPermitin    24    

Оформление и рефакторинг сложных логических выражений Промо

Практика программирования v8 Россия Бесплатно (free)

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

20.09.2012    75467    0    tormozit    129    

Три костыля. Сказ про фокусы в коде

Практика программирования v8 Бесплатно (free)

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019    23203    0    YPermitin    80    

Отслеживание выполнения фонового задания

Практика программирования Универсальные функции Разработка v8 1cv8.cf Бесплатно (free)

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    28396    0    ids79    16    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    65711    0    ids79    40    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

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

11.07.2007    46368    0    tormozit    38    

Фоновое выполнение кода в 1С - это просто

Практика программирования v8 1cv8.cf Бесплатно (free)

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

02.08.2019    29426    0    avalakh    22    

Разбираемся с параметрами редактирования СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Связь по типу, Параметры выбора, Связи параметров выбора

31.07.2019    19883    0    json    12    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    49177    0    ids79    11    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

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

10.09.2017    42395    0    tormozit    74    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Инструментарий разработчика Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    31603    0    ids79    27    

Регистры сведений. За кулисами

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    23853    0    YPermitin    13    

"Меньше копипаста!", или как Вася универсальную процедуру писал

Практика программирования Разработка v8 v8::СКД 1cv8.cf Бесплатно (free)

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    17773    0    SeiOkami    50    

Выгрузка документа по условию Промо

Практика программирования Разработка v8 Бесплатно (free)

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    15437    0    m-rv    2    

Работа с настройками системы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

02.07.2019    38646    0    ids79    10    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    46148    0    ids79    25    

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

Практика программирования Производительность и оптимизация (HighLoad) v8 v8::Запросы Бесплатно (free)

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    22879    0    dmurk    144    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

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

16.04.2019    19207    0    m-rv    17    

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

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

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

16.05.2019    38544    0    YPermitin    30    

Выполнение внешней обработки в фоновом задании

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    26697    0    Eret1k    23    

О расширениях замолвите слово...

Практика программирования Разработка v8 Бесплатно (free)

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    32164    0    ellavs    126    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    28873    0    m-rv    21    

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

Практика программирования v8 Бесплатно (free)

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    25334    0    ellavs    88    

Трюки с внешними источниками данных

Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    28962    0    YPermitin    53    

Ошибки при работе с хранилищем конфигурации и способы их решения

Практика программирования v8 Бесплатно (free)

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

01.03.2019    33876    0    Смешной 1С    27    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

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

05.12.2017    26896    0    itriot11    34    

Разработка и сценарное тестирование с Vanessa-ADD. Отчетность Allure. Автоматизация запуска сценариев

Практика программирования Vanessa Automation v8 Россия Бесплатно (free)

Формируем отчетность о результатах выполнения сценариев. Автоматизируем запуск.

26.02.2019    20170    0    Vladimir Litvinenko    27    

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

Практика программирования БСП (Библиотека стандартных подсистем) Роли и права v8 v8::Права Бесплатно (free)

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    34735    0    ids79    9    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    73501    0    Serginio    108    

EnterpriseData – часть 2. Процесс выгрузки данных

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Основные этапы выгрузки данных через ED, обработчики событий выгрузки, правила обработки данных, правила конвертации объектов, конвертация свойств первого и второго этапов, процедуры БСП, используемые при выгрузке данных, структура «КомпонентыОбмена».

26.12.2018    24847    0    ids79    31    

Новый подход к обмену данными EnterpriseData

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Хочу предложить Вашему вниманию цикл статей, посвященных обмену данными через универсальный формат (EnterpriseData или ED).

14.12.2018    37937    0    ids79    72    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    32476    0    ids79    40    

EnterpriseData - пример доработки правил конвертации без использования КД 3.0 в расширении конфигурации

Практика программирования Обмен через XML v8 v8::УФ БП3.0 УТ11 Россия Бесплатно (free)

В статье подробно описан реальный пример доработки обмена данными через EnterpriseData (универсальный формат обмена) между конфигурациями УТ 11.4 и Бухгалтерия 3.0

16.11.2018    34353    0    ids79    40    

Программное заполнение пользовательских параметров и отборов СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

13.11.2018    41507    0    Unk92    21    

Тестер: частые вопросы Промо

Практика программирования v8 Бесплатно (free)

Ошибкам бой - тесты норма жизни!

25.07.2018    27573    0    grumagargler    26