1с версияданных что это

Обновлено: 07.07.2024

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

Прочитав статью, вы узнаете:

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

Применимость

В статье рассматривается возможности конфигуратора на примере платформы «1С:Предприятие» редакций 1C 8.3.5 – 8.3.11, поэтому вся информация актуальна.

Улучшения в конфигураторе платформы «1С:Предприятие 8.3»

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

Контекстная подсказка

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

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

Подсказка со списком параметров выглядит следующим образом:

Контекстная подсказка

Для увеличения нажмите на изображение.

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

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

Автоматическая подсказка при наборе

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

Параметры процедур и функций в контекстной подсказке

Для увеличения нажмите на изображение.

Напомним, что существует документ “Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8”, в котором описаны рекомендации фирмы “1С” к разрабатываемому программному коду.

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

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

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

Для увеличения нажмите на изображение.

Чтобы избежать ручного написания комментария по приведенному формату, в платформе предусмотрены шаблоны текста, ознакомиться с которыми можно, нажав сочетание клавиш Ctrl + Shift + T.

Шаблон с наименованием “Процедура (с заголовком)” как раз и формирует правильный комментарий.

Чтобы этот шаблон сработал, достаточно набрать в редакторе символы “Проц”, нажать Ctrl+Q и выбрать нужный шаблон из предлагаемого системой списка.

Шаблоны текста для формирования комментария

Группировка строк программного кода

Модули типовых решений на платформе “1С:Предприятие 8” достаточно объемные, содержат достаточно большое количество строк кода.

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

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

Группировка операторов и процедур

Для увеличения нажмите на изображение.

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

Настройка группировки строк программного кода

Выделение цветом конструкций

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

Подсветка конструкций

Посветка конструкций в конфигураторе

Для увеличения нажмите на изображение.

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

Выделение цветом скобок

Для увеличения нажмите на изображение.

Параметры - Текущий идентификатор

Подсветка программного кода

Для увеличения нажмите на изображение.

Также интерес представляет параметр “Выбранный идентификатор”. Если для него установлен цвет, не совпадающий с цветом фона редактирования, то при двойном щелчке мышью по идентификатору будет подсвечен и он, и все совпадающие идентификаторы в тексте модуля.

Параметры - Выбранный идентификатор

Выделение идентификаторов в тексте модуля

Для увеличения нажмите на изображение.

При выполнении поиска в тексте модуля при помощи строки поиска или после нажатия сочетания клавиш Ctrl + F найденное слово выделяется, а все такие же найденные слова подсвечиваются.

Подсветка найденных слов

Для увеличения нажмите на изображение.

Объединение ячеек табличного документа

Ранее ячейки табличного документа можно было объединить только с помощью пункта меню или соответствующей кнопки командной панели.

Теперь появилось сочетание клавиш Ctrl + M, при нажатии которого и происходит объединение ячеек табличного документа. Также операция “Объединить” доступна в контекстном меню табличного документа.

Объединение ячеек в таблице конфигуратора

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

Новые возможности для разработчика в «1С:Предприятие 8.3.5»

Поиск в конфигураторе

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

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

До выхода платформы 8.3.5 поиск по дереву метаданных можно было осуществить следующим образом:

  • набирать с клавиатуры название объекта, при этом система будет искать по совпадению наименования с первой буквы названия, но только в развернутых строках дерева конфигурации;
  • при помощи сочетания клавиш Ctrl+F открыть окно поиска:

Поиск объектов метаданных

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

В платформе 8.3.5 появилось новое поле поиска, расположенное над деревом конфигурации:

Новое поле поиска в конфигурации

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

Причем дерево конфигурации фильтруется “на лету”: в нем остаются только объекты, удовлетворяющие введенному фильтру.

Поиск в конфигурации

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

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

Если кроме того искомая строка присутствует в имени объекта (не в синониме, не в комментарии), то такие вхождения выделяются красным цветом.

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

На приведенном выше рисунке реквизит ИдентификаторПользователяИБ справочника Пользователи отображается в дереве, т.к. его синоним содержит подстроку “пост”:

Объект поиска

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

Поиск по нескольким подстрокам

Аналогичная строка поиска появилось и у окна, содержащего набор свойств выделенного объекта (палитра свойств):

Поиск в палитре свойств

Поиск в палитре свойств

Найденные свойства будут выведены общим списком, без разбивки по категориям.

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

Переключиться между режимами имя/представление можно с помощью команды “Отображать имена свойств” контекстного меню:

Отображать имена свойств

Такая же строка поиска была добавлена в окне выбора типа данных:

Поиск в окне Редактирование типа данных

И в окно выбора объекта метаданных (например, выбора регистра сведений, который будет использоваться в качестве графика для регистра расчета):

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

Быстрое отображение объектов подсистемы

Для быстрого отображения объектов, входящих в одну конкретную подсистему, в контекстном меню появился новый пункт “Объекты подсистемы”:

Быстрое отображение объектов подсистемы

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

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

Отбор по подсистемам в старой версии платформы

Теперь получить тот же самый результат можно быстрее. Кроме того, чаще всего используется и наиболее востребован отбор именно по одной подсистеме.

А, следовательно, это маленькое удобное новшество сэкономит время разработчика.

Быстрое отображение объектов, захваченных в хранилище

Если конфигурация подключена к хранилищу, то в командной панели над самим деревом конфигурации доступна кнопка “Захваченные объекты”:

Фильтр Захваченные объекты

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

Инструменты рефакторинга

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

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

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

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

