Имя: Пароль:
1C
1С v8
Одна команда в разных документах ведет себя по разному
0 razbiralshik
 
11.03.13
12:55
Документ1. Находится автомобиль.

&НаКлиенте
Процедура VINОткрытие(Элемент, СтандартнаяОбработка)
   СтандартнаяОбработка    = Ложь;
   АвтомобильИзСправочника = ПоискАвтомобиля();
   Если НЕ АвтомобильИзСправочника.Пустая() Тогда
       Адрес1 = ПолучитьНавигационнуюСсылку(АвтомобильИзСправочника);
       ПерейтиПоНавигационнойСсылке(Адрес1);
   КонецЕсли;
КонецПроцедуры

&НаСервере
Функция ПоискАвтомобиля()
   Возврат Справочники.Автомобили.НайтиПоРеквизиту("VIN", Объект.VIN);
КонецФункции


Документ2. НЕ находится автомобиль.
&НаКлиенте
Процедура VINНажатие(Элемент, СтандартнаяОбработка)
   СтандартнаяОбработка    = Ложь;
   АвтомобильИзСправочника = ПоискАвтомобиля(VIN);
   Если НЕ АвтомобильИзСправочника.Пустая() Тогда
       Адрес1 = ПолучитьНавигационнуюСсылку(АвтомобильИзСправочника);
       ПерейтиПоНавигационнойСсылке(Адрес1);
   КонецЕсли;
КонецПроцедуры

&НаСервере
Функция ПоискАвтомобиля(VIN)
   Возврат Справочники.Автомобили.НайтиПоРеквизиту("VIN", VIN);
КонецФункции



Почему может так быть?
1 чувак
 
11.03.13
12:56
прверил через отладчик?
2 Галахад
 
гуру
11.03.13
12:57
Потому что  разные.
3 razbiralshik
 
11.03.13
12:57
(1) да.
4 razbiralshik
 
11.03.13
12:57
(2) переменная VIN она абсолютно одинаковая, строка из 17 символов.
5 чувак
 
11.03.13
12:59
Справочники.Автомобили.НайтиПоРеквизиту("VIN", Объект.VIN);
Справочники.Автомобили.НайтиПоРеквизиту("VIN", VIN);
почему они разные?
6 razbiralshik
 
11.03.13
13:02
(5) да госпади.... сделал так и все равно ведет себя как и ранее:

Справочники.Автомобили.НайтиПоРеквизиту("VIN", VIN);
Справочники.Автомобили.НайтиПоРеквизиту("VIN", VIN);
7 razbiralshik
 
11.03.13
13:03
(5) есть реквизит объекта, а есть реквизит формы, главное какое в нем значение в данном примере!
8 чувак
 
11.03.13
13:04
(6) Хмдддааа. Логика хромает.
А наоборот сделать попробовали?
9 Жан Пердежон
 
11.03.13
13:05
точно VIN одинаковые?
10 razbiralshik
 
11.03.13
13:05
(8) какая логика?
нет, т.к. на втором документе не нужен реквизит объекта!
11 razbiralshik
 
11.03.13
13:05
(9) да
12 Жан Пердежон
 
11.03.13
13:08
может &НаСервереБезКонтекста ?
13 Reset
 
11.03.13
13:14
Версия:
реквизит в объекте реальный: "   hahaha"

Что ищем в случае 1: реквизит объекта, т.е. "   hahaha" - находим.

Что ищем в случае 2: некую строку (видимо реквизит формы), т.е. "hahaha" - Не находим.
14 razbiralshik
 
11.03.13
13:15
Кэш почистил, заработало.... ппц
15 Reset
 
11.03.13
13:15
А, еще если не доверять (4) то может банально реквизит - ссылка, а во втором случае ищет строку.
16 Reset
 
11.03.13
13:15
(14) тт