Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как передать переменную с клиента на сервер
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
lolmatrix
Здравствуй, уважаемые специалисты, помогите пожалуйста новичку, НаКлиенте получаю переменную , ее надо передать наСервер, как можно это сделать ,
&НаКлиенте
Процедура СписокЗЧНаименованиеПриИзменении(Элемент)
    СтрокаТЧ = Элементы.СписокЗЧ.ТекущиеДанные;
    СписокЗЧНаименованиеПриИзмененииНаСервере();
КонецПроцедуры

&НаСервере
Процедура СписокЗЧНаименованиеПриИзмененииНаСервере()
    Запчасть = СтрокаТЧ.Наименование;

Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Цены.Запчасть,
        |    Цены.Сумма
        |ИЗ
        |    РегистрСведений.Цены КАК Цены
        |ГДЕ
        |    Цены.Запчасть = &Запчасть";

    Запрос.УстановитьПараметр("Запчасть", Запчасть);

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ТД.Цена =  ВыборкаДетальныеЗаписи.Сумма;
    КонецЦикла;

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

Vofka @ 19.06.18, 16:57 необходимо зарегистрироваться для просмотра ссылки ,
а как передать всю строку
Petre
lolmatrix @ Today, 14:15 необходимо зарегистрироваться для просмотра ссылки ,
А зачем ее передавать?
&НаКлиенте
Процедура СписокЗЧНаименованиеПриИзменении(Элемент)
    СписокЗЧНаименованиеПриИзмененииНаСервере();
КонецПроцедуры

&НаСервере
Процедура СписокЗЧНаименованиеПриИзмененииНаСервере()
    СтрокаТЧ = Элементы.СписокЗЧ.ТекущиеДанные;
    
    // . . .

КонецПроцедуры
ed.kharkov
Petre @ Сегодня, 15:25 необходимо зарегистрироваться для просмотра ссылки ,
ТекущиеДанные недоступны на сервере.

На сервере можно получить так:

&НаСервере
Процедура СписокЗЧНаименованиеПриИзмененииНаСервере()
    СтрокаТЧ = Объект.СписокЗЧ[Элементы.СписокЗЧ.ТекущаяСтрока];
    
    // . . .

КонецПроцедуры
lolmatrix
ed.kharkov @ Сегодня, 15:38 необходимо зарегистрироваться для просмотра ссылки ,
ed.kharkov @ Сегодня, 15:38 необходимо зарегистрироваться для просмотра ссылки ,
теперь вопрос цена попала в оттладчике она есть, но на форме не отразилась

lolmatrix @ Сегодня, 15:55 необходимо зарегистрироваться для просмотра ссылки ,
огромное спасибо, за помощь вопрос решен ответом Ed. kharkov
НаСервере
Процедура СписокЗЧНаименованиеПриИзмененииНаСервере()
СтрокаТЧ = Объект.СписокЗЧ[Элементы.СписокЗЧ.ТекущаяСтрока];

// . . .

КонецПроцедуры
ed.kharkov
lolmatrix @ Сегодня, 15:55 необходимо зарегистрироваться для просмотра ссылки ,
&НаКлиенте
Процедура СписокЗЧНаименованиеПриИзменении(Элемент)
   СписокЗЧНаименованиеПриИзмененииНаСервере();
   Прочитать();
КонецПроцедуры
lolmatrix
второй, логичный вопрос, как передать переменную обратно на клиент
awp
lolmatrix @ Сегодня, 13:19 необходимо зарегистрироваться для просмотра ссылки ,
Вместо Процедура СписокЗЧНаименованиеПриИзмененииНаСервере()
Пишите Функция и возвращайте значение

Можете объяснить
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ТД.Цена =  ВыборкаДетальныеЗаписи.Сумма;
    КонецЦикла;
lolmatrix
Процедура СписокЗЧНаименованиеПриИзменении(Элемент)
    СтрокаТЧ = Элементы.СписокЗЧ.ТекущиеДанные;
СтрокаТЧНаименование =  строкаТЧ.Наименование
    СписокЗЧНаименованиеПриИзмененииНаСервере(СтрокаТЧНаименование);
КонецПроцедуры

&НаСервере
Процедура СписокЗЧНаименованиеПриИзмененииНаСервере()
    Запчасть = СтрокаТЧНаименованиее;

Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Цены.Запчасть,
        |    Цены.Цена
        |ИЗ
        |    РегистрСведений.Цены КАК Цены
        |ГДЕ
        |    Цены.Запчасть = &Запчасть";

    Запрос.УстановитьПараметр("Запчасть", Запчасть);

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        СтрокаТЧ.Цена =  ВыборкаДетальныеЗаписи.Цена;
    КонецЦикла;

КонецПроцедуры


Как на клиен теперь вернуть Цена из запроса


 ! 

необходимо зарегистрироваться для просмотра ссылки: 9
 
awp
Попробуйте так

&НаКлиенте
Процедура СписокЗЧНаименованиеПриИзменении(Элемент)
    СтрокаТЧ = Элементы.СписокЗЧ.ТекущиеДанные;
    СтрокаТЧ.Цена = ПолучитьЦенуНаСервере(СтрокаТЧ.Запчасть);
КонецПроцедуры


&НаСервере
Функция ПолучитьЦенуНаСервере(Элемент)
     Возврат = РегистрыСведений.Цены.ПолучитьПоследнее(ТекущаяДата(),Новый Структура("Запчасть",Элемент)).Цена;
КонецФункции
lolmatrix
Спасибо попробую


выдает ошибку
{Документ.ВыдачаЗапасныхЧастей.Форма.ФормаДокумента.Форма(5,13)}: Ожидается выражение
Возврат<<?>> = РегистрыСведений.Цены.ПолучитьПоследнее(ТекущаяДата(),Новый Структура("Запчасть",Элемент)).Цена; (Проверка: Сервер)
awp
lolmatrix @ Сегодня, 13:54 необходимо зарегистрироваться для просмотра ссылки ,
Возврат РегистрыСведений.Цены.ПолучитьПоследнее(ТекущаяДата(),Новый Структура("Запчасть",Элемент)).Цена;
lolmatrix
Возврат РегистрыСведений.Цены.ПолучитьПоследнее(ТекущаяДата(),Новый Структура("Запчасть",Элемент)).Цена;


спасибо уважаемый AWP работает
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.