Они доступны в контекстном меню текстового редактора конфигуратора в отдельном меню Рефакторинг.

Рефакторинг кода

Для увеличения нажмите на изображение.

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

1. Выделить фрагмент

Эта команда преобразует выделенный участок кода в отдельную процедуру или функцию.

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

Общая информация

Начнем с общей теоретической информации о том, что такое история данных и как она устроена.

Описание и возможности

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

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

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

  • записывать версию данных;
  • получать данные определенной версии;
  • удалять данные определенной версии;
  • получать разницу между двумя версиями одного объекта;
  • прочие полезные возможности.

На момент написания статьи (8.3.13) история данных поддерживается для следующих объектов:

  • общие реквизиты;
  • константы;
  • справочники;
  • документы;
  • бизнес-процессы;
  • задачи;
  • регистры сведений;
  • планы обмена;
  • планы счетов;
  • планы видов характеристик;
  • планы видов расчетов;
  • расширения конфигурации.

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

Устройство механизма

История данных хранится в специальных таблицах информационной базы. Кроме самих данных в этих таблицах хранятся метаданные прежних версий объектов. Версии метаданных создаются в момент изменения этих самых метаданных у объекта и никак не связаны с изменением данных объекта.

Также следует помнить, что на данный момент система не отличает включение версионирования для реквизита от создания реквизита и отключение версионирования реквизита от удаления реквизита.

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

  • стандартных реквизитов;
  • реквизитов объектов;
  • реквизитов табличных частей;
  • измерений регистров сведений (без возможности отключения);
  • ресурсов регистров сведений.

Использование механизма

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

Управление использованием истории данных

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

  • увидеть конкретные изменения, которые внесли те или иные пользователи;
  • просматривать любую версию объекта;
  • сравнивать любые версии объекта между собой;
  • вернуться к какой-либо предыдущей версии объекта, которая была наиболее полной или более правильной в отличие от своего последнего состояния.

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

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

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

Объекты версионирования

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

Если для выбранного справочника или документа версионирование включено, в его форме будет доступна команда История изменений (рис. 1).

Рис 1 Форма справочника.jpg

Рис. 1. Команда История изменений в форме элемента справочника.

По этой команде открывается список версий объекта (рис. 2).

Рис 2 История изменений.jpg

Рис. 2. История изменений объекта.

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

  • Кто изменил объект?
  • Когда произошли изменения?
  • Что было изменено в объекте?

В списке выводится следующая информация:

  • - порядковый номер версии, версии перечисляются по убыванию; номеров, самая первая версия находится внизу списка;
  • Автор изменений - пользователь, который редактировал объект;
  • Дата - дата и время редактирования;
  • Комментарий - в этом поле можно ввести подробную информацию по поводу конкретной версии. Программа автоматически заполняет это поле, например, при переходе на другую версию.

С помощью отбора Изменения в реквизитах можно отражать изменения только определенных реквизитов. Для этого в форме отбора необходимо отметить флагами реквизиты, изменения по которым необходимо отражать в списке версий, и нажать на кнопку Выбрать.

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

Используя соответствующие кнопки, в форме списка доступны следующие действия:

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

Обращаем ваше внимание, что при удалении объекта его история также удаляется, поэтому в этой ситуации версионирование не поможет.

Настройки хранения версий

Для ведения истории изменений объектов необходимо выбрать команду Поддержка и обслуживание из раздела Администрирование и удостовериться в том, что флаг Версионирование объектов включен (рис. 3).

Рис 3 Поддержка и обслуживание.jpg

Рис. 3. Механизм версионирования объектов в составе раздела Администрирование.

После этого становится доступной гиперссылка Настройки хранения, перейдя по которой можно произвести необходимые настройки версионирования (рис. 4).

Рис 4 Версионирование объектов.jpg

Рис. 4. Настройки версионирования объектов.

В форме Версионирование объектов выводится список из следующих реквизитов:

  • Объект - список объектов программы в виде дерева с группировкой по типам объектов;
  • Вариант версионирования - выбранный вариант версионирования;
  • Срок хранения версий - выбранный срок хранения версий.

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

  • Не версионировать - история версий объекта не ведется;
  • Версионировать при записи - новая запись заносится в историю версий каждый раз при изменении (или создании нового) справочника или документа;
  • Версионировать при проведении – вариант применим только для документов, для которых разрешено проведение. Первая версия документа будет записана в историю только после первого проведения документа, впоследствии версии документа будут записываться при каждой записи проведенного документа. Эта настройка не позволяет создавать версии новых не заполненных окончательно документов, которые приводят к увеличению объема хранимой в программе информации;
  • Версионировать при старте - этот вариант применим только для бизнес-процессов. Первая версия бизнес-процесса будет записана только после его старта. Режим позволяет не создавать лишние версии бизнес-процессов в то время, пока их подготавливают к запуску;
  • По умолчанию - установить рекомендуемые настройки (для справочников - Не версионировать, для документов - Версионировать при проведении).

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

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

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

  • За последнюю неделю;
  • За последний месяц;
  • За последние три месяца;
  • За последние шесть месяцев;
  • За последний год;
  • Бессрочно.

Команды Установить вариант версионирования и Установить срок хранения версий также можно найти в меню Еще или в контекстном меню, вызываемом правой кнопкой мыши.

По гиперссылке Количество и объем хранимых версий объектов можно перейти к просмотру одноименного отчета.

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

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

Рис 5 Расписание.jpg

Рис. 5. Настройка регламентного задания по удалению устаревших версий.

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

Читайте также: