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

вычисление баланса

Автор mahaidor, 04 окт 2016, 05:04

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

mahaidor

Здравствуйте. 1с 8.3 Управляемые формы.

Есть простой код:
Объект.БалансДо=ПолучитьБалансСчета();//получаем баланс до операции
БалансДо=Объект.БалансДо;
СуммаОперации=Объект.СуммаОперации;
    Объект.БалансПосле=БалансДо+СуммаОперации; //балансПосле


Смысл кода: получаю баланс до операции. Суммирую его с суммой операции для получения величины нового баланса.

Вопрос: когда первый раз вводишь сумму операции проблемы нет, но если захочется изменить сумму операции в уже проведенном документе, то поле старого баланса: БалансДо=БалансПосле-СуммаОперации, потому что при редактировании суммы операции заново пересчитывается баланс.  В событии ПриИзменении эту тему не прописать, потому что в ней не сохраняется старое значение СуммыОперации.

Можно создать реквизит и сохранять в него дублем сумму операции, чтобы потом использовать его в этой ситуации, вытаскивая старую сумму операции как из ящика. Но есть ли альтернатива этому решению?:thwrt:

mahaidor

Проблему решил , просто с утра не стой ноги встал

    БалансДо=Объект.БалансДо;
  БалансПосле=Объект.БалансПосле;
  СуммаОперации=Объект.СуммаОперации;
 
  Если Объект.Проведен=Ложь
  Тогда
     Объект.БалансДо=ПолучитьБалансСчета();//получаем баланс до операции
  КонецЕсли;
   
      Объект.БалансПосле=БалансДо+СуммаОперации; //балансПосле


Теперь, когда документ новый, то получааю остатки баланса из регистра в поле БалансДо, если же надо отредактировать сумму операции, соответственно  в поле Баланс До сохранен баланс до операции .

Теги:

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

Рейтинг@Mail.ru

Поиск