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

и на дисках ИТС.В платформе 8.2 изменены форматы информационной базы, конфигурации, внешних отчетов и обработок. Для перехода на 8.2 необходимо осуществить их преобразование (конвертацию). После конвертации будет невозможно открыть базу/обработку под платформой 8.1. Поскольку обратного пути нет, обязательно в каждом случае перед конвертацией снимать копии.

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

1. Подготовка.

Обновление текущего релиза платформы. Он должен быть не ниже 8.1.5 (8.0.18).

Снятие резервной копии.

В случае использования типовой конфигурации дальнейших действий не требуется. Если же есть изменения, то следует провести тестирование при помощи обработки ПроверкаКонфигурацииДляПереводаНа82.epf (есть на ИТС) для выявления возможных проблем. На ИТС есть и методика перехода на новую платформу.

2. Конвертация на 8.2. Работа в режиме совместимости с 8.1.

При попытке открытия ИБ 8.1 под платформой 8.2 программа выдает соответствующее предупреждение и предлагает конвертировать базу под 8.2.

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

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


Для пользователя это означает, что пока, на данном этапе, особенных изменений он не увидит, и большая часто нового функционала ему недоступна, в частности, работа в режиме управляемого приложения, тонкого или web -клиента. Интерфейс остается как в 8.1. Тем не менее, администратор уже может использовать некоторые возможности 8.2.

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

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

3. Работа без режима совместимости (обычный режим)

Отключаем режим совместимости, выбирая «Не использовать»:

Сразу меняется интерфейс, вид кнопок.

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

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

4. Работа без режима совместимости (управляемый режим - частичное использование - полный переход на управляемый режим)

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

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

Обычная форма:

Управляемая форма:

Работа без режима совместимости (полный переход на управляемый режим)

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

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

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

В установке 8.1 и 8.2 на один сервер есть проблема - как ее обойти, указано .

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

Важно! Конфигурация 1.6 (так же и 2.0) под 8.1 и 8.2 - это РАЗНЫЕ конфигурации, с разными обновлениями.

Переход с БП 1.6 на БП 2.0 - это тоже не просто обновление, а отдельный переход. Была ситуация, когда встроенный механизм для перехода с 1.6 на 2.0 «не видит» тез баз в 1.6, которые уже сконвертированы в 8.2. Таким образом, логичным кажется переход сначала с 1.6 на 2.0, а затем - на платформу 8.2 (возможно, в новых релизах это уже исправлено).

ВЫВОДЫ:

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

2. Для перехода с сохранением режима совместимости не требуется серьезных доработок. Основной объем работы возникает при переходе к управляемым формам: необходимо реализовать новый командный интерфейс и формы.

3. Новая версия платформы 8.2 не имеет существенных отличий при работе пользователей, следовательно, для них не требуется какого-либо дополнительного обучения.

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

В этой статье рассмотрим палитру свойств конфигурации на примере 1С Управления торговлей 11 на платформе 8.3.

Настройка свойств конфигурации 1С

Рассмотрим подробнее каждую из настроек конфигурации.

  • Основной режим запуска — может принимать значения управляемого приложения или обычного. Для каждого пользователя в дальнейшем может задаваться отдельно.
  • Вариант встроенного языка — определяет синтаксис языка программирования по умолчанию. Если его изменить, то в конфигурации модули автоматически не изменять язык.
  • Основная роль — роль в конфигурации по умолчанию. Обычно устанавливается роль с наибольшими правами.
  • Модуль управляемого (или обычного) приложения — модуль, в котором описываются глобальные переменные конфигурации и глобальные обработчики конфигурации — ПередНачаломРаботыСистемы, ПриНачалеРаботыСистемы, ПередЗавершениемРаботыСистемы, ПриЗавершенииРаботыСистемы, ОбработкаВнешнегоСобытия.
  • Модуль сеанса — обработчик, отрабатывающий при старте системы, в котором принято инициализировать .
  • Модуль внешнего соединения — модуль, доступный при внешнем соединении, содержит в себе обработчики — ПриЗавершенииРаботыСистемы, ПриНачалеРаботыСистемы.

