|  14.04.2004, 12:35 | #1 | 
| Участник | цены товара в валюте 
			
			Народ, день добрый. Подозреваю, что проблема легко решается, но самому решение чего-то не найти... Короче, надо указывать цену товара в валюте. Причем, когда мы добавляем товар в заказ продажи, чтоб цена пересчитывалась в рубли по соответствующему курсу. Решается ли такая задача без переписки кода? И если не решается, то нельзя ли сказать, где (и как, главное, потому как кодеюнит 7000) переписать код, чтобы решить-таки эту задачу. | 
|  | 
|  14.04.2004, 12:45 | #2 | 
| Участник | Re: цены товара в валюте Цитата: 
		
			Изначально опубликовано rootadmin  Народ, день добрый. Подозреваю, что проблема легко решается, но самому решение чего-то не найти... Короче, надо указывать цену товара в валюте. Причем, когда мы добавляем товар в заказ продажи, чтоб цена пересчитывалась в рубли по соответствующему курсу. Решается ли такая задача без переписки кода? И если не решается, то нельзя ли сказать, где (и как, главное, потому как кодеюнит 7000) переписать код, чтобы решить-таки эту задачу. | 
|  | 
|  14.04.2004, 12:53 | #3 | 
| Участник | 
			
			Это Навижн. 3.60
		 | 
|  | 
|  16.04.2004, 14:17 | #4 | 
| Участник | 
			
			Карточка товара. Кнопка "Продажи/Цены". Открывается форма "Товар - Цены продажи". Столбик "Код валюты" по умолчанию скрыт, надо его показать. Проставляем цифры в нужной валюте. Эти цены будут автоматически пересчитыватьcя в валюту, указанную в заголовке заказа продажи. "Код валюты" указывается на закладке "Общее". | 
|  | 
|  16.04.2004, 20:23 | #5 | 
| Участник | 
			
			ничего подобного. валюта в ценах продажи участвует (попадает в заказ) в заказе продажи только в том случае, если она совпадает с валютой заказа (которая, кстати, указывается на закладке внешняя коммерция). мне пришлось переписать код немного чтоб она в рубли пересчитывалась. | 
|  | 
|  19.04.2004, 11:13 | #6 | 
| Участник | 
			
			Взял я демо-базу 3.60sp3. В таблице 37, на событии No. - OnValidate() имеется вызов VALIDATE("Unit of Measure Code",Item."Sales Unit of Measure"); а там уже вызывается UpdateUnitPrice(FIELDNO("Unit of Measure Code")); после которой независимо от того, совпадают или нет код валюты, цена подставляется и пересчитывается по курсу. Особо я это дело не исследовал, может ещё от каких-то настроек зависит. | 
|  | 
|  19.04.2004, 20:18 | #7 | 
| Участник | 
			
			ну вот как-то у меня не пересчитывалось без переделки. ну совсем. может я какие-то настройки не делел, но по моему все, что мог - сделал. | 
|  | 
|  21.04.2004, 16:32 | #8 | 
| Участник | 
			
			К сожалению Rootadmin абсолютно прав. Если прайс задан в валюте, то цена будет переноситься только в заказ продажи на клиента, который валютный. Для того, чтобы валютный прайс перерасчитывался в рубли, то совершенно верно, надо немного поправить 7000 функцию, что как я понимаю Rootadmin и сделал. | 
|  | 
|  21.04.2004, 17:33 | #9 | 
| Участник | 
			
			Всё так. Извиняюсь за дезу. Не заметил, когда проверял на демо-базе, что в карточке товара была заполнена "Цена единицы" и цифра была похожа на пересчитанную по курсу из цены продажи. А, именно, эта цифра подставлялась, когда коды валют не совпадали.   | 
|  | 
|  21.04.2004, 18:36 | #10 | 
| Участник | 
			
			ну вот, истина найдена. тепреь, чтоб не потерять изменения, (и может кому еще пригодится) что я сделал: функция FindSalesLinePrice в разделе CASE Type OF Type::Item: после строки "Unit Price" := TempSalesPrice."Unit Price"; вставляем примерно следущее IF ("Currency Code"='') AND (TempSalesPrice."Currency Code"<>'') THEN BEGIN "Unit Price" := CurrExchRate.ExchangeAmtFCYToLCY(SalesHeaderExchDate(SalesHeader), TempSalesPrice."Currency Code","Unit Price", CurrExchRate.ExchangeRate(SalesHeaderExchDate(SalesHeader),TempSalesPrice."Currency Code")); "Unit Price" := ROUND("Unit Price",GLSetup."Unit-Amount Rounding Precision"); END ELSE IF ("Currency Code"<>'') AND (TempSalesPrice."Currency Code"<>'') AND (TempSalesPrice."Currency Code"<>"Currency Code") THEN BEGIN "Unit Price" := CurrExchRate.ExchangeAmtFCYToFCY(SalesHeaderExchDate(SalesHeader), TempSalesPrice."Currency Code","Currency Code","Unit Price"); "Unit Price" := ROUND("Unit Price",GLSetup."Unit-Amount Rounding Precision"); END; | 
|  | 
|  07.09.2009, 12:17 | #11 | 
| Участник | 
			
			Добрый день. Хочется узнать пути решения данного вопроса в AXAPTA 3.0 SP3. Тоже нужна правка кода? | 
|  | 
|  07.09.2009, 14:45 | #12 | 
| MCTS | 
			
			Для ответа на этот вопрос лучше воспользоваться разделом посвященному Dynamics AX (Axapta). http://axforum.info/forums/forumdisplay.php?f=40 | 
|  |