Функция ЭтоЧисло(Символ) Экспорт
Если (КодСимв(Символ)>=48) И (КодСимв(Символ)<=57) Тогда
Возврат(1);
И
наче
Возврат(0);
КонецЕсли;
КонецФункции
//функция возвращает копейки
Функция гКопейки(З
начение) Экспорт
Грн=Цел(З
начение);
Коп=З
начение-Грн;
Возврат(Коп
![](images/smilies/10.gif)
0);
КонецФункции
//функция возвращает сумму без скидки
Функция гСкидка(Сумма,Скидка) Экспорт
Возврат Сумма*(1-Скидка/100);
КонецФункции
//функция уста
навливает новое з
начение реквизита документа или справочника и задаёт вопрос, если новое з
начение не соответствует предыдущему
Функция гЗ
начение(Ко,Атрибут,З
начение) Экспорт
З
нач1=Ко.ПолучитьАтрибут(Атрибут);
З
нач2=З
начение;
//проверка
Если Не(ТипЗ
наченияСтр(З
нач1)=ТипЗ
наченияСтр(З
нач2)) Тогда
//несоответствие типов
Возврат(0);
И
начеЕсли Не(ТипЗ
наченияСтр(З
нач2)="Число") И (ПустоеЗ
начение(З
нач2)=1) Тогда
//пустое новое з
начение
Возврат(0);
КонецЕсли;
//реквизит
Если Метаданные.Документ(Ко.Вид()).Выбран()=1 Тогда
//документ
Если Метаданные.Документ(Ко.Вид()).РеквизитШапки(Атрибут).Выбран()=1 Тогда
Ж=Метаданные.Документ(Ко.Вид()).РеквизитШапки(Атрибут);
Имя=Ж.Представление();
И
начеЕсли Метаданные.Документ(Ко.Вид()).РеквизитТабличнойЧасти(Атрибут).Выбран()=1 Тогда
Ж=Метаданные.Документ(Ко.Вид()).РеквизитТабличнойЧасти(Атрибут);
Имя=Ж.Представление()+" (строка "+Ко.НомерСтроки+")";
И
наче
Ж=Метаданные.ОбщийРеквизитДокумента(Атрибут);
Имя=Ж.Представление();
КонецЕсли;
И
начеЕсли Метаданные.Справочник(Ко.Вид()).Выбран()=1 Тогда
//справочник
Ж=Метаданные.Справочник(Ко.Вид()).Реквизит(Атрибут);
Имя=Ж.Представление();
Если ПустаяСтрока(Имя)=1 Тогда
Имя=Атрибут;
КонецЕсли;
КонецЕсли;
//форматирование
Если ТипЗ
наченияСтр(З
нач2)="Строка" Тогда
З
нач1=СокрЛП(З
нач1);
З
нач2=СокрЛП(З
нач2);
И
начеЕсли ТипЗ
наченияСтр(З
нач2)="Число" Тогда
З
нач2=Окр(З
нач2,Ж.Точность);
КонецЕсли;
//проверка
Если З
нач1=З
нач2 Тогда
Возврат(0);
КонецЕсли;
//установка з
начения
Если ПустоеЗ
начение(З
нач1)=0 Тогда
Текст=
"Атрибут: "+Имя+"
|
|Старое з
начение: "+СимволТабуляции+З
нач1+"
|Новое з
начение: "+СимволТабуляции+З
нач2+"
|
|Установить новое з
начение?";
Если Вопрос(Текст,"Да+Нет")="Нет" Тогда
Возврат(0)
КонецЕсли;
КонецЕсли;
//з
начение
Ко.УстановитьАтрибут(Атрибут,З
нач2);
Возврат(1);
КонецФункции