27.06.2008, 13:46 | #1 |
Участник
|
Добрый день! У меня опять проблема с C/AL кодом. Дело вот в чем: нужно чтобы в заказе поле Line Amount (сумма строки) считалась сумма минус скидка, и чтобы это число делилось на 6. НАПРИМЕР если сумма строки минус скидка = 37,11 тогда 37,11/6 = 6,185 (округляем в большую сторону) = 6,19 * 6 = 37,14 (та сумма которая должна быть).
В каком триггере это писать и с чего начать незнаю. Помогите люди добрые. Если можно покажите пример кода. За ранее примного благодарен. |
|
27.06.2008, 13:56 | #2 |
Участник
|
Откройте 37 таблицу в режиме дизайнера, нажмите клавишу F9. Откроется редактор кода. Ctrl-F - откроется окно поиска. Туда введите Line Amount. И посмотрите в каких местах оно юзается. А потом подумайте еще раз - вам все еще надо делить ЭТО поле на 6 или завести новое для отдельной обработки и использования.
пс. Если сделаете по-своему сразу узнаете больше о триггерах навижена .. |
|
27.06.2008, 14:27 | #3 |
MCTS
|
Вы, точно уверены, что вам нужно делить на 6 именно в коде?
Скидки строки, вы уже используете. Посмотрите теперь еще и скидки по счету. Укажите скидку по счету 83,33333% результат будет тот же (сумма уменьшится в 6 раз). Сумма скидки по счету будет "распределено" на кажду строку. Таким образом согласно вашему примеру будет: Line Amount = 37,11 Inv. Discount Amount = 30,92 Сумму 6,19 легко посчитать. Кстати в стандартном счете-фактуре будет именно сумма 6,19 и никаких упоминаний о скидках. Печатные же формы править все же проще. PS если то, что вы делаете с Sales Line - в образовательных целях, пожалуйста сообщите. |
|
27.06.2008, 15:27 | #4 |
Участник
|
Ув. apanko, я немного непонятно написал, нужно чтобы Сумма строки Line Amount делилась на 6, затем округлилась в большую сторону и обратно умножилась на 6 что бы получилось не 37,11 а 37,14 т.е. если разделить 37,14 на 6 то будет число 6,19 без третьего знака. Это не в образовательных целях. И еще одно условие, это действие должно выполняться только для валюты UAH.
|
|
27.06.2008, 16:55 | #5 |
Участник
|
6 - это курс доллара к гривне что ли?
|
|
27.06.2008, 17:02 | #6 |
MCTS
|
Ну раз так.
1. Клиент скидка по счету - не надо. 2. В валюте UAH на закладке Округление укажите: * Счет точность округления = 0,06 * Счет тип окгругления = Больше И если хотите каждую строку округлить - Сумма точность округления = 0,06 |
|
27.06.2008, 17:17 | #7 |
Участник
|
Это не курс доллара, просто нужно чтобы сумма строки делилась на 6, т.е. не было бы 3-го знака в сумме (если сумма 37,11 и ее разделить на 6 то будет сумма с 3-мя знаками (т.е. сумма НДСа), а если 37,11/6 а потом округлить в большую сторону то получится 37,14 НДС от которго будет 6,19 ). На 6 - это для правильного НДСа. Ну по крайней мере так хотят бухгалтеры.
|
|
27.06.2008, 17:33 | #8 |
Участник
|
Цитата:
Сообщение от nikolay100x
Это не курс доллара, просто нужно чтобы сумма строки делилась на 6, т.е. не было бы 3-го знака в сумме (если сумма 37,11 и ее разделить на 6 то будет сумма с 3-мя знаками (т.е. сумма НДСа), а если 37,11/6 а потом округлить в большую сторону то получится 37,14 НДС от которго будет 6,19 ). На 6 - это для правильного НДСа. Ну по крайней мере так хотят бухгалтеры.
|
|
27.06.2008, 17:35 | #9 |
Участник
|
USD / UAH = 1 : 4,5
Цитата:
Сообщение от nikolay100x
Это не курс доллара, просто нужно чтобы сумма строки делилась на 6, т.е. не было бы 3-го знака в сумме (если сумма 37,11 и ее разделить на 6 то будет сумма с 3-мя знаками (т.е. сумма НДСа), а если 37,11/6 а потом округлить в большую сторону то получится 37,14 НДС от которго будет 6,19 ). На 6 - это для правильного НДСа. Ну по крайней мере так хотят бухгалтеры.
|
|
27.06.2008, 17:51 | #10 |
Участник
|
Цитата:
и вообще ПРИКАЗ от 29 июля 1998 г. N 34н ОБ УТВЕРЖДЕНИИ ПОЛОЖЕНИЯ ПО ВЕДЕНИЮ БУХГАЛТЕРСКОГО УЧЕТА И БУХГАЛТЕРСКОЙ ОТЧЕТНОСТИ В РОССИЙСКОЙ ФЕДЕРАЦИИ 25. Бухгалтерский учет имущества, обязательств и хозяйственных операций допускается вести в суммах, округленных до целых рублей. Возникающие при этом суммовые разницы относятся на финансовые результаты у коммерческой организации или увеличение доходов (уменьшение расходов) у некоммерческой организации. (в ред. Приказа Минфина РФ от 30.12.1999 N 107н) |
|
27.06.2008, 18:06 | #11 |
Участник
|
Это не Российская Федерация, это Украина.
Хоть подскажите в каком триггере это писать то. |
|
30.06.2008, 13:19 | #12 |
Участник
|
Господа, помогите пожалуйста. Очень уж нужно.
|
|
01.07.2008, 12:43 | #13 |
MCTS
|
Лично я внимательно бы посмотрел на функцию UpdateAmounts()в таблице 37 Sales Lines. Точнее на строки:
Код: IF "Line Amount" <> ROUND(Quantity * "Unit Price",Currency."Amount Rounding Precision") - "Line Discount Amount" THEN BEGIN "Line Amount" := ROUND(Quantity * "Unit Price",Currency."Amount Rounding Precision") - "Line Discount Amount"; "VAT Difference" := 0; END; * Счет точность округления = 0,06 * Счет тип округления = Больше * Сумма точность округления = 0,06 В этом случае значительно меньше шансов, что вас проклянут, те кто будут сопровождать систему после вас. Или сами себя проклянете когда будете ставить обновления. |
|