Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
27 ноя 2024, 21:35

отличия 8.1 от 8.2

Автор artm81, 13 янв 2012, 18:24

0 Пользователей и 1 гость просматривают эту тему.

artm81

есть рабочая процедура,разработанная в платформе 8.1:

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

    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Выборка.Следующий();
    ЭлементыФормы.ДанныеОТоваре.ТекущаяСтрока.Цена=Выборка.Цена;

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



В платформе 8.2 она не работает.Подскажите что нужно изменить

sergejK74

В 8.2 нет ЭлементыФормы, а есть Элементы
Кнопочка Спасибо - слева!

artm81

делал вместо ЭлементыФормы просто Элементы .все равно не работает

artm81

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

    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Выборка.Следующий();
    Элементы.ДанныеОТоваре.ТекущаяСтрока.Цена=Выборка.Цена;

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



НЕ РАБОТАЕТ! Ещё надо что-то менять. Может Нужны 2 процедуры: на клиенте и на сервере?

sergejK74

Получаешь цена в функции с инструкцией препроцессора &НаСервереБезКонтекста, присваиваешь &НаКлиенте

Кнопочка Спасибо - слева!

artm81

&НаКлиенте
Процедура ДанныеОТовареТоварПриИзменении(Элемент)
   ПолучитьЦену();
КонецПроцедуры

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

    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Выборка.Следующий();
    Элементы.ДанныеОТоваре.ТекущаяСтрока.Цена=Выборка.Цена;

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


Так тоже НЕ ВЫХОДИТ!!!! :(

sergejK74

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

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

Кнопочка Спасибо - слева!

artm81

выдает ошибку

sergejK74

исправь ТД.Цена = ПолучитьЦену(ТД.Номенклатура); на ТД.Цена = ПолучитьЦену(ТД.Товар);
Кнопочка Спасибо - слева!

Теги:

Похожие темы (1)

Рейтинг@Mail.ru

Поиск