Получите 267 видеоуроков по 1С бесплатно:

  • Основной язык — язык интерфейса по умолчанию.
  • Краткая информация, Подробная информация, Логотип, Заставка, Авторские права — информационные поля свойств для сведений о конфигурации.
  • Адрес информации о поставщике и конфигурации — свойства, где необходимо указать информацию о разработчике и страничку о данном решении.
  • Основная форма отчета, настроек отчета, варианта отчета — формы, открывающиеся по умолчанию для соответствующих объектов.
  • Поставщик — компания, которая произвела разработку.
  • Версия — версия конфигурации, свойство почти всегда должно совпадать с версией поставщика.
  • Адрес каталога обновлений — место в сети Интернет, где можно скачать свежие обновления.
  • Справочная информация — общая справочная информация о конфигурации. Галочка Включать в содержание справки добавляет текущую справочную информацию в общий список документации.
  • Режим управления блокировкой данных — выбор режима . Возможны 3 варианта — управляемый (за блокировки отвечает разработчик конфигурации), автоматический (за блокировки отвечает СУБД), автоматический и управляемый (совмещенный режим, управляется на уровне объектов).
  • Режим автонумерации объектов — возможны два варианта, освобождать автоматически и не освобождать автоматически . Первый вариант позволяет заполнить пробелы в нумерации в случае их возникновения. Не освобождать автоматически делает нумерацию непрерывной.
  • Режим совместимости — сугубо технический флаг, позволяющий включить или отключить режим совместимости со старыми версиями конфигурации — 8.1 и 8.2.13 и 8.3. Эти две версии платформы были переходными, добавлялись новые объекты метаданных, поэтому система требует переконвертации конфигурации. К этому нужно относиться очень аккуратно,

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

Прежде всего необходимо знать об ограничениях, которые имеют расширения.

Ограничение на создаваемые объекты

На данный момент можно создавать:

  • Справочники
  • Документы
  • Регистры сведений
  • Планы обмена

Можно добавлять реквизиты в:

  • Справочники
  • Документы

Что мы имеем в итоге? Добавлять можно не все типы объектов метаданных. Самые распространенные и востребованные, но все-таки не все. Кроме того, в регистры сведений нельзя добавлять новые измерения и ресурсы. Можно только создать полностью новый регистр.

Функционал расширений зависит от режима совместимости конфигурации, к которой применяется расширение.

Режим совместимости 8.3.8 - можно менять только формы объектов и их модули, добавлять свои отчеты и обработки.

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

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

На данный момент в типовой УТ 11.3 стоит режим совместимости 8.3.8. В УТ 11.4 режим совместимости 8.3.10, то есть, например, для УТ, большая часть функционала расширений недоступна, включая создание объектов метаданных.

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

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


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


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

Выводы

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

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

Перевод 8.1 → 8.2.13 Перевод 8.2.13 → 8.2.16 Перевод 8.2.16 → 8.3.10
Цена, руб. * 54 000 ₽ 12 000 ₽ 76 800 ₽

Список всех изменений в различных версиях платформы доступен по ссылкам:
Для платформы 8.2:
http://downloads.v8.1c.ru/content/Platform/8_2_19_106/1cv8upd.htm

Перед началом работ по переводу на 8.3 нужно:

Проверить режим управляемых блокировок. Если используется “Автоматический”, то при переходе на 8.3 могут потребоваться дополнительные затраты на перевод в режим управляемых блокировок.
Если используется режим совместимости с 8.2.16 и выше, то нужно проверить, выполнена ли реструктуризация таблиц
Определить, какие типы клиентов используются (тонкий, толстый, веб-клиент)
Определить, есть ли машины, которые работают под linux

Перевод конфигурации 8.1 → 8.2.13

Стоимость работ: 54 000 руб.

Перевод конфигурации 8.2.13 → 8.2.16 (включая реструктуризацию)

Ключевые изменения:
Изменен режим хранения констант и настроек регистров накопления. Для каждого объекта используется своя таблица базы данных
Переработана реализация механизма управляемых блокировок.
Для события технологического журнала «TLOCK» свойство «Txt» записывается только в режиме совместимости с версией 8.2.13
Уменьшено влияние режима отладки на скорость работы в режиме «1С:Предприятие» для тонкого клиента, толстого клиента, сервера и внешнего соединения.
Оптимизировано выполнение запроса вида «ТипЗначения(Поле1) = ТипЗначения(Поле2)», если «Поле1» и «Поле2» содержат значения ссылочного типа.
Для полей управляемой формы, отображающих реквизит составного типа, ускорено открытие списка быстрого выбора в тех случаях, когда в составной тип входят ссылочные типы с разными настройками быстрого выбора.
Для нового независимого и непериодического регистра сведений, индекс по измерениям является кластерным

Изменения, требующие изменений в конфигурациях:

