7.7 Идея по реализации задачи

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем Vertex, 2 апр 2015.

  1. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Добрый день.
    Задача: В ТиС у товаров есть 3 цены (закуп,опт,розница).
    При достижении определенной суммы документа "Реализация розница" (указанной где-либо), цена должна устанавливаться в оптовую (если такая есть у товара).

    Реализовал следующий механизм:
    Создал константу которая задает сумму при превышении которой цены должны устанавливаться в оптовые и значение константы доступно для редактирования только владельцу магазина.
    Далее описал несколько событий:
    В процедуре глобального модуля "глПересчетТабличнойЧасти" где выполняется условие при редактировании колонки "Количество" , выполняется следующий порядок действий:
    Получаем текущую сумму документа в розничной цене.
    Получаем сумму добавляемого товара в розничной цене.
    Складываем эти две суммы чтобы проверить, превышает ли полученное значение размер суммы константы, если да, тогда пересчитываем цены документа в оптовой цене.
    Так же решил на форме документа реализации установить "флажок" т.е. вдруг хозяин скажет продавцу: - вот придёт этот клиент ему никаких скидок ..продавай всё по рознице, и чтобы не менять значение константы этот флаг выполнит эту задачу.
    В форме документа создал предопределенную процедуру "ПриУдаленииСтроки()" в которой так же запускаю процедуру пересчета суммы с проверкой на превышение размера константы (если при удалении строки документа( сумма этой строки - сумма документа )> СуммыКонстанты) тогда цены не пересчитываем.
    Вот как то так.
    Буду благодарен если кто отпишется о своем видении решения данной задачи.
    Решение править типовые процедуры, а не написать свою одну было вызвано: не желанием дублировать типовой код и перереализовывать готовый функционал (например: при добавлении новой строки происходит пересчет регистров и проверка наличия товара на складе, если товар есть - его цена устанавливается в колонку, иначе - цены нет)
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Думаю можно подумать о скидке.. Точнее установить автоскидку при суммовом диапазоне.
  3. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.431
    Симпатии:
    372
    Баллы:
    104
    с проверкой поля скидки
    --- Объединение сообщений, 2 апр 2015 ---
    я бы проверял после добавления сумму документа и при отсутствии назначенной скидки назначал скидку
    (ещё возможен вариант когда несколько порогов вдруг будет)

    хм, в рознице обычно "Розничный покупатель", клиенты в опте

    а смену цен учитываете?
    Последнее редактирование: 2 апр 2015
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    глПересчетТабличнойЧасти вызывается при изменении любого реквизита ТЧ.

    Да... Скидка в виде доп. справочника.
    суммовой диапазон - скидка
  5. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Вы предложили ставить какой то процент скидки при достижении указанной цены? Но при % скидки наверное сложно будет попасть в оптовую цену, как задана в справочнике . Или я не верно понял смысл ответа?
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Я предложил идею...
    Суть ее сводится к следующему.
    1) Имеем доп справочник. В нем
    • диапазон цен (для примера от 1000 до 10000)
    • реквизит типа справочник скидка или тип цен
    2) Таким образом в при изменении ТЧ вызывается глПересчетТабличнойЧасти. В ней мы анализируем сумму по документу по типу цен, заданному в заголовке.
    3) Обращаемся к новому справочнику и проверяем наши диапазоны.
    4) Если все устраивает или устанавливаем %скидки или пересчитываем цены

    Конечно же этот же анализ нужен при удалении строки....
    Да.. и про подбор не забудьте
    Vertex нравится это.
  7. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Это вместо константы? И для определенного типа в контексте задачи задается (Тип - Оптовая цена, и Цена при которой она начинает "срабатывать") .
    Так?
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Ну если у вас условие менять только по определенному типу цен на определенный... Добавьте еще один реквизит
    Получим
    • диапазон
    • ТЦ который меняем
    • ТЦ на который меняем
  9. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Поясните что имели ввиду? Смену каких цен?
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    розничной на розничную-другую наверное. В этом случае вызывается другая процедура для пересчета табличной части
  11. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    У документа "Реализация розница" вроде один тип , счас посмотрю...
    Да, так и есть.
    Тип цены можно выбирать у документа "Реализация купля-продажа".
    Этот документ магазин не использует.
  12. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    о том что документ розничный - вы не упоминали.
    Здесь совсем другая картина маслом. Вы не можете продать товар по ценам, отличным от цен поступления/перемещения в розницу.
    В данном случае даже если вы выключите контроль цен при проведении регистры просто не "захлопнутся".
    Обязательно нужно делать переоценку товара ИЛИ дописывать модуль проведения чтобы прямо в нем происходила переоценка товара по нужным вам ценам.
  13. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    --- Объединение сообщений, 3 апр 2015 ---
    Точно......расчет то я сделал, а провести не пробовал =(..
    Спасибо
    --- Объединение сообщений, 3 апр 2015 ---
    Т.е нужно будет делать такие же движения по регистру которые делает документ переоценка товара?
    Он же явно работает с каким то регистром? Не смотрел еще с каким ....
    А переоценивать оно будет всю партию? Или можно только продаваемое количество?
    Т.е делаем следующее:
    Если в регистре "ОстаткиТМЦ" такого количества по такой цене нет, но вообще нужный остаток есть, как переоценить? Автоматически создавать документ переоценка? Или можно пооперировать записями регистра?
    Делаем сначала расход по существующей цене и делаем приход по новой?
    Но регистры же на документ ссылаются и для документы. Не вылезет ли кривизна в отчетах?
    Последнее редактирование: 3 апр 2015
  14. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Есть 2 пути...
    1) Вам нужно сначала списать товар по регистрам ОстаткиТМЦ и ПартииНаличие по ценам которые есть по наличию (не факт что по 1 позиции одна цена... может быть и 2,3)
    затем оприходовать товар по новой цене и по ней уже продать. Это правильно будет.
    2) Делать движения по остаткам по старым ценам, (ресурсы уже по новым получится). Так проще,но не верно. Ибо себестоимость летит в так тарары
    --- Объединение сообщений, 3 апр 2015 ---
    нет.
  15. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Может сложится так что нужно 3 единицы товара и каждая единица по своей цене. Запросом получаем остатки с группировкой по цене и смотрим количество по каждой группировке,
    если количество в последней по приходу партии совпадает с нужным, списываем его и тут же приходуем с новой ценой, а если не совпадает? Списываем то количество которое есть, дальше списываем количество с другой ценой? И так пока не наберем нужное?
    Верный ход мыслей?
  16. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.431
    Симпатии:
    372
    Баллы:
    104
    упоминал человек, правда практически втихоря :)
    --- Объединение сообщений, 3 апр 2015 ---
    если у вас розничная от оптовой начисляется процентом, то попасть получится спокойно
    а если устанавливаете ручками по желанию - то маловероятно
    но это можно просто прописать по конторе
    при продаже в розницу при достижении такой-то суммы документа/покупки предоставляется скидка в таком-то размере
  17. TopicStarter Overlay
    Vertex
    Offline

    Vertex Опытный в 1С

    Регистрация:
    14 июн 2011
    Сообщения:
    468
    Симпатии:
    4
    Баллы:
    29
    Нужна именно цена из спраочника, которая устанавливается рандомно. ((
  18. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Да. Все верно. Посмотрите для примера документ переоценки...

Поделиться этой страницей