7.7 скидка

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Archivar, 12 дек 2013.

  1. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    В обработках есть окно кассира - там я сделал кнопку, условия: если больше допустим 10 000 р, то при нажатии - 5 проц скидка. Но не работает...мб ошибка какая...гляньте плз:
    http://files.mail.ru/E398852ACC3941168B9178BB5DB57673
  2. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    У вас функция
    Код:
    Функция СуммаЧека()
    Чек.ВыбратьСтроки();
    Пока Чек.ПолучитьСтроку()=1 Цикл
    Сумма=Сумма+Чек.Сумма;
    КонецЦикла; 
    Возврат Сумма;
    КонецФункции
    
    не работает.

    Нужно
    Код:
    Функция СуммаЧека()
    сумма=0;
    Чек.ВыбратьСтроки();
    Пока Чек.ПолучитьСтроку()=1 Цикл
    Сумма=Сумма+Чек.Сумма;
    КонецЦикла; 
    Возврат Сумма;
    КонецФункции
    
    А еще проще
    Код:
    Сумма=Чек.Итог("Сумма");
  3. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    невыходит....рекции нет....
    У нас 3 проца по штрихкоду-по карте скидывает....этой кнопкой 5 проц хотим сделать

    С картой все работает гуд, т.к. там без условий.
  4. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    проверил - сумма скидки в таблице меняется
  5. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    еще раз попробовал...ничего....ставлю товар за 20000 и реакции нет(((
  6. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    вы внесли изменения в функцию?
  7. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    да внес....реакции нет..
  8. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Магия 5го уровня...
    Попробуйте заменить процедуру расчета. Может так вам будет понятнее
    Код:
    Процедура СделатьСкидку5()							  
    Если СтарыйЧек=1 Тогда
    Предупреждение("Изменять сформированный чек запрещенно!",3);
    Иначе
    Если  СуммаЧека()<=10000 тогда
    Предупреждение("Сумма чека менее 10000. Скидка не положена!");
    Возврат;
    КонецЕсли;
    Сообщить("Сумма со скидками ДО обработки "+Чек.Итог("СуммаСоСкидками"));
    КоэфСкидки=1-5/100;
    Чек.ВыбратьСтроки();
    Пока Чек.ПолучитьСтроку()=1 Цикл
    Чек.СуммаСоСкидками=Чек.Сумма*КоэфСкидки;
    КонецЦикла;
    Сообщить("Сумма со скидками ПОСЛЕ обработки "+Чек.Итог("СуммаСоСкидками"));
    ПересчетСумм(); 
    // АктивизироватьОбъект(Чек);
    КонецЕсли;
    КонецПроцедуры
    
  9. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    теперь понял) Спасибо большое) да пока что это действительно магия) но я стараюсь)
  10. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Не за что. Отпишитесь о результатах
  11. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    Скидку делает. Работают окно предупреждения и выводит сообщения о вычислениях.
  12. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Причина в том что вы для вычисления использовали цикл внутри цикла. Используйте в следующий раз ИТОГО (пост №2)
  13. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    я остал так:
    Код:
    Функция СуммаЧека()
    сумма=0;
    Чек.ВыбратьСтроки();
    Пока Чек.ПолучитьСтроку()=1 Цикл
    Сумма=Сумма+Чек.Сумма;
    КонецЦикла;
    Возврат Сумма;
    КонецФункции
    

    Т.е. без итога, или лучше поменять? вроде так норм работает.



    А в цикле нельзя разве: "Если" использовать?
  14. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    вы по той же самой ТЗ вызываете в цикле еще один цикл. Так НЕЛЬЗЯ.
    Лучше всего получать итоги так.
    Код:
    Сумма=Чек.Итог("Сумма");
    Так правильно
  15. TopicStarter Overlay
    Archivar
    Offline

    Archivar Опытный в 1С

    Регистрация:
    14 авг 2013
    Сообщения:
    319
    Симпатии:
    0
    Баллы:
    26
    понял...сейчас поменяю) Спасибо)
  16. Бухгалтерский угодник
    Offline

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

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

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