• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Использовать цены нужного типа при определенном количестве товара

  • Автор темы Guest
  • Дата начала
G

Guest

Имеется набор базовых цен, названных следующим образом: Розничная, опт(10), опт(40), опт(785) и так далее.
Число в скобках означает, при превышении какого количества данного товара в документе используется данная цена.
Подобная странная схема продиктована разработчиками сайта.
Надо, чтобы цена автоматически подхватывалась в документе при введении необходимого количества товара.
Сейчас используется вариант со скидками, но он очень неудобен.
В 1с еще толком не кодил, но постараюсь разобраться, если кто что посоветует.
1С:Предприятие 8.1 (8.1.12.98)
"Управление торговлей", редакция 10.3 (10.3.6.8)
Заранее спасибо
 
K

KiR

А в чем собственно сложность заключается? Простые проверки Если/ИначеЕсли.
Т.е смотришь документ, ищешь в нем подбор цен и там уже вставляешь конкретное условие.
 
G

Guest

Я не очень понимаю где конкретно искать, но наверное справился бы.
Встал вопрос - а может ли быть в документе на каждую строку свой тип цен?
Пока что я вижу только тип цен на весь документ.
У меня же получается что товар в количестве 1 шт отпускается по цене Розничная, а в количестве 1000 шт - по цене опт(999)
 
K

kaa

что вы все усложняете в ут прекрасный механизм со скидками и по количеству и по сумме покупки, как по отдельной номенклатуре так и по группам
 
G

Guest

Он не прекрасный!!!!
цены и скидки округляются разным образом.
Получаются разные конечные суммы на сайте и в базе.
Именно механизм скидок у меня сейчас и реализован.
Хочется усложнить, чтобы в итоге упростить жизнь.
Не могу найти модуль, где выбирается тип цены.
Перелопачивать всю систему программирования 1с нет времени, разработчики дерут страшные деньги за любой чих.
Если кто-то сможет скинуть модуль, в который надо вносить изменения, и пометить, где писать - могло бы и получиться...
 
T

tanat

а в настройках не пробовали поменять принципы округления чисел? Мое мнение - ничего менять не нужно, нужно все хорошо настроить.
 
G

Guest

Дело в том, что в качестве исходного материала при заполнении базы используется таблица цен, а не значения скидок.
Соответственно, во бщем случае скидка, высчитанная по этой таблице, представляет собой значение с очень длинным десятичным хвостом, в том числе встречаются бесконечные непериодические дроби.
Соответственно, на сайте сумма заказа рассчитывается как <цена единицы в зависимости от количества>*<количество>
А в базе та же сумма рассчитывается как <розничная цена>*<количество> и к данному произведению применяется скидка от количества в документе.
Расхождение невелико, но малоприятно.
Я очень не хочу показаться неблагодарным, но простые методы решения проблемы уже опробованы и внедрены.
 
K

kaa

а каким образом идет обмен данными с сайтом, может сделать загрузку и пихать в документ те значения цен которые надо.
Если нет то надо добавить реквизит в таб часть.

Процедура ПриИзмененииКоличестваТовары(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные;

// Рассчитать реквизиты табличной части.
ОбработкаТабличныхЧастей.РассчитатьКоличествоМестТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);


//И ЗДЕСЬ НАДО ВСАТАВИТЬ ЗАПОЛНЕНИЕ РЕКВИЗИТА ЦЕНЫ И ТИПАЦЕН ТАБ Части

// Рассчитать реквизиты табличной части.
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);

КонецПроцедуры //
 
G

Guest

Спасибо большое за реальную помощь.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!