Вопрос № 28180: Здравствуйте, уважаемые эксперты!
Во многих документах комплексной конфигурации в табличной части есть реквизиты цена, кол-во, сумма (например счет). При вводе цены и количества рассчитывается сумма. Однако, при рассмотрении модуля документа не о...
Вопрос № 28.180
Здравствуйте, уважаемые эксперты!
Во многих документах комплексной конфигурации в табличной части есть реквизиты цена, кол-во, сумма (например счет). При вводе цены и количества рассчитывается сумма. Однако, при рассмотрении модуля документа не обнаружено никаких процедур, выполняющих этот расчет.
Каким образом этот метод реализован.
Отвечает: Temniy
Здравствуйте, Александр Веклюк!
Она находится в глобальном модуле.
Название процедуры
глПересчетТаблЧасти(Конт,ИмяРеквизита, ПараметрыРозничнойЦены)
--------- Не забывайте! Время идёт
Ответ отправил: Temniy (статус: 4-ый класс)
Отправлен: 24.10.2005, 01:51 Оценка за ответ: 5 Комментарий оценки: действительно, есть такая процедура, но в модуле документа опять нет ссылок на нее. При каких условиях она запускается?
Отвечает: Ovr1970
Здравствуйте, Александр Веклюк!
Мой ответ не предентует на полноту, но все же есть много способов это сделать.
Самый распространенный - это процедура "ПриОкончанииРедактированияСтроки()"
Следующий - это вызов процедуры из самих элементов, учавствующих в расчете ( в данном случае Цена и Количество). Возможно формула задана прамо там, даже без вызова процедур. Чтобы просмотреть эти формылы нужно выбрать элемент формы и посмотреть эго свойства на закладке "дополнительно". В реквизите формула может быть много чего написано. Кстати, процедуры, которые здесь вызываются, могут быть из глобального модуля.
Еще возможно использование процедур "ПриНачалеВыбораЗначения" и "ОбработкаВыбораЗначения", но эти процедуры могут использоваться только с реквизитами агрегатного типа (т.е. не строка, не число и не дата)
Ответ отправил: Ovr1970 (статус: 2-ой класс)
Отправлен: 24.10.2005, 11:02 Оценка за ответ: 3 Комментарий оценки: спасибо конечно за ответ, но процедура "ПриОкончанииРедактированияСтроки()" выполняется при окончании редактирования строки, а мне интересно как это делается во время редактирования. Также в свойства реквизитов табличной части не входит "формула", где может быть много чего написано.
Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Александр Веклюк!
В свойствах колонки в закладке Формула стоит ссылка на процедуру глобального модуля. Вот она то и выполняет расчет
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: 4-ый класс)
Отправлен: 28.10.2005, 09:28 Оценка за ответ: 5 Комментарий оценки: спасибо, плохо что затянули с ответом