1с избавиться от параметров

Обновлено: 07.07.2024

Удаление устаревших объектов метаданных из конфигурации

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

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

1.1. Не удалять из конфигурации устаревшие объекты метаданных и реквизиты безвозвратно, а пометить их как устаревшие, добавив к их именам префикс "Удалить" (англ. "Obsolete" ). Например: реквизит "ОсновнойДоговор" (англ. "MainContract" ) должен быть переименован в "УдалитьОсновнойДоговор" (англ. "ObsoleteMainContract" ).

В синоним устаревшего объекта (реквизита) рекомендуется добавлять префикс "(не используется)" (англ. "(not used)" ), например: "(не используется) Основной договор" (англ. "(not used) Main contract" ). Если же устарел стандартный реквизит, то префикс "(не используется)" также добавляется в его синоним.

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

1.3. Если удаляемый объект метаданных является документом – регистратором движений, а соответствующие регистры с движениями остаются в составе конфигурации, то необходимо обратить внимание на необходимость сохранения движений. Для сохранения движений документов – устаревших объектов метаданных, рекомендуется:

  • Запретить генерацию движений при проведении документов этого вида.
  • Запретить снятие пометки удаления для документов этого вида.
  • Во всех существующих движениях документов этого вида изменить регистратор на один или несколько замещающих документов-регистраторов: существующих универсальных или специально разработанных. Например "Перенос данных", "Операция".
  • Пометить все документы этого вида на удаление.

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

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

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

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

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

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

3. Безвозвратно удалять устаревшие объекты метаданных и реквизиты, помеченные префиксом "Удалить" (англ. "Obsolete" ), следует при выпуске очередных версий конфигурации в том случае, если соблюдается одно из условий:

  1. Переход со "старой" версии конфигурации на новые версии всегда выполняется пользователями последовательно, "через" версию с реализованным переносом данных из "устаревших" объектов метаданных и реквизитов. Например: если в конфигурации версии 1.1 реквизит "ОсновнойДоговор" был помечен как устаревший, то переход с версии 1.0 на версию 2.0 всегда выполняется только последовательно: сначала на версию 1.1 (в которой происходит обработка устаревших данных), а затем на 2.0 (в которой устаревшие данные могут быть удалены безвозвратно). Непосредственный переход с версии 1.0 на 2.0 технически невозможен (запрещен).
  2. Вероятность того, что "старой" версией конфигурации еще пользуются, стала нулевой или пренебрежимо малой.

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

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

Оптимизация с помощью обновления

Ускор1.jpg

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

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

Настройка регламентных и фоновых заданий

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

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

Для этого следует выполнить следующее:

  1. Поиск пункта «Администрирование» в главном разделе меню, которое перекинет в окно настройки программы. Появится перечень переходов, среди которых необходимо выбрать «Обслуживание».
  2. В появившемся новом окне необходимо перейти в раздел «Регламентные операции». Здесь будет располагаться ссылка «Регламентные и фоновые задания», по которой следует нажать.
  3. Будет предоставлен список всех доступных фоновых заданий для ознакомления, большинство которых будет находиться в рабочем состоянии. Об этом свидетельствует галочка, которая стоит слева.
  4. Выполнить полный просмотр данного списка, чтобы определить для себя ненужные процессы. Чтобы отключить ненужные задания, следует нажать на каждое из них. Появится отдельное окно, где следует снять галочку с пункта «Включено».
  5. Нажать «Записать и закрыть», чтобы выбранная задача больше не запускалась.

Ускор2.jpg

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

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

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

Чтобы перейти в меню используемых модулей, необходимо войти в раздел «Администрирование». В появившемся окне «Настройки программы» следует выбрать вкладку «Функциональность». Перед пользователем откроется новое окно «Функциональность программы», которое имеет в своем распоряжении большое количество вкладок. Необходимо пройтись по каждой и отключить ненужные модули. Для этого достаточно просто снять галочки.

Ускор3.jpg

Параметры компьютера и сети

Бывает так, что отключение ненужных модулей и фоновых процессов может быть недостаточно, чтобы повысить производительность программы 1С. Всему виной могут быть характеристики компьютера. Если они слабые и их недостаточно для минимальных требований программы, то это может повлиять за собой значительное замедление работоспособности софта. Это касается не всех составляющих ПК. Особое внимание следует уделить процессору и оперативной памяти.

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

Ускор4.jpg

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

  • свободное место на жестком диске не меньше 2 Гб;
  • скорость интернет-соединения не меньше 100 мБит за секунду.

Важно отметить, что существует особый пакет программы 1С, который ориентирован на передачу большого объема информации. Здесь следует отдельное внимание уделить пропускной сетевой способности ПК. Если возникнуть какие-либо торможения или другие проблемы, то данную скорость можно увеличить. Для передачи незначительного объема информации вполне достаточно будет 100 мБит/сек.

Запуск в тонком клиенте

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

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

  1. Последовать в настройки. Чтобы в них попасть, необходимо при запуске 1С выбрать кнопку «Изменить».
  2. Появится новое окно, где следует найти раздел «Основной режим запуска».
  3. Данный раздел будет иметь несколько вариантов для выбора, среди которых находится тонкий клиент. Его необходимо выбрать.
  4. После выбора подходящего режима нажать кнопку «Готово», чтобы сохранить изменения.

Ускор5.jpg

Для просмотра режима работы программы необходимо перейти в меню «Справка», которое находится в основном перечне меню. В выбранной вкладке нажать «О программе», где будет отображаться режим программы, в котором она работает в данный момент.

Диагностика и исправление ошибок базы 1С

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

Ускор6.jpg

Данный инструмент располагается в меню «Администрирование» и он имеет в своем распоряжении следующее:

  1. Реиндексацию таблиц информационной базы – это встроенный инструмент для реорганизации используемых индексов в таблице. Он позволит повысить скорость работы базы в целом.
  2. Сжатие таблиц информационной базы – данный инструмент позволяет сжимать размер базы. Другими словами, он уменьшает ее размер при помощи дефрагментации всей таблицы. Данный режим работы не только увеличивает быстродействие программы, но и избавляет ее от ошибок.
  3. Реструктуризация таблиц информационной базы – это режим работы, благодаря которому выполняется оптимизация структурной составляющей программы. Это позволяет улучшить стабильность и быстродействие выполняемых процессов.

Свертка информационной базы

Главные преимущества данного решения:

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

Ускор7.jpg

После этого следует выполнить следующее:

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

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

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

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

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

Защитить свой компьютер можно с помощью нашей системы защиты от шифровальщиков-вымогателей.

Специалисты Первого Бита имеют обширный опыт в оптимизации программы 1С. Мы оказываем комплексные услуги «скорой» технической помощи. Чтобы связаться с нами и узнать условия сотрудничества:

  • Оставьте заявку на нашем сайте или позвоните нам по телефону;
  • Менеджер уточнит причины обращения и зафиксирует проблему;
  • Наши специалисты проведут технический аудит и экспертизу;
  • Проведут полную оптимизацию 1С.

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

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

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

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

Материал полностью актуален для платформы «1С:Предприятие 8» редакций 8.2. и 8.3.

Процедуры и функции

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

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

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

В итоге облегчается сопровождение прикладного решения.

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

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

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

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

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

Процедура или функция начинает описываться со слова Процедура (Функция). Далее следует Имя процедуры (функции). После имени обязательно указываются круглые скобки. Внутри скобок могут находиться описываемые параметры.

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

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

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

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

Описание процедур и функций

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

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

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

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

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

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

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

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

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

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

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

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

Чтобы обратиться к списку процедур текущего модуля в панели конфигуратора можно нажать на кнопку в виде лупы с надписью «PROC» или использовать горячие клавиши (Ctrl+Alt+P).

Откроется диалоговое окно, в котором описаны функции F(x) и процедуры P( ). К ним возможно обращаться.

Список может быть отсортирован в алфавитном порядке (для этого устанавливается галочка «Сортировка»).

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

Список процедур в панели конфигуратора

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

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

Справа от кнопки с надписью «PROC» располагается поле. В этом поле указано имя текущей процедуры (функции).

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


PDF-версия статьи

Статья в PDF-формате

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

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

В статье рассматривается платформа 1С:Предприятие версии 8.3.4.465. Материал актуален и для текущих релизов платформы.

Предопределенные элементы в «1С:Предприятие 8.3»

При реализации алгоритмов разработчики часто опираются на определенные данные – элементы справочников, планов счетов, планов видов расчета и т.д.

Во встроенном языке существуют методы для поиска данных, например, НайтиПоКоду() или НайтиПоНаименованию().

Однако алгоритмы, опирающиеся на код или наименование, зачастую являются ненадежными.

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

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

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

Предопределенные элементы могут быть созданы у:

  • справочников;
  • планов счетов;
  • планов видов характеристик;
  • планов видов расчета.

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

Справочник организации - предопределенный элемент

Для примера, создадим в справочнике Организации предопределенный элемент ОсновнаяОрганизация:

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

Обращение к этому элементу из программного кода будет следующим:

Код обращения

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

Для этого у объектов, которые могут иметь предопределенные элементы (они указаны выше), добавлено новое свойство ИмяПредопределенныхДанных. Оно отображается в списке стандартных реквизитов:

ИмяПредопрделенныхДанных

Выберем при помощи запроса все поля из справочника Организации:

Выбор полей

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

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

Предопределенный элемент в списке отображается специальной пиктограммой:

Предопределенный элемент

Чтобы “отсоединить” элемент данных от элемента предопределенных данных, нужно присвоить свойству ИмяПредопределенныхДанных пустую строку и записать элемент:

&НаКлиенте
Процедура Отсоединить ( Команда )
ОтсоединитьНаСервере ();
КонецПроцедуры

Пиктограмма в списке изменилась:

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

Теперь предопределенный элемент существует только в конфигурации и в данных нет элемента, привязанного к идентификатору ОсновнаяОрганизация:

Идентификатор ОсновнаяОрганизация

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

Обращение из программного кода к предопределенному элементу вызовет исключение:

Предопределенный элемент отсутствует в данных

Чтобы связать предопределенный элемент с новой записью, нужно присвоить свойству ИмяПредопределенныхДанных имя предопределенного элемента:

&НаКлиенте
Процедура Привязать ( Команда )
ПривязатьНаСервере ();
КонецПроцедуры

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