При отключенном режиме совместимости, параметр «Период» метода менеджера периодического регистра сведений «Получить()» является обязательным. В режиме совместимости с версией 8.2.13 и версией 8.1 поведение не изменилось (метод можно использовать без указания параметра, но результат является неопределенным).
При одновременном использовании методов «УстановитьЗначение()» и «ИспользоватьИзИсточникаДанных()» объекта «ЭлементБлокировкиДанных» вызывается исключение. В режиме совместимости с версией 8.2.13 поведение не изменилось (приоритетным считается значение, установленное методом «ИспользоватьИзИсточникаДанных()»).
Не поддерживается помещение в хранилище значения данных, которые не поддерживают сериализацию. В режиме совместимости поведение не изменилось.
Если база файловая, то должно быть выполнено преобразование информационной базы. После начала преобразования работа с данной информационной базой предыдущими версиями платформы «1С:Предприятие 8» будет невозможна. Если разработка выполняется с использованием хранилища конфигураций, перед преобразованием информационной базы нужно обязательно сделать копию хранилища

ВАЖНО. Для получения эффекта от изменения режима совместимости надо сделать реструктуризацию через конфигуратор: “Администрирование → Тестирование и исправление → Реструктуризация таблиц информационной базы”.

Предварительно необходимо выполнить реструктуризацию на тестовой базе и замерить время выполнения данной операции.
Если используется сервер 1С версии старше 8.2.19, например, версии 8.3, то при выполнении реструктуризации могут возникнуть ошибки следующего вида:

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

Стоимость работ по переводу конфигурации из режима совместимости 8.2.13 в режим 8.2.16 (режим без совместимости, при использовании платформы 8.2.16, 8.2.19 и режим совместимости 8.2.16 при использовании платформы 8.3) составляет 12 000 руб.

Шаблон договора на работы можно скачать .

Перевод конфигурации 8.2.16 → 8.3.10

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

1. Устранение конфликт имен свойств. Изменение имен переменных, совпадающие с новыми свойствами, которые появились в «1С:Предприятии 8.3».
2. Устранение конфликт имен картинок. Переименование имен картинок с именами, совпадающеми с именами из библиотеки картинок.
3. Доработка кода при изменение свойств фиксированной структуры. Замена указания свойств фиксированной структуры на пересоздание фиксированной структуры или замена ее использование на аналогичный тип «Структура».
4. Замена помещения во временное хранилище несериализуемых значений, на код поддерживаемый в «1С:Предприятии 8.3».
5. Замена использования вызова метода «Показать» для реквизитов управляемой формы, на использование свойств «ТекущийЭлемент», «ТекущаяСтраница», метода «Активировать»
6. Замена имен объектов метаданных с длинной более 80 символов, на имена с длиной имени в 80 символов или меньше для объектов метаданных
7. Переименования методов и свойств, согласно методике перехода на версию 8.3.
8. Доработка механизмов работы с отборами, условным оформлением, группировками и порядком в динамических списках.
9. Доработка кода для запросов с ключевым словом «ИТОГИ ПО ОБЩИЕ», выгруженный в режиме
«ОбходРезультатаЗапроса.ПоГруппировкам», с целью сохранения прежней логики работы.
10. Изменения имен классов COM-объектов. Замена имен «V82.COMConnector» на «V83.COMConnector», и «V82.Application» на «V83.Application».
11. Отказ в коде программы от события «НачалоВыбораИзСписка» для полей ввода в режиме выбора из списка
12. Отказ в коде программы от свойства «КнопкаСпискаВыбора» для полей ввода, путем установки свойства «КнопкаВыпадающегоСписка».
13. Изменение кода с учетом изменения типа значения, возвращаемого методом глобального контекста «БезопасныйРежим()»
14. Изменение кода с учетом изменение результата запроса к константам (при обращение к полю «Значение» таблицы константы, если константа хранит значение типа «ХранилищеЗначения», «УникальныйИдентификатор» или «ВнешнийИсточникДанныхТаблицаСсылка».
15. Замена свойства конфигурации «ОсновнаяРоль» на «ОсновныеРоли»
16. Отказ от свойств «Пользователь» и «Пароль» для объекта «ИнтернетПрокси» и замена на методы «Установить()», «Пользователь()», «Пароль()».
17. Доработка кода для поддержки команды «Показать в списке», согласно методике перехода на версию 8.3.
18. Доработка кода для поддержания прежней логики работы системы при изменившемся возвращаемом значении свойства СистемнаяИнформация.ВерсияОС,
19. Доработка кода для поддержания прежней логики работы системы при отказе от использования системного перечисление ВариантОткрытияОкна, которое более не доступно в версии 8.3.
20. Доработка кода с учетом отказа от использования модальных окон.
21. Доработка кода по поддержке веб-клиента, а именно отказ от серверных вызовов и открытия окон в «ПередЗакрытием», отказ от серверных вызовов в «ПриЗакрытии».
22. Доработка кода для возможности корректного использования функции РольДоступна(), при передачи функции в качестве параметра отсутствующей роли.
23. Для управляемого приложения: начиная с версии 8.3.8 в обработчиках событий управляемого приложения ПередЗавершениемРаботыСистемы,ПриЗавершенииРаботыСистемы, а также в обработчиках событий управляемой формы, находящейся в режиме закрытия, ПередЗакрытием, ПриЗакрытии, запрещено открывать окна и выполнять любые серверные вызовы . Необходима доработка конфигурации, чтобы закрытие форм выполнялось корректно — без серверных вызовов.
24. Конфликт имен переменных: в модуле формы нельзя использовать имя переменной ПараметрыФормы. Поэтому необходимо доработать все модули управляемых форм, где используются переменные с именем ПараметрыФормы, переименовав эти переменные.

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

Стоимость работ: 76 800 руб.

Шаблон договора на работы можно скачать .

Стоимость работ по переводу конфигурации в режим совместимости с 8.3.10 может быть увеличена , если:
В конфигурации используются управляемые формы
Необходимо отказаться от использования модальности
Нужно поддерживать работоспособность конфигурации в ОС Linux

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

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

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

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

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


Сертификацию могут проходить:
  1. Предназначенные для тиражного распространения программы, взаимодействующие с программами системы "1С:Предприятие" (конфигурации, отчеты, дополнения к типовым конфигурациям, внешние компоненты, клиент-банки, ПО для обмена)
  2. Компьютеры, предназначенные для использования совместно с системой программ "1С:Предприятие 8" в качестве серверов "1С:Предприятие 8"
  3. Кассовое и другое специализированное подключаемое оборудование.
  4. Мобильные устройства предназначенные для организации работы с данными 1С:Предприятия непосредственно на мобильном устройстве.

Разработчик конфигурации должен выполнить следующие условия:

  1. Нельзя в названии конфигурации использовать слово "1С" или логотип "1С" без разрешеия фирмы 1С.
  2. Необходима письменная гарантия руководителя и печать фирмы производителя о том, что продукт не нарушает чьих либо авторских прав.
  3. Необходимо нумеровать версии конфигурации согласно Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8 . Причем выпуск новой версии должен обеспечивать переход с предыдущей с сохранением данных, а при выпуске новой редакции должен быть обеспечен переход с сохранением данных или описана процедура перехода на новую редакцию.
  4. Нельзя использовать термин "типовая конфигурация" применительно к создаваемой конфигурации.
  5. Если ваша конфигурация написана с использованием режима управляемого приложения, то это должно быть указано в документации. Так же он должен функционировать в веб и тонком клиенте. Если в веб-клиенте нельзя выполнить часть функций, то это должно быть описано в документации.
  6. Конфигурация должна уметь различать первый и последующие запуски. При первом запуске конфигурация должна производить обязательное первичное заполнение базы данных и должна иметь возможно необязательного заполнения для упрощения работы с базой данных. После первого запуска или после первого запуска новой версии конфигурация должна представить отчет об изменениях, внесенных в информационную базу.
  7. У всех объектов метаданных должен быть определен синоним
  8. Объекты метаданных верхнего уровня должны быть отсортированы по алфавиту, кроме объектов с префиксом "Удалить". Они должны быть внизу.
  9. Должна быть роль для администратора со всеми правами кроме интерактивного удаления.
  10. Если есть разделение ролей, то должно быть разделения на роли с общими для всех правами и роли в которых есть какие то другие права. Например роль "БазовыеПрава"
  11. Должна быть заполнена справочная информация основных объектов конфигурации.
  12. Необходимо использовать управляемый режим блокировок.
  13. Должны быть заполнены подсказки для всех элементов, в которые пользователем вводятся данные.
  14. Для управляемого приложения рабочий стол всегда должен быть, последний раздел должен быть разделом для администрирования.
  15. Для обычного приложения должны быть общий интерфейс и полный, а так же возможность его переключения из менюю "Сервис".
  16. Для обычного приложения все элементы формы должны быть выровнены.
  17. В коде каждая строка должна содержать только один оператор, текст кода должен быть выровнен табами, не должно быть ошибок при проверки модулей и проверки конфигурации. К функциям должны быть комментарии с описанием действия, параметров и возвращаемого результата.


Понравилась статья? Поделиться с друзьями: