Каталог решений - Доработки конфигурации. Один совет по избежанию потенциальных грабель

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

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

В наличии

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

Категория:

Описание

Например, безобидная конструкция

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    
    //начало доработки
    Для Каждого Оформление Из ОформленияСтрок Цикл
        //что-то там делаем
    КонецЦикла;
    //конец доработки
    
    //стандартный код
    // тут пока ничего нет
    //конец стандартного кода
    
КонецПроцедуры

после очередного обновления может превратиться в 

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    
    //начало доработки
    Для Каждого Оформление Из ОформленияСтрок Цикл
        //что-то там делаем
    КонецЦикла;
    //конец доработки
    
    //стандартный код
    Если ЛунаНаходитсяВДомеВенеры() Тогда
        Оформление = ВесёленькиеЦвета();
    КонецЕсли;
    
    Если Оформление<>Неопределено Тогда
        РаскраситьСтроки(ОформленияСтрок, Оформление);
    КонецЕсли;
    //конец стандартного кода
    
КонецПроцедуры

Видно, что если Луна не находится в доме Венеры, то разработчик предполагает, что Оформление = Неопределено. А в результате работы вашего куска кода это не так. Поэтому лучше написать:

Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
	
	//начало доработки
	Доработка_СписокПриПолученииДанных(Элемент, ОформленияСтрок);
	//конец доработки
	
	//стандартный код
	// тут пока ничего нет, но однажды может появиться!
	//конец стандартного кода
	
КонецПроцедуры

Процедура Доработка_СписокПриПолученииДанных(Элемент, ОформленияСтрок)
	
	Для Каждого Оформление Из ОформленияСтрок Цикл
		//что-то там делаем
	КонецЦикла;
	
КонецПроцедуры

has been added to your cart:
Оформление заказа