Имя: Пароль:
1C
1С v8
ПолучитьЗначениеРеквизитаНаСервере
0 antihacker
 
23.07.15
16:58
Всем привет.

Вот код.

Функция ПолучитьЗначениеРеквизитаНаСервере(Ссылка, ИмяРеквизита)Экспорт
   Возврат Ссылка[ИмяРеквизита];                                    
КонецФункции

&НаКлиенте
Процедура ТоварыПриАктивизацииСтроки(Элемент)
Если Объект.Товары.Количество()<>0 Тогда    
сообщить(ПолучитьЗначениеРеквизитаНаСервере("Номенклатура",Элементы.Товары.ТекущаяСтрока));
КонецЕсли;
КонецПроцедуры

пишет

{Обработка.ИнтерфейсКассира.Форма.Форма.Форма(829)}: Ошибка при вызове метода контекста (ПолучитьЗначениеРеквизитаНаСервере)
сообщить(ПолучитьЗначениеРеквизитаНаСервере("Номенклатура",Элемент.ТекущиеДанные));
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:


ЧТО НЕ ТО ?
1 Timon1405
 
23.07.15
16:59
все наоборот, Карл!
2 antihacker
 
23.07.15
17:00
Что наоброт ?
3 DmitrO
 
23.07.15
17:00
да тут вообще все не то.. :)
4 antihacker
 
23.07.15
17:01
Мляяяя сорри. В таком варианте уходит в безконечный цикл.

ВОТ ТАК !
5 DmitrO
 
23.07.15
17:01
параметры наоборот
6 antihacker
 
23.07.15
17:01
сообщить(ПолучитьЗначениеРеквизитаНаСервере("Номенклатура",Элемент.ТекущиеДанные));
7 fisher
 
23.07.15
17:01
А чем не устраивает
Элементы.Товары.ТекущиеДанные.Номенклатура?
8 Timon1405
 
23.07.15
17:02
(2) !лраК, торобоан есв
9 antihacker
 
23.07.15
17:02
Тогда выходит ошибка.
10 fisher
 
23.07.15
17:04
ТС, пойди чайку попей, в окно посмотри. А потом еще раз на код глянь.
11 antihacker
 
23.07.15
17:09
Чем не устраивает ?

Тогда вот этот с****ка уходит в безконечный цикл

&НаКлиенте
Процедура ТоварыПриАктивизацииСтроки(Элемент)
Если Объект.Товары.Количество()<>0 Тогда    
АкцияНоменклатуры(Элементы.Товары.ТекущиеДанные.Номенклатура);
//сообщить(Элементы.Товары.ТекущиеДанные.Номенклатура);
КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура АкцияНоменклатуры(Номенклатура)
        сообщить(Номенклатура);
        //----Запрос. Есть ли акция или по данной номенклатуре--
        Запрос=новый запрос;
        Запрос.Текст="ВЫБРАТЬ        
        |    ЦелевыеНоменклатуры.Ссылка.АкцииНоменклатур КАК АкцииНоменклатур,
        |    ЦелевыеНоменклатуры.Ссылка.ДатаНачало КАК ДатаНачало,
        |    ЦелевыеНоменклатуры.Ссылка.ДатаКонца КАК ДатаКонца,
        |    ЦелевыеНоменклатуры.Ссылка.ТипЛимита КАК ТипЛимита,
        |    ЦелевыеНоменклатуры.Ссылка.СхемаАкции КАК СхемаАкции,
        |    ЦелевыеНоменклатуры.Ссылка.ОбщееКоличествоПартии КАК ОбщееКоличествоПартии,
        |    ЦелевыеНоменклатуры.Ссылка.ОбщееКоличествоБонусов КАК ОбщееКоличествоБонусов        
         |ИЗ
        |    Документы.УстановкаАкцииНоменклатуры.ЦелевыеНоменклатуры  Как ЦелевыеНоменклатуры  ГДЕ
        |    ЦелевыеНоменклатуры.Номенклатура = &Номенклатура";
            
    Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
    
    ДанныеАкции=запрос.Выполнить().Выбрать();

    Пока ДанныеАкции.Следующий() Цикл
    Объект.НаименованиеАкции=ДанныеАкции.АкцииНоменклатур;    
    КонецЦикла;    
    //------------------------------------------------------
КонецПроцедуры    

  Почему б*****ть
12 Timon1405
 
23.07.15
17:16
(11) есть легенда, что, если изменять "объект", отправляя его на форму, повторно вызывая событие активизации 1000 раз, то можно вызвать дьявола, поаккуратнее там с этим
13 antihacker
 
23.07.15
17:17
не шуток браток
14 Timon1405
 
23.07.15
17:18
кажется ваш второй вопрос уже не соответствует теме?
15 antihacker
 
23.07.15
17:20
Так по теме задали другой вопрос. Чем не устраивает Элементы.Товары.ТекущиеДанные.Номенклатура?

Я и ответил