8.х Подскажите как мне сделать скидку в документе оказание услуги

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем iceborn, 28 июн 2010.

  1. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    В общем я создал документ Оказание услуги, необходимо сделать систему скидок, допустим поставил галочку "Скидка 15%" и цена рассчитывается по скидки. Подскажите как это сделать
  2. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    без вашей структуры метаданных сложно вам посоветовать оптимальный вариант
  3. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Могу написать как состоит моя конфигурация, это поможет?
  4. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Конфигурация полностью самописная или переделанная базовая?
    Описывайте, без этого уж думаю действительно сложновато сказать.
  5. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Я сам с нуля пишу конфигурацию, так сказать учусь, новичок ещё. Так вот, у меня есть документ Оказание услуги в форме нужно выбрать клиента со справочника Клиенты, Склад, Продавец который продает товар, Затем добавляю с номенклатуры товар который будет продаваться у меня автоматически в Столбце Стоимость указывается оптовая цена а в столбце Цена розничная. Для этого я использовал РегистрСведений Цена и ОптоваяЦена, откуда собственно и берутся цены. Когда ставлю количество товара общая сумма тоже автоматически подсчитывается.
    Для этого я создал общий модуль
    Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт
    СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;
    КонецПроцедуры

    Затем написал этот код в форме документа

    Процедура ПереченьНоменклатурыКоличествоПриИзменении(Элемент)
    СтрокаТабличнойЧасти = ЭлементыФормы.ПереченьНоменклатуры.ТекущиеДанные;
    РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
    КонецПроцедуры

    Процедура ПереченьНоменклатурыЦенаПриИзменении(Элемент)
    СтрокаТабличнойЧасти = ЭлементыФормы.ПереченьНоменклатуры.ТекущиеДанные;
    РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
    КонецПроцедуры

    Так же мой документ ОказаниеУслуги производит движения по регистрам Остатки, Продажи и Стоимость.

    Так вот я хочу что бы в форме документа была такая функция например Ввести номер дисконтной карты, вводишь и общая сумма рассчитывается с определенной скидкой. Или ещё как то. Уже не знаю что Вам можно ещё описать. Мне не так срочно надо это сделать, Просто видел в одном супермаркете в 1С вбивают номер дисконта и скидки рассчитывается.Вот хочу научится это делать.
  6. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Навскидку:
    Создаете справочник "ДисконтныеКарты". В нем код в принципе может играть роль уникального номера дисконтной карты, либо под это дело отдельный реквизит. Далее зависит от того накопительная дисконтная карта или ммм с фиксированным процентом. Если с фиксированным то прямо в этот справочник можно добавить реквизит "Скидка", если накопительная то чуть сложнее, надо будет считать при выборе дисконтной карте в документе, плюс наверно потребуется регистр сведений или справочник где будут указаны границы накопления и соответствующая скидка, на каждую границу.
    Далее, добавляете в документ реквизит "ДисконтнаяКарта" (ссылка на вышеуказанный справочник), в табличную часть документа добавляете реквизит "Скидка". Ну собственно и все. Если процент фиксированный, то при подборе номенклатуры (или при изменении поля "Дисконтная карта") подставляете значение "Скидка" из элемента справочника "ДисконтныеКарты", если накопительная скидка, то придется при выборе элемента справочника делать запрос к регистру продажи, и на основании полученных данных вычислять уже какую скидку необходимо предоставить на данный документ (к регистру продажи можно добавить реквизит "Дисконтная карта" и писать туда при проведении). Ну естественно подправить чуть процедуру пересчета табличной части (с учетом нового поля "Скидка").

    P.S.
    Другой вариант - не создавать дополнительный справочник, а создать регистр сведений, где Измерение это будет "Клиент", а ресурс - номер дисконтной карты.
  7. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Хорошо я добавлю реквизит скидки но как скидкти будет автоматически рассчитываться?
  8. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Номенклатура у вас как подбирается? Вставьте в процедуру "ПриИзменении" поля номенклатуры вызов "РассчитатьСумму(СтрокаТабличнойЧасти)". Все. В чем проблема?

    Или что вы имели ввиду? мб я вопрос не так понял.
  9. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    Рекомендую не изобретать лисипеды. Откройте конфигурацию УТ и посмотрите как это реализовано. А там уж, творите...
  10. TopicStarter Overlay
    iceborn
    Offline

    iceborn Опытный в 1С

    Регистрация:
    17 июн 2010
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    mialord так и решил сделать )) а то мозг себе уже вынес))

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