1С На Реализации товаров услуги на записывает разницу Всего сумму
Реализация Товаров Услуг добавил два поля Предоплата и ОстатокСуммы , суть такая из поля Всего должен отнимать сумму Предоплату и записать разницу в поля ОстатокСуммы
для этого я в модуле РеализацияТоваровУслуг сделал таким образом, но поля ОстатокСуммы не записывает разницу.
помогите что я не правильно делаю, как все правильно сделать?
я новичок в 1С
&НаКлиенте
Процедура ОстатокСуммыПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Услуги.ТекущиеДанные;
ПараметрыРасчета = ПодготовитьПараметрыРасчета("Услуги");
ОбработкаТабличныхЧастейКлиентСервер.РассчитатьЦенуСтрокиТабличнойЧасти(СтрокаТабличнойЧасти, ПараметрыРасчета);
Если Элементы.ОстатокСуммы > Элементы.УслугиВсего Тогда
Сообщить("Предоплата не может быть больше общей суммы!");
Элементы.ОстатокСуммы = Элементы.УслугиВсего;
КонецЕсли;
// Рассчитываем остаток
Элементы.ОстатокСуммы = Элементы.УслугиВсего - Элементы.Предоплата;
// Сохраняем изменения в объект
Если Не ЭтотОбъект.Записать() Тогда
Сообщить("Ошибка при сохранении изменений!");
КонецЕсли;
ОбновитьПодвалФормы();
КонецПроцедуры
для этого я в модуле РеализацияТоваровУслуг сделал таким образом, но поля ОстатокСуммы не записывает разницу.
помогите что я не правильно делаю, как все правильно сделать?
я новичок в 1С
&НаКлиенте
Процедура ОстатокСуммыПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Услуги.ТекущиеДанные;
ПараметрыРасчета = ПодготовитьПараметрыРасчета("Услуги");
ОбработкаТабличныхЧастейКлиентСервер.РассчитатьЦенуСтрокиТабличнойЧасти(СтрокаТабличнойЧасти, ПараметрыРасчета);
Если Элементы.ОстатокСуммы > Элементы.УслугиВсего Тогда
Сообщить("Предоплата не может быть больше общей суммы!");
Элементы.ОстатокСуммы = Элементы.УслугиВсего;
КонецЕсли;
// Рассчитываем остаток
Элементы.ОстатокСуммы = Элементы.УслугиВсего - Элементы.Предоплата;
// Сохраняем изменения в объект
Если Не ЭтотОбъект.Записать() Тогда
Сообщить("Ошибка при сохранении изменений!");
КонецЕсли;
ОбновитьПодвалФормы();
КонецПроцедуры
По теме из базы знаний
- Конструирование аналитической структуры плана счетов в программе «1С:Бухгалтерия 8» с целью обеспечения достоверности финансовой отчетности
- 50+ советов для успешной сдачи 1С: Специалист по платформе
- Разработка и сценарное тестирование с Vanessa-ADD. Концепция, теория и сквозной пример создания сценария
- Конфигурация Flowcon: Набор инструментов для управления задачами, проектами и бизнесом в 1С
- Регистры бухгалтерии. Настройки, субконто и движения с субконто
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Делайте через Объект.
// Рассчитываем остаток
Объект.ОстатокСуммы = Объект.УслугиВсего - Объект.Предоплата;
1 - Сделайте это отдельной процедурой.
2 - Определите все события, где должна пересчитываться сумма.
3 - Во все обработчики событий вставьте свою процедуру.
// Рассчитываем остаток
Объект.ОстатокСуммы = Объект.УслугиВсего - Объект.Предоплата;
1 - Сделайте это отдельной процедурой.
2 - Определите все события, где должна пересчитываться сумма.
3 - Во все обработчики событий вставьте свою процедуру.
Здраствуйте!
(2)
сделал отдельный процедуру
через Элементы достаю до полей ОстатокСуммы,УслугиВсего,Предоплата. Так-как через объекты не видит этих полей.
На все события указал свою процедуру
типа:
Процедура ОстатокСумму(Команда)
Объект.ОстокСуммы = Объект.УслугиВсего - Объект.Предоплата;
КонецПроцедуры
&НаКлиенте
Процедура ОстатокСуммыНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если Элементы.ОстатокСуммы > Элементы.УслугиВсего Тогда
Сообщить("Предоплата не может быть больше общей суммы!");
Элементы.ОстатокСуммы = ЭтотОбъект.Всего;
КонецЕсли;
// Рассчитываем остаток
Элементы.Предоплата = Элементы.ОстатокСуммы;
Элементы.ОстатокСуммы = Элементы.УслугиВсего - Элементы.Предоплата;
// Сохраняем изменения в объект
Если Не ЭтотОбъект.Записать() Тогда
Сообщить("Ошибка при сохранении изменений!");
КонецЕсли;
КонецПроцедуры
но не сработала.
где я тут не правильно делаю можете подсказать?
(2)
сделал отдельный процедуру
через Элементы достаю до полей ОстатокСуммы,УслугиВсего,Предоплата. Так-как через объекты не видит этих полей.
На все события указал свою процедуру
типа:
Процедура ОстатокСумму(Команда)
Объект.ОстокСуммы = Объект.УслугиВсего - Объект.Предоплата;
КонецПроцедуры
&НаКлиенте
Процедура ОстатокСуммыНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Если Элементы.ОстатокСуммы > Элементы.УслугиВсего Тогда
Сообщить("Предоплата не может быть больше общей суммы!");
Элементы.ОстатокСуммы = ЭтотОбъект.Всего;
КонецЕсли;
// Рассчитываем остаток
Элементы.Предоплата = Элементы.ОстатокСуммы;
Элементы.ОстатокСуммы = Элементы.УслугиВсего - Элементы.Предоплата;
// Сохраняем изменения в объект
Если Не ЭтотОбъект.Записать() Тогда
Сообщить("Ошибка при сохранении изменений!");
КонецЕсли;
КонецПроцедуры
но не сработала.
где я тут не правильно делаю можете подсказать?
Прикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот