Имя: Пароль:
1C
 
поиск и сравнение значения УФ
0 gurni
 
24.11.17
13:57
Есть такая процедура

&НаКлиенте
Процедура ДанныеСотрудникиПриИзменении(Элемент)
    // Вставить содержимое обработчика.
    ТекТип = НайтиТип("000000003");
    Если Объект.ТипОплаты = ТекТип Тогда
            СтрокаТЧ = Элементы.Данные.ТекущиеДанные;
             СтрокаТЧ.Сумма = ПолучитьЗначениеРеквизитаНаСервере(СтрокаТЧ.Сотрудники,"Оклад");
        Иначе
            СтрокаТЧ = Элементы.Данные.ТекущиеДанные;
            СтрокаТЧ.Сумма = (ПолучитьЗначениеРеквизитаНаСервере(СтрокаТЧ.Сотрудники,"Оклад"))/2;
        
    КонецЕсли;
КонецПроцедуры

в ней обращаемся к функции
&НаСервере
Функция НайтиТип(ТипОпл)
  
    Перем ТипДляПоиска, СсылкаНайденногоТипа;
    ТипДляПоиска = Справочники.ТипОплаты;
    СсылкаНайденногоТипа = ТипДляПоиска.НайтиПоНаименованию(ТипОпл);
    Если СсылкаНайденногоТипа = ТипДляПоиска.ПустаяСсылка() Тогда
        Возврат "Тип не найден";
   Иначе
        Возврат СсылкаНайденногоТипа.Наименование;
    КонецЕсли;
  
КонецФункции;
переменная ТекТип принимает значение "Отпускные" (именно в кавычках)
а Объект.ТипОплаты передает Отпускные (без кавычек)
и выходит при сравнении они не равны(((
в чем моя ошибка? подскажите плиз
1 Lexey_
 
24.11.17
14:08
(0) Возврат СсылкаНайденногоТипа.Наименование;
Так ты строку возвращаешь, чему удивляешься?
2 gurni
 
24.11.17
14:18
(1) а как верно получить значение этого поля?
3 Lexey_
 
24.11.17
14:19
(2) Возврат СсылкаНайденногоТип
4 gurni
 
24.11.17
14:24
(3) спасибо
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший