Процедура ПоКнопкеОбновитьЦены()
26.01.2010
00:55
#1
Т+С 9,2, аналогичная проблема и в Комплексной 4,5<br>частенько наблюдается путаница с типом валют<br>закупочная цена по умолчанию в евро<br>но не все товары идут закупочной в евро, некоторые в рублях<br>но продажный один и тот же тип в рублях<br>забиваю накладную в рублях (ВалютаДок = "руб") , после на обновления цен в справочнике, иногда правильно обновляет т.е. задает тип цены = Закупочная, валюта = руб, цена = цена<br>а иногда переводит в евро, из за чего в последствие арифметическая ошибка из за округление копеек и центов<br>причину данного сбоя понять не могу, и от чего он зависит<br>код в следующей мисаге , что бы не мешалась
26.01.2010
00:55
#2
"вырезка из Т+С 9,2<br>Процедура ПоКнопкеОбновитьЦены()<br> <br> ИзменяемЦену = 1;<br> Если Форма.ИспользоватьЗакладки() = 1 Тогда<br> Если Форма.Закладки.ТекущаяСтрока() = 2 Тогда <br> ИзменяемЦену = 0; // изменяем розничную цену<br> КонецЕсли;<br> ИначеЕсли ЕстьРознЦена = 1 Тогда <br> ИзменяемЦену = 0; // изменяем розничную цену<br> КонецЕсли;<br> <br> // Проверка настроек обновления<br> // Если хотим обновить учетную цену, то она должна быть выбрана<br> Если (ИзменяемЦену = 1) и (ВариантУстановкиЦен = 1) Тогда<br> Если ПустоеЗначение(БазовыйТипЦен) = 1 Тогда<br> Предупреждение("Не выбран базовый тип цен",60);<br> Возврат;<br> КонецЕсли;<br> КонецЕсли;<br> <br> // Если хотим присваивать свойство, то оно должно быть выбрано и не быть основным свойством товара<br> Если ПустоеЗначение(УстановитьСвойствоТоваров) = 0 Тогда<br> Если ПустоеЗначение(СвойствоТоваров) = 1 Тогда<br> Предупреждение("Не выбрано свойство товаров",60);<br> Возврат;<br> Иначе<br> Если СвойствоТоваров.Владелец = Константа.ВидСвойстваНоменклатуры Тогда<br> Предупреждение("Основное свойство выбирается в карточке номенклатурной позиции<br> |здесь его присваивать нельзя.",60);<br> Возврат;<br> КонецЕсли;<br> КонецЕсли;<br> <br> КонецЕсли;<br><br> // Обновляем цены<br> Попытка<br> НачатьТранзакцию();<br> Состояние("Обновление цен в справочнике");<br> <br> ТаблЗнач.ВыбратьСтроки();<br> Пока ТаблЗнач.ПолучитьСтроку() = 1 Цикл<br> <br> // Обрабатываем только помеченные (служебные строки д.б. НЕ помеченными)<br> Если ТаблЗнач.Пометка = МеткаЕсть Тогда<br> <br> ТекСтрока = ТаблЗнач.НомерСтроки; <br> Тов = ТаблЗнач.Номенклатура;<br> <br> // не оказалось товара<br> Если Тов.Выбран() = 0 Тогда<br> Продолжить;<br> КонецЕсли; <br> <br> Сообщить("Выполняется обработка позиции "+СокрЛП(Тов),".");<br> <br> Если ИзменяемЦену = 1 Тогда<br> Если ВариантУстановкиЦен = 1 Тогда<br> <br> // Устанавливаем базовый тип цен <br> УстановитьБазовуюЦену(Тов, БазовыйТипЦен, ТаблЗнач.Цена, ТаблЗнач.Единица, ВалДок, "Оптовая", ТаблЗнач.ПошлинаСборы);<br> <br> Иначе<br> <br> // Устанавливаем все цены<br> СчетчикЦикла = 0;<br> Для СчетчикЦикла = 1 По СписокТиповЦен.РазмерСписка() Цикл<br> <br> ТекТипЦен = СписокТиповЦен.ПолучитьЗначение(СчетчикЦикла);<br> ТекЦена = ТаблЗнач.ПолучитьЗначение(ТекСтрока, "ЦенаСпр" + СчетчикЦикла);<br> РассчитатьЦену(Тов, ТекТипЦен, ТекЦена);<br> <br> КонецЦикла;<br> КонецЕсли; // ВариантУстановкиЦен = 1<br> Иначе<br> <br> // устанавливаем розничную цену (не нацениваем)<br> УстановитьБазовуюЦену(Тов, РозничныйТипЦен, ТаблЗнач.РозничнаяЦена, ТаблЗнач.Единица, глРубли, "Розничная");<br> КонецЕсли;<br> <br> КонецЕсли; // ТаблЗнач.Пометка = МеткаЕсть <br> КонецЦикла;<br> <br> ЗафиксироватьТранзакцию();<br> <br> // Обновим цены в таблице<br> ТаблЗнач.ВыбратьСтроки();<br> Пока ТаблЗнач.ПолучитьСтроку() = 1 Цикл<br> Если ТаблЗнач.Пометка = МеткаЕсть Тогда<br> Если ТаблЗнач.Номенклатура.Выбран() = 0 Тогда<br> Продолжить; // не оказалось товара<br> КонецЕсли; <br> ЗаполнитьЦеныВСтрокеТаблицы();<br> КонецЕсли;<br> КонецЦикла;<br> <br> Сообщить("Обработка закончена",".");<br> <br> Исключение <br> ОтменитьТранзакцию();<br> Сообщить(ОписаниеОшибки(), "!");<br> КонецПопытки;<br> <br>КонецПроцедуры // ПоКнопкеОбновитьЦены()"
ЗиУП 2.5.19.3 Как и где можно завести фактическую выработку, для расчета зарплаты за месОбработка V77Exp.ert!!!
Читают тему
(гостей: 1)