Ответить на тему  [ Сообщений: 8 ] 
Поле Количество 
Автор Сообщение
Новичок
Аватара пользователя

Зарегистрирован: Ср, 12 июл 2006, 18:59
Сообщения: 16
Откуда: Луганск
Написано: Ср, 12 июл 2006, 19:13
Сообщение Поле Количество
В документ Счет на продажу добавил поля табличной части (Длина, Ширина, Колво).
Как присвоить результат вичисления (=Длина/1000*Ширина/1000*Колво) полю количество???? :kickkbd:


Профиль
Бывалый

Зарегистрирован: Ср, 02 июн 2004, 16:42
Сообщения: 169
Откуда: Донецк
Написано: Чт, 13 июл 2006, 10:10
Сообщение 
Можно посмотреть как сделано, к примеру, в НакладнаяОтпуска.
Там в табличной части есть поля (калькулируемые) МассаСтроки, ПлощадьСтроки.

Смотреть procedure MDS_VPABeforeOpen, строка

MasterData.SetTableOnCalcFields(EntryPoint(TableCalcFields));

Код:
procedure TableCalcFields(Doc : Variant);
begin
 if LockCalc then exit;
 CalcLineSumma(Doc); //находится в модуле Расчёты
end;


Кажется, там все будет понятно.

_________________
С уважением, Федосов Вячеслав.


Профиль WWW
Новичок
Аватара пользователя

Зарегистрирован: Ср, 12 июл 2006, 18:59
Сообщения: 16
Откуда: Луганск
Написано: Чт, 13 июл 2006, 10:18
Сообщение 
Почему когда добавляю эту формул в процедуру CalcLineSumma модуля расчеты появляется исключениие. Если поле Количество сделать калькулируем, тогда работает моя формула, но не работает расчет суммы по документу.

Поэтому поковырялся еще немного и добавил свою формулу в процедуру GoodTDSFieldChange модуля расчеты. Работает, но пересчет суммы по документу только после перемещения по DBGrid вверх или вниз.
Чего делать в такой ситуации????


Профиль
Бывалый

Зарегистрирован: Ср, 02 июн 2004, 16:42
Сообщения: 169
Откуда: Донецк
Написано: Чт, 13 июл 2006, 11:14
Сообщение 
Цитата:
Поэтому поковырялся еще немного и добавил свою формулу в процедуру GoodTDSFieldChange модуля расчеты. Работает, но пересчет суммы по документу только после перемещения по DBGrid вверх или вниз.
Чего делать в такой ситуации????

Может я и ошибаюсь, но это так и работало.
Так что причин для беспокойства нет, тем более, что при
записи документа отрабатывает расчет сумм в любом случае.

_________________
С уважением, Федосов Вячеслав.


Профиль WWW
Профи

Зарегистрирован: Чт, 27 май 2004, 14:43
Сообщения: 592
Откуда: Хмельницкий
Написано: Чт, 13 июл 2006, 14:08
Сообщение 
оооооо брат но несчастью.
рулону продаеш.
как я с этим намучался в свое время....

_________________
С Уважением
Андрей Паламарчук
KLAST LTD


Профиль ICQ WWW
Новичок
Аватара пользователя

Зарегистрирован: Ср, 12 июл 2006, 18:59
Сообщения: 16
Откуда: Луганск
Написано: Чт, 13 июл 2006, 18:52
Сообщение 
Вячеслав писал(а):
Можно посмотреть как сделано, к примеру, в НакладнаяОтпуска.
Там в табличной части есть поля (калькулируемые) МассаСтроки, ПлощадьСтроки.

Смотреть procedure MDS_VPABeforeOpen, строка

MasterData.SetTableOnCalcFields(EntryPoint(TableCalcFields));

[code:1]
procedure TableCalcFields(Doc : Variant);
begin
if LockCalc then exit;
CalcLineSumma(Doc); //находится в модуле Расчёты
end;
[/code:1]

Кажется, там все будет понятно.




Этот вариант работает в том случае если поле Количество калькулируемое в противном случае - исключение!!!! А если сделать Количество калькулируемым полем!!! :thread:

[off]Добавлено [Чт, 13 Июл 2006, 19:10]:[/off]

Если в процедуру TDS_FieldChange добавить CalcDocSumma(MasterData) проблема исчезает. :)
Может это чемто чревато но пока проблем не заметил.


[off]Добавлено [Чт, 13 Июл 2006, 19:13]:[/off]

Добавил в процедуру TDS_FieldChange созданного мною документа и проблема исчезла. Пересчитывает сумму документа при каждом изменении любого поля. Может это чемто чревато????


Профиль
Бывалый

Зарегистрирован: Ср, 02 июн 2004, 16:42
Сообщения: 169
Откуда: Донецк
Написано: Пт, 14 июл 2006, 9:38
Сообщение 
Проблем никаких быть по идее не должно, просто, сумма документа
будет пересчитываться при изменении любого поля таблицы
(надо это или не надо).

_________________
С уважением, Федосов Вячеслав.


Профиль WWW
Новичок
Аватара пользователя

Зарегистрирован: Ср, 12 июл 2006, 18:59
Сообщения: 16
Откуда: Луганск
Написано: Пт, 14 июл 2006, 10:05
Сообщение 
Оператор должен оперативно видеть сумму по документу. Поэтому это необхомимо. Я думаю что правильнее будет привязать пересчет суммы только при изменение определенных полей. Хотя при этом особо ни чего не изменится - имею ввиду скорость работы.


Профиль
Показать сообщения за:  Поле сортировки  
 [ Сообщений: 8 ] 

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware.
Русская поддержка phpBB