8.х ручная скидка в чек ккм

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

  1. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    Доброго времени суток! подскажите в УТ 10.3 док ЧекККМ хочу изменить ручную скидку чтоб выщитывался не процент, а просто сумма. У данного реквизита всего одна процедура при изменении я ее изменил в отладчике все нормально показывает, а в предприятии все равно выщитывает процент. Может кто нибудь подскажет куда рыть
  2. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    А точно в той колонке изменили процедуру?
  3. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    вроде как скидка расчитывается в модуле ОбработкаТабличныхЧастей процедура РассчитатьСуммуТабЧасти()
    вот в ней и правь
  4. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    точно
  5. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Странно, должно по идее работать. Может просто предприятие не перезапустили?
  6. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    я ее и правил
    Код:
    Процедура РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект, СпособРасчета = Неопределено) Экспорт
    
    ИмяТабличнойЧасти = ОбщегоНазначения.ПолучитьИмяТабличнойЧастиПоСсылкеНаСтроку(СтрокаТабличнойЧасти);
    
    МетаданныеДокумента = ДокументОбъект.Метаданные();
    
    Сумма = СтрокаТабличнойЧасти.Цена * СтрокаТабличнойЧасти.Количество;
    СуммаСкидки = 0;
    
    Если (СпособРасчета = Неопределено)
    Или (СпособРасчета = Перечисления.СпособРасчетаСуммыДокумента.СУчетомВсехСкидок)
    Или (СпособРасчета = Перечисления.СпособРасчетаСуммыДокумента.БезУчетаРучнойСкидки) Тогда
    Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ПроцентАвтоматическихСкидок", МетаданныеДокумента,
    ИмяТабличнойЧасти) Тогда
    СуммаСкидки = Сумма * СтрокаТабличнойЧасти.ПроцентАвтоматическихСкидок / 100;
    КонецЕсли;
    
    Если (СпособРасчета <> Перечисления.СпособРасчетаСуммыДокумента.БезУчетаРучнойСкидки)Тогда
    Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ПроцентСкидкиНаценки", МетаданныеДокумента, ИмяТабличнойЧасти) Тогда
    //СуммаСкидки = СуммаСкидки + (Сумма * СтрокаТабличнойЧасти.ПроцентСкидкиНаценки / 100);
    СуммаСкидки = СтрокаТабличнойЧасти.ПроцентСкидкиНаценки;
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    
    СтрокаТабличнойЧасти.Сумма = Сумма - СуммаСкидки;
    
    КонецПроцедуры // РассчитатьСуммуТабЧасти()
    
    
    
    В отладчике показывает СтрокаТабличнойЧасти.Сумма = Сумма - СуммаСкидки;
    данную строку все правильно, а в предприятии все равно выщитался процент
  7. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    Отладчиком посмотри куда он у тебя заходит...
    СуммаСкидки = Сумма * СтрокаТабличнойЧасти.ПроцентАвтоматическихСкидок / 100;

    или

    СуммаСкидки = СтрокаТабличнойЧасти.ПроцентСкидкиНаценки;


    ну текст процедуры
    ТоварыПроцентСкидкиНаценкиПриИзменении(Элемент) покажи
  8. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    нет я уже второй день ищу, предприятие конечно перезапускал
  9. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    да-да-да
  10. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    Код:
    Процедура ТоварыПроцентСкидкиНаценкиПриИзменении(Элемент)
    
    СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные;
    ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
    
    КонецПроцедуры
    
    
  11. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    ставь точку остановки в процедуре РассчитатьСуммуТабЧасти на строке
    СтрокаТабличнойЧасти.Сумма = Сумма - СуммаСкидки;
    и смотри что там у тебя в каждом слагаемом
  12. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    я же говорю я эту строчку в отладчике смотрел все правильно показывает, а в предприятии выщитывает процент

    Вложения:

  13. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    ну ты да..со своими скринами :)

    смотри процедуру ОбновлениеОтображения()

    в ней эта строка и меняется..
    ИтогСкидка = Ценообразование.ПолучитьСуммуДокументаБезСкидки(Товары) - СуммаВсего;
  14. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    нет ни тут меняется где то раньше потому что сумма строки уже высчитана как процент
  15. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    кстати..а на втором скрине у тебя колонка Сумма почему пустая ???
  16. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    :angry: потому что выщитывается скидка как 200% в минус сумма не ставится
  17. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    прям замкнутый круг у тебя :)
    ищи в отладчике давай..что то явно сделал не так
  18. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    нашел в общем модуле идет проверка и расчет еще
    процедура ПроверкаМинимальнойЦены

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