Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Автоматическое вычисление значение Поля

↓ [Волшебник, 09.11.20 - 08:22]
Автоматическое вычисление значение Поля
Я
   Means_Nothing
 
08.11.20 - 22:58
Добрый день всем гуру этого форума кто прочитает эту тему! нужна помощь с созданием Процедуры для автоматического заполнения поля "Цена" табличной части документа. Сам мой запрос выглядит так:

&НаСервере
Процедура ПриИзмененииНаСервере()

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

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

вылетают ошибки неопознанными полями:

{Документ.УстановкаЦеныНаТовар.Форма.ФормаДокумента.Форма(23,51)}: Переменная не определена (Дата)
                   запрос.УстановитьПараметр("Дата", КонецДня(<<?>>Дата)); (Проверка: Сервер)
{Документ.УстановкаЦеныНаТовар.Форма.ФормаДокумента.Форма(24,45)}: Переменная не определена (ТипЦены)
                   запрос.УстановитьПараметр("ТипЦены", <<?>>ТипЦены.НаценкаОтЦены); (Проверка: Сервер)
{Документ.УстановкаЦеныНаТовар.Форма.ФормаДокумента.Форма(28,66)}: Переменная не определена (ТипЦены)
                       ЭлементФормы.Товары.ТекущиеДанные.Цена = выборка.Цена*(1+<<?>>ТипЦены.ПроцентНаценки/100); (Проверка: Сервер)
{Документ.УстановкаЦеныНаТовар.Форма.ФормаДокумента.Форма(25,43)}: Переменная не определена (Элементформы)
                   запрос.УстановитьПараметр("Товар", <<?>>Элементформы.Товары.ТекущиеДанные.Товар); (Проверка: Сервер)
{Документ.УстановкаЦеныНаТовар.Форма.ФормаДокумента.Форма(28,9)}: Переменная не определена (Элементформы)
                       <<?>>ЭлементФормы.Товары.ТекущиеДанные.Цена = выборка.Цена*(1+ТипЦены.ПроцентНаценки/100); (Проверка: Сервер)
{Документ.УстановкаЦеныНаТовар.Форма.ФормаДокумента.Форма(30,9)}: Переменная не определена (Элементформы)
                       <<?>>ЭлементФормы.Товары.ТекущиеДанные.Цена = 0; (Проверка: Сервер)

как новичку нужна помощь просветленных в этом для вас простой, а для меня - сверхразумной задачей
   Волшебник
 
1 - 09.11.20 - 00:04
на сервере нет форм
   hhhh
 
2 - 09.11.20 - 04:44
(0) у вас действительно не опредедены эти переменные Дата, ТИпЦены, ЭлементФормы. Поэтому тут и подсказать особо нечего. Определите эти переменные.
   Means_Nothing
 
3 - 09.11.20 - 22:16
Форма присутствует в документе, в котором пытаюсь добавить данную процедуру
https://ibb.co/fvSDbdt
   Means_Nothing
 
4 - 14.11.20 - 18:35
нашел решение: нужно было ко всем своим переменным добавить "Элементы", чтоб обращаться к элементам формы

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.