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

Автоматический расчет суммы, на форме документа

Автор Dmitrius, 30 окт 2016, 13:14

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

Dmitrius

Добрый день.
Знаю, что такая тема уже была, и из той темы я адаптировал код под свои нужды, но почему-то не работает :(
Задача - чтоб ЦенаПродажная менялась при изменении ПроцентаНаценки или ЦеныЗакупочной


&НаКлиенте
Процедура РасчетЦеныПродажной()
   Объект.ЦенаПродажная = (Объект.ЦенаЗакупочная * Объект.ПроцентНаценки) / 100;
КонецПроцедуры

&НаКлиенте
Процедура ЦенаЗакупочнаяПриИзменении(Элемент)
    РасчетЦеныПродажной();
КонецПроцедуры

&НаКлиенте
Процедура ПроцентНаценкиПриИзменении(Элемент)
    РасчетЦеныПродажной();
КонецПроцедуры


Пишет следующее...

{Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(3,4)}: Переменная не определена (Объект)
   <<?>>Объект.ЦенаПродажная = (Объект.ЦенаЗакупочная * Объект.ПроцентНаценки) / 100;
{Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(3,28)}: Переменная не определена (Объект)
   Объект.ЦенаПродажная = (<<?>>Объект.ЦенаЗакупочная * Объект.ПроцентНаценки) / 100;
{Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(3,52)}: Переменная не определена (Объект)
   Объект.ЦенаПродажная = (Объект.ЦенаЗакупочная * <<?>>Объект.ПроцентНаценки) / 100;

Первый раз на форуме, извините если что-то неправильно оформил...

cast


Dmitrius

Цитата: cast от 30 окт 2016, 13:45
Вместо Объект напиши элемент

Пишет те же ошибки, но уже про Элемент

cast

&НаКлиенте
Процедура РасчетЦеныПродажной()
    Стр = Элементы.(ИмяТабличнойЧасти).ТекущиеДанные;
  Стр.ЦенаПродажная = (Стр.ЦенаЗакупочная * Стр.ПроцентНаценки) / 100;
КонецПроцедуры

Сделай так

Dmitrius

Цитата: cast от 30 окт 2016, 14:22
&НаКлиенте
Процедура РасчетЦеныПродажной()
    Стр = Элементы.(ИмяТабличнойЧасти).ТекущиеДанные;
  Стр.ЦенаПродажная = (Стр.ЦенаЗакупочная * Стр.ПроцентНаценки) / 100;
КонецПроцедуры

Сделай так

Табличная часть не используется.
Это простое окошко где надо вводить закупочную цену с % наценки и автоматически получать продажную цену
ЦенаПродажная сделал только для чтения и убрал возможность редактирования из формы

cast

Ну незнай проверь всё. Твой код работает.

Dmitrius

Цитата: cast от 30 окт 2016, 15:08
Ну незнай проверь всё. Твой код работает.

Ок, спасибо.
А можешь описать как правильно привязать этот код к полю? Может в этом я ошибся...
Добавлено: 31 окт 2016, 01:38


Не выдаются ошибки только в таком коде...


&НаКлиенте
Процедура РасчетЦеныПродажной(Форма)
   Форма.ЦенаПродажная = (Форма.ЦенаЗакупочная * Форма.ПроцентНаценки) / 100;
КонецПроцедуры

&НаКлиенте
Процедура ЦенаЗакупочнаяПриИзменении(Элемент)
    Элемент.РасчетЦеныПродажной();
КонецПроцедуры

&НаКлиенте
Процедура ПроцентНаценкиПриИзменении(Элемент)
    Элемент.РасчетЦеныПродажной();
КонецПроцедуры


Но при изменении % наценки или закупочной цены - цена продажная остаётся 0

cast

Открываешь форму документа. Своиства ЦенаЗакупочная приИзмененинии аналогично процентНаценки. И вставляешь свой код.

Dmitrius

Цитата: cast от 31 окт 2016, 11:10
Открываешь форму документа. Своиства ЦенаЗакупочная приИзмененинии аналогично процентНаценки. И вставляешь свой код.

Спасибо)) Но всё заработало только со следующим кодом... И дело было даже не в ошибке формулы.


&НаКлиенте
Процедура РассчитатьЦенуПродажную()
   ЦенаПродажная = ЦенаЗакупочная * (1 + ПроцентНаценки / 100);
КонецПроцедуры

&НаКлиенте
Процедура ЦенаЗакупочнаяПриИзменении(Элемент)
    РассчитатьЦенуПродажную();
КонецПроцедуры

&НаКлиенте
Процедура ПроцентНаценкиПриИзменении(Элемент)
    РассчитатьЦенуПродажную();
КонецПроцедуры


cska-fanat-kz

Цитата: Dmitrius от 01 ноя 2016, 20:52ЦенаПродажная = ЦенаЗакупочная * (1 + ПроцентНаценки / 100);

если у вас все реквизиты - реквизиты формы, то сработает, а если это реквизиты объекта, а тем более реквизиты ТЧ - НЕ сработает.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск