- Штрих-М-01Ф скидки
- Способ форматно логического контроля 1с разделять строки
- 1С Розница 2.2 — ошибка при печати чека «Невозможно начислить скидку»
- Настройка правил форматно-логического контроля¶
- Условные обозначения¶
- Контроль обязательности заполнения¶
- Запрет на ввод данных в ячейку¶
- Запрет на ввод данных в ячейку в зависимости от значений в других ячейках¶
- Сравнение с константой¶
- Сравнение со значением в другой ячейке¶
- Сравнение с выражением¶
- Сравнение с регулярным выражением¶
- Контроль длины строки¶
- Вывод заданного текста в сообщении об ошибке¶
- Способ форматно логического контроля 1с разделять строки
Штрих-М-01Ф скидки
«Форматы фискальных документов, обязательные к использованию» и вижу, что и алгоритм расчета придется менять, цитата:
Значение реквизита «стоимость предмета расчета с учетом скидок и наценок» (тег 1043) должно быть равно произведению значения реквизита «цена за единицу предмета расчета с учетом скидок и наценок» (тег 1079), умноженному на значение реквизита «количество предмета расчета» (тег 1023). В случае если вычисление значения реквизита «стоимость предмета расчета с учетом скидок и наценок» (тег 1043) осуществляется с использованием внешнего калькулирующего устройства и включается в состав кассового чека (БСО) на основании результатов, вычисленных этими калькулирующим устройством, значение реквизита «стоимость предмета расчета с учетом скидок и наценок» (тег 1043), вычисленного внешним калькулирующим устройством, не должно отличаться от значения реквизита «стоимость предмета расчета с учетом скидок и наценок» (тег 1043), вычисленного путем умножения значения реквизита «цена за единицу предмета расчета с учетом скидок и наценок» (тег 1079) на значение реквизита «количество предмета расчета» (тег 1023), больше, чем на 1 копейку.
(7) Если поставить допустимое расхождение 0, то чек уже будет делится на строки независимо от спосбоба форматно-лог контроля.
Как работает этот форматно-логический контроль — я не знаю))) разберётесь, расскажите.
По допустимому расхождению лучше посмотреть отладку, там всё понятно
Разбивает на строки нормально, а «зачитывать суммы» выдает ошибку:
Источник
Способ форматно логического контроля 1с разделять строки
Описание ошибки:
Фаловая база 1С: Управление торговлей (релиз 10.3.46.3) на платформе 1С:Предприятие 8.3.9.1818 с подключенным торговым борудованием. В частности ошибка возникает при попытке оправить на печать (закрыть) чек со скидкой на ККТ АТОЛ 22Ф / FPrint-22ПТК. Когда чек без скидок, то никакх проблем с отправкой чека на печать на ККТ не возникает.
Первоначальный поиски решения проблемы привели на интересную публикацю «Подключение и настройка ККТ АТОЛ 22Ф / FPrint-22ПТК к конфигурации УТ 10.3» на сайте infostart, в которой говорилось о том, что «Способ форматно-логического контроля» может при неправильном значении вызывать ошибку в базе.
Поэтому в справочнике «Торговое оборудование» («Операции» — «Справочник. » — «Торговое оборудование», т.к. настройка велась на стороне сервера на этот момент, а не на самом рабочем месте кассира) была найдена эта настройка. И она не была совсем установлена. В публикации предлагалось устанавливать значение способа «Разделять строки».
Но перебор значений «Способа форматно-логического контроля» «Не контролировать», «Разделять строки», «Зачитывать суммы» не изменил ситуацию. Ошибка «Внимание! Критическая ошибка. Возможно расхождение ИБ и ленты ФР!» при печати чека со скидкой осталась.
Было жалко, что ничего не изменилось. Но хотелось бы отдельно поблагодарить автора публикации о настройке и подключении за то, что в обсуждении к публикации он не пожалел своего времени и расписал, что значат остальные значения «способа форматно-логического контроля».
Продолжились дальнейшии попытки изыскания причин возникновения причин ошибки. Надежда возникла после того, как в обсуждении на форуме под темой «1С 8.2 УТ 10.3 Критическая ошибка: Возможны расхождения ИБ и ленты ФР. » (хоть там дальше в названии темы «При закрытии чека выдает сообщение об ошибки. «, но обсуждение дало новые размышления по теме ошибки) было сказано о том, что можно проанализировать лог работы ККТ. В сообщении #4 обсуждения было указано, где именно лог искать. Но по указанному пути лог обнаружить не удалось. Удалось его найти через «Управление драйверами».
Изучив лог, предпринята попытка получить сведения по ошибке, запросив в поисковике поисковый запрос: «1с 8 ут 10 fprint 22 Ошибка! ResultCode = -4048 ResultDescription = «Ошибка реквизита: Неизвестная ошибка ФН»»
В ветке форума сайта infostart.ru с темой «Ошибка при пробитии чека ККМ», в которой в одном единственном на тот момент ответе было сказано о двух варинтах решения проблемы: установка драйвера более новой версии, либо драбатывать код 1С, чтобы на ККТ, когда есть скидка в чеке, сумма скидки не передавалсь, ну или передавалась значение 0, как, если смотреть по примеру лога, происходит, когда чек совсем без скидок.
Еще в одном обсуждении на том же форуме в «Возможные расхождения иб и ленты фр. Кассовая смена не открыта. Атол 11Ф, УТ 10.3», хоть снова тема обсуждения была не на 100% подходящей под мою проблему, но ответы #20 и #21 так же располагали конкретной информации о необходимости обновления драйверов АТОЛ для ККТ.
Честно говоря, драбатывать 1С не хотелось. Сохранялась вера в то, что ошибку «Возможно расхождение ИБ и ленты ФР» получиться устранить шаттными средствами, без редактирования типового исполняемого кода.
Текущая версия драйверов ККТ — 8.16.
Таким образом осталось опровергнуть или подтвердить версию о том, что версия драйвера 8.16 не поддерживает печать со скидками. Для этого, руководствуясь вышеуказанной ссылкой, остается установить версию драйвера 9.xx
Остается надеяться, что смена драйвера должна помочь, т.к. в обсуждении на форуме mista по теме «Не пробивает чек с скидкой» были позитивные комментарии о том, что ошикба печати чека со скидкой исчезла после обновления драйвера АТОЛ для ККТ на версию 9.11.2
Источник
1С Розница 2.2 — ошибка при печати чека «Невозможно начислить скидку»
Подскажите, пож-та, с чем может быть связана проблема.
Некоторые чеки не пробиваются (и нал, и безнал). Выдается ошибка.
Ошибка:
При печати чека произошла ошибка.
Дополнительное описание: При выполнении операции произошла ошибка: Невозможно начислить скидку
Касса видна из драйвера, видна из подключенного к системе оборудования.
Релизы свежие
1С:Предприятие 8.3 (8.3.10.2505)
Розница 2.2 (2.2.6.33)
ККТ Атол-52Ф
Тест драйвера 8.15.2.0
Копать в сторону разбиения проблемы на части.
1)Найти проблемный чек.
2)сократить его до минимума строк при которых проблема остаётся. В идеале до одной.
3)Отладчиком поймать отсылаемый в чек XML файл. Проверить его на соответствие здравому смыслу.
4)Отправить такой-же чек при помощи теста драйвера ККМ
В зависимости от успешности каждого из шагов менять либо код в Рознице, либо библиотеку подключения оборудования, либо драйвер, либо прошивку ФР, либо ФР.
(2) Конфа стандартная, скорее всего, что проблема должна решиться подкручиваем интерфейсных настроек.
Некоторые чеки, которые выдают такую ошибку — при удалении записей вплоть до одной оставшейся строки продолжают ругаться при пробитии.
(3) Да, округление есть. Настроено в НСИ-Магазины.
В карточке магазина стоит «Порядок округления суммы чека» = 1
Сумма чека различная — от 100 до 3000 р (в которых возникают ошибки).
Сумма скидки — небольшая, суть ее в том, чтобы не было копеек при расчете с покупателем.
Есть товары стоимостью 1 копейка. У меня были мысли, что система не может разнести скидку на товары по строчно, т.к. например общая скидка на чек 50 копеек, а какая-то строка 1 копейка. Но. если удалить эту строку с 1 копейкой — то все равно в чеке возникает ошибка.
То есть ничего общего не получается выявить между чеками, чтобы зацепиться за какой-то товар, например.
Источник
Настройка правил форматно-логического контроля¶
При создании формы/реестра предоставляется возможность настройки дополнительных ограничений на ввод данных.
Для этого необходимо нажать на иконку «Ограничения» на странице просмотра формы (реестра) над таблицей формы (реестра).
При нажатии на иконку «Ограничения» отображается всплывающее окно «Панель ограничений» (при нажатии на вопросительный знак рядом с названием панели откроется окно с подсказками и примерами правил).
Условные обозначения¶
При записи правил форматно-логического контроля ячейка формы (реестра) обозначается аналогично тому, как это реализовано в MS Excel (латинская буква указывает на столбец, число указывает на номер строки). Например, ячейка в третьей строке четвертого столбца обозначается как «D3».
Если правило задается для всех ячеек столбца (или строки), используется символ «*». Например, весь второй столбец можно задать как «B*», всю вторую строку как «*2» .
Каждое правило записывается с новой строки.
Строка (или часть строки), начинающаяся с символа «#», не учитывается и рассматривается как комментарий.
Результатом сравнения с пустой ячейкой всегда является истинное значение.
Условные обозначения операций, используемых при записи правил:
Арифметические знаки: сумма «+», разность «-», произведение «*», деление «/».
Открывающая «(» и закрывающая «)» скобки.
Знаки строгого неравенства: меньше « ».
Знаки не строгого неравенства: меньше или равно « =».
Знаки равенства «==» и неравенства «!=».
Логическое отрицание «not», логическое И «and», логическое ИЛИ «or».
Абсолютное значение (модуль числа) «abs()».
Длина строки (значения в ячейке) «len()».
Наличие значения в ячейке «есть()».
Закрытие ячейки для ввода «$».
Сообщение об ошибке «@».
Проверка на регулярные выражения «^»»
Если введенное в ячейку значение не удовлетворяет заданным для этой ячейки правилам, оно не сохраняется, на экране соответствующая ячейка в форме (реестре) подсвечивается красным цветом, а при наведении на нее появляется всплывающая подсказка с указанием нарушенного условия.
При задании правила можно задать сообщение об ошибке, которое будет выводиться на экран при нарушении данного правила. Для этого после записи правила следует ввести символ «@» и после символа набрать текст сообщения.
В отличие от раскрасок в правилах форматно-логического контроля не предусмотрены ограничения, действующие в зависимости от заданных условий. Исключение составляют только правила закрытия ячеек на ввод (см. подраздел «Запрет на ввод данных в ячейку в зависимости от значений в других ячейках» ).
Контроль обязательности заполнения¶
Для контроля ввода данных в ячейки, обязательные для заполнения, применяется операция «есть()»:
Запрет на ввод данных в ячейку¶
Для запрета ввода данных в ячейку используется символ «$»:
Можно запретить ввод данных сразу для всей строки или всего столбца:
Возможен вариант запрета ввода данных для перечня ячеек, строк, столбцов:
Существует и другой способ запрета ввода данных — с помощью условия неравенства ячейки самой себе:
Запрет на ввод данных в ячейку в зависимости от значений в других ячейках¶
Чтобы запретить ввод данных в ячейку в случае невыполнения определенного условия, следует задать правило в формате «(условие) $ (номера ячеек, строк, столбцов, которые должны быть закрыты в случае невыполнения условия)». Например:
Сравнение с константой¶
Для того, чтобы введенное значение было равно (меньше, меньше или равно, больше, больше или равно, не равно) указанной константе, следует записать нужное равенство (неравенство) с использованием условных обозначений. Если ячейка пустая, равенство (неравенство) считается выполненным.
Правило может содержать объединение или пересечение условий, заданных равенствами/неравенствами.
Сравнение со значением в другой ячейке¶
Для того, чтобы введенное значение было равно (меньше, меньше или равно, больше, больше или равно, не равно) значению в указанной ячейке, следует записать нужное равенство (неравенство) с использованием условных обозначений. Если одна из сравниваемых ячеек пустая, равенство (неравенство) считается выполненным.
Правило может содержать объединение или пересечение условий, заданных равенствами/неравенствами.
Сравнение с выражением¶
Для того, чтобы введенное значение было равно (меньше, меньше или равно, больше, больше или равно, не равно) выражению, содержащему константы и значения в указанных ячейках, связанные операциями сложения, вычитания, умножения, деления, следует записать нужное равенство (неравенство) с использованием условных обозначений, например:
Если одна из сравниваемых ячеек пустая, равенство (неравенство) считается выполненным.
Сравнение с регулярным выражением¶
Проверка на соответствие знаения в ячейке регулярному выражению:
Для проверки используются стандартные регулярные выражения JavaScript.
Контроль длины строки¶
Для того, чтобы длина строки текста в ячейке была равна (меньше, меньше или равна, больше, больше или равна, не равна) указанному целому числу, следует использовать операцию «len()», например:
Вывод заданного текста в сообщении об ошибке¶
Если при нарушении заданного правила требуется вывести определенный текст условия, которое нарушено, то можно написать следующую формулу:
Значение, меньшее или равное 0, в ячейке столбца G не сохранится, в правом верхнем углу экрана будет выведено сообщение «Значение не удовлетворяет условию: Все плановые показатели объема должны быть больше нуля».
Значение, меньшее или равное 4, в ячейке A3 не сохранится, в правом верхнем углу экрана будет выведено сообщение «Значение не удовлетворяет условию: Должно быть больше 4!».
После ввода всех ограничений необходимо нажать на кнопку «Применить выбранные правила».
Ячейки в форме/реестре, для которых действует запрет на ввод данных, будут окрашены в серый цвет.
Если введенное в ячейку значение не удовлетворяет ограничениям для этой ячейки, такая ячейка будет окрашена красным цветом, а при наведении на нее указателя мыши появится всплывающая подсказка, в которой будет указано ограничение, которому значение не удовлетворяет:
Источник
Способ форматно логического контроля 1с разделять строки
Сервис онлайн-проверки регламентированных отчетов доступен абонентам 1С-Отчетности и предназначен для проверки отчетов перед их отправкой в контролирующие органы. В ходе такой проверки файлы отчетности в зашифрованном виде передаются на специальный сервер в Интернете, где выполняется их форматно-логический контроль и, в некоторых случаях, проверка контрольных соотношений.
Проверка выполняется после заполнения отчета и перед его отправкой командой «Проверка» — «Проверить в Интернете»:
В настоящее время онлайн-проверка доступна для отчетов, представляемых в ФНС, ПФР, ФСС, РАР и ФТС. Поддерживается проверка как отчетов, сформированных в программе, так и файлов отчетности, загруженных в программу для отправки при помощи 1С-Отчетности.
Возможность проверки в Интернете избавляет абонентов 1С-Отчетности от необходимости установки этих проверочных модулей на свой компьютер и регулярного их обновления.
Если в отчетности имеются какие-либо ошибки, можно просмотреть протоколы ошибок.
В нижней части формы отображается версия проверочного модуля. Печать протокола и сохранение на диск доступны по кнопкам, размещенным в правом верхнем углу формы.
Для отчетности в ФСС проверка в Интернете включает в себя форматно-логический контроль и проверку контрольных соотношений. В случае выявления ошибок на этапе форматно-логического контроля в протоколе с результатами проверки будет отражено, по каким полям нарушается требование формата:
Если будет обнаружено нарушение контрольных соотношений, протокол будет содержать информацию о том, какие именно контрольные соотношения нарушаются.
В случае, если отчет успешно проходит и форматно-логический контроль, и проверку контрольных соотношений, то выдается сообщение об отсутствии ошибок:
В случае положительного результата проверки также есть возможность посмотреть протокол в формате html:
Источник