Хранилище конфигурации
Все конфигурации должны быть подключены к хранилищам конфигураций
Расширения допускается не подключать к хранилищам
...
Каждый разработчик должен работать под своим именем. Для этого он должен получить у Администратора хранилища логин/пароль и право захвата объектов в конфигурации
Обновление рабочей конфигурации происходит под универсальным пользователем. Под этим пользователем не допускается внесение изменений в конфигурацию
Расширения
Расширения могут быть использованы в двух случаях:
Поставщик конфигурации реализовал исправление ошибки
Для внесения срочного изменения конфигурации
...
в
...
конфигурацию
Базы для разработчиков
Каждому разработчику необходимо иметь собственную копию базы с конфигурацией, которую ему необходимо изменять
Для получения копии необходимо обратиться к Администратору баз данных
После получения копии ее необходимо отключить от хранилища и подключить с логином/паролем, полученным Администратором хранилища
...
Переименовать старый реквизит - добавить в начало префикс Удалить_
При переименовании уесть изменение кода модулей
Добавить новый реквизит с новым типом
Изменить код модулей таким образом, чтобы он работал с новым реквизитом
Написать обработку заполнения данных из старого реквизита в новый
После обновления выполнить обработку
Расширения
Расширения могут быть использованы в двух случаях:
Поставщик конфигурации реализовал исправление ошибки
Для внесения срочного изменения конфигурации
В дальнейшем функционал расширения должен пройти рефакторинг и внесение в основную конфигурацию
Дополнительные обработки и отчеты
Дополнительные отчеты и обработки (далее просто Обработки) допускается использовать для очень редко выполняемых задач.
Текст внешней обработки не может быть автоматически протестирован при изменении / обновлении конфигурации, поэтому нет никаких гарантий работоспособности обработок на длительном периоде.
Поэтому все отчеты и обработки, запускаемые хотя бы раз в квартал, должны быть перенесены в основную конфигурацию.
При разработке отчета и обработки
В процессе разработки обработки необходимо создать объект в конфигурации, после чего его можно выгрузить во внешнюю обработку для доработки, оставив объект конфигурации в захваченном виде. При завершении разработки перенести обработку в конфигурацию и поместить в хранилище
Комментарий в тексте модуля
...
НЕ писать комментарий перед процедурой/функцией, если необходимо добавить комментарий, то написать его внутри процедуры
Правильно
Блок кода |
---|
&НаКлиенте Процедура PRO_РасчетЦен(Команда) //Добавлена команда расчета цен, 01.01.2020 Если Объект.Проведен=Истина Тогда PRO_ОбщегоНазначенияСервер.СформироватьОсновнойЗапросЦенообразования(Объект.Ссылка); Иначе Сообщить("Необходимо провести документ"); КонецЕсли; КонецПроцедуры |
Неправильно
Блок кода |
---|
//++PRO, добавлена команда расчета цен, 01.01.2020 &НаКлиенте Процедура PRO_РасчетЦен(Команда) Если Объект.Проведен=Истина Тогда PRO_ОбщегоНазначенияСервер.СформироватьОсновнойЗапросЦенообразования(Объект.Ссылка); Иначе Сообщить("Необходимо провести документ"); КонецЕсли; КонецПроцедуры //--PRO |
...
Примечание |
---|
Нельзя делать просто Отказ = Истина, необходимо ОБЯЗАТЕЛЬНО сообщить пользователю, что не так |
Правильно
Блок кода |
---|
&НаСервере Процедура ПередЗаписью(Отказ) Если ПорядокРасчетов <> Перечисления.ПорядокРасчетов.ПоДоговорамКонтрагентов Тогда ОбщегоНазначения.СообщитьПользователю( "У договора может быть только порядок расчетов ""По договорам"", укажите это свойство на странице ""Расчеты и оформление"" в поле ""Детализация расчетов""", Ссылка,,, Отказ); КонецЕсли; КонецПроцедуры |
Неправильно
Блок кода |
---|
&НаСервере Процедура ПередЗаписью(Отказ) Если ПорядокРасчетов <> Перечисления.ПорядокРасчетов.ПоДоговорамКонтрагентов Тогда Отказ = Истина; КонецЕсли; КонецПроцедуры //--PRO |
...