28.01.2019 14:03
AndreyZh
 
Поглядел, что обсуждение проблемы популярно, да и ооочень редко возникает в реале ситуация сканирование не той бутылки и отправка чека с ценой ниже МРЦ... правда всегда ЕГАИС это ловил, но "не порядок", что в этой мощной утилите для ЕГАИС не реализована эта возможность... Исправляюсь - работа начата:

Изучив подходы, в частности здесь: https://olegon.ru/https://olegon.ru/showthread.php?t=29675&page=5 с сообщения 45... Мне не понравились все! А посему сделал свой "лисапед":

1. Схема МОЦ (минимальная оптовая цена - рознице нужна при возврате поставщикам) и МРЦ (минимальная розничная цена - рознице нужна при контроле продаж по чекам и списаниям в общепите с причиной реализация) описывается в текстовом файле Schema.mc каталога программы. В нём, в свободном формате описываются цены из постановлений.

МРЦ и МОЦ с 1 января 2019:
Код:
Схема - Все поля обязательны, цена определяется за 0.5 литра: 
Список КВАП; грудус от не включая, до включая; МРЦ, МОЦ

Шампанское и игристые вина не зависят от градуса
440,441,442,443,450,451,452,453;-100,999;109.33,88.67

Коньяки
229,230,231,233,234,235;-100,999;388.00,338.00

Бренди, кальвадос и другая шняга
232,237,239,242,251,252;-100,999;307,250

На ликероводочную и другую алкогольную продукцию крепостью свыше 28 процентов
212,236,280;28,29;168,146
212,236,280;29,30;172,150
212,236,280;30,31;176,153
212,236,280;31,32;180,157
212,236,280;32,33;184,160
212,236,280;33,34;189,164
212,236,280;34,35;193,168
212,236,280;35,36;197,172
212,236,280;36,37;201,175
212,236,280;37,38;205,179
212,236,280;38,39;210,182
212,236,280;39,40;215,186
212,236,280;40,41;219,190
212,236,280;41,42;223,194
212,236,280;42,43;227,197
212,236,280;43,44;231,201
212,236,280;44,45;236,205
212,236,280;45,46;240,208
212,236,280;46,47;244,213
212,236,280;47,48;248,216
212,236,280;48,49;252,220
212,236,280;49,50;256,223
212,236,280;50,51;261,227
212,236,280;51,52;265,230
212,236,280;52,53;269,234
212,236,280;53,54;273,238
212,236,280;54,55;278,242
212,236,280;55,56;283,245
212,236,280;56,57;287,249
212,236,280;57,58;291,253
212,236,280;58,59;295,256
212,236,280;59,60;299,261
212,236,280;60,61;303,263
212,236,280;61,999;308,268

Так же здесь описываем водку, которая может быть от 37 до 56 градусов и не совсем совпадает
с ликеро-водочными изделиями. Высчитываю отдельно
200;37,38;215,186
200;38,39;215,186
200;39,40;215,186
200;40,41;219,190
200;41,42;223,194
200;42,43;227,197
200;43,44;231,201
200;44,45;236,205
200;45,46;240,208
200;46,47;244,213
200;47,48;248,216
200;48,49;252,220
200;49,50;256,223
200;50,51;261,227
200;51,52;265,230
200;52,53;269,234
200;53,54;273,238
200;54,55;278,242
200;55,56;283,245


2. При запуске программы данный файл для скорости обработки перекачивается в массив памяти, игнорируя "мусорные" строки

3. Добавил функцию расчета МРЦ и МОЦ по переданным параметрам. Логика понятна из её исходника:

Исходник:
Код:
* --------------------------------------------------------------------------------------------------
*   Возврат минимальной оптовой или розничной цены, в зависимости от переданного параметра
*   Параметры:
*   lOpt    Истина, если опт
*   cAlc    Код КВАП
*   nLitr   Литраж единицы - емкость
*   nDeg    Градусность алкопродукции
*   Возращает нужную минимальную цену или 0 при невозможности её определить, или если не задаётся
FUNC ngMinPrice(lOpt,cAlc,nLitr,nDeg)
    LOCA nPrice:=0, nI:=0, nLen:=Len(agSchMC)
    IF nLen <= 0 THEN RETU nPrice                   //  Нет файла схемы цен
    IF Empty(cAlc:=Alltrim(cAlc)) THEN RETU nPrice  //  Ошибочный параметр
    IF nLitr <= 0 THEN RETU nPrice                  //  Ошибочный параметр
    
    //***   Дробный градус алкопродукции округляется до целого значения по математическому округлению - изыскания Декларант
    nDeg    := Round(nDeg,0)
    
    //  Сканируем массив для поиска необходимой цены
    FOR nI := 1 TO nLen
        IF At(cAlc,agSchMC[nI,1]) > 0                                   //  Входит в список КВАП для МЦ
            IF (nDeg > agSchMC[nI,2]) .AND. (nDeg <= agSchMC[nI,3])     //  Попадаем в интервал по градусам
            
                //  Расчет МЦ в зависимости от литража и типа цены. Выход из цикла
                nPrice  := Round(nLitr*2*IF(lOpt,agSchMC[nI,5],agSchMC[nI,4]),2)
                EXIT
            ENDI
        ENDI
    NEXT nI
    RETU nPrice



4. Пока сделано для реального использования

а. Просмотр цен и поиск цен ниже МРЦ и/или МОЦ, зависящий от регистра:





б. При отправке отгрузочной ТТН на возврат поставщика анализ МОЦ и требования действия пользователя:






продолжение, по мере создания новых возможностей следует....
28.01.2019 15:15
FinSoft
 
Вот это поворот...
29.01.2019 16:49
AndreyZh
 
Сегодня возможно закончил внедрение техник контроля МРЦ и МОЦ во все требуемые виды операций и действий с программой?

Самое простое - списание по любому регистру по причине "реализация", где производится контроль со стороны ЕГАИС, что бы цена превышала МРЦ для алкопродукции, где она требуется.

Способов создания списаний множество, но не стал делать контролов на этапе создания актов, а только при отправке, т.к. существует легкий механизм правки цен в списаниях, в отличии от других режимов, где запрещены правки документов с марками...

10.02.2019 12:09
AndreyZh
 
С целью "полноты" реализации технологии МРЦ, раз уж сделал: https://olegon.ru/showpost.php?p=326144&postcount=2, то и добавил в режимы списания "под ноль" по складу:





и торговому залу:





Общий подход:

1 Шаг. Если цена нулевая, то заменяет её на указанную в новой форме режима.

2 Шаг. Если на алкопродукцию установлена МРЦ и технология включена в программе - в каталоге есть файл Schema.mc, то изменяет цену на цену не ниже МРЦ


Для чего нужны списания "под ноль"?

I. Очевидно при закрытии торговых точек.

II. Поделюсь услышанной мной максимально упрощенной техникой работы с ЕГАИС, декларированием, отчетностью магазинов в деревнях и продавцов пива:

1. По мере возможности в течении квартала подтверждаются ТТН в ЕГАИС;
2. В конце квартала всё списывается "под ноль" с причиной "реализация" одним актом;
3. Декларация закачивается автоматом: https://olegon.ru/https://olegon.ru/showthread.php?t=29120, а продажи проставляются равными приходам

Следовательно весь учет займет несколько часов в квартал. Это не противоречит ЗАКОНОДАТЕЛЬСТВУ, хотя и не соответствует требованиям ФСРАР, что "списание" на следующий день... В организациях указанных выше, а тем более ИП никто проверять ничего не будет... скорее всего

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.