Exemplo n.º 1
0
        /// <summary>
        /// Получить параметры ККТ.
        /// </summary>
        /// <param name="fptrCommon"></param>
        /// <returns>параметры ККТ</returns>
        private FptrParameters getFptrParameters(Fptr fptrCommon)
        {
            fptrCommon.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_REG_INFO);
            fptrCommon.fnQueryData();
            var fptrParameters = new FptrParameters();

            fptrParameters.TaxationTypes           = fptrCommon.getParamInt(1062);                                  // Текущая СНО
            fptrParameters.AgentSign               = fptrCommon.getParamInt(1057);
            fptrParameters.FfdVersion              = fptrCommon.getParamInt(1209);
            fptrParameters.AutoModeSign            = fptrCommon.getParamBool(1001);
            fptrParameters.OfflineModeSign         = fptrCommon.getParamBool(1002);
            fptrParameters.EncryptionSign          = fptrCommon.getParamBool(1056);
            fptrParameters.InternetSign            = fptrCommon.getParamBool(1108);
            fptrParameters.ServiceSign             = fptrCommon.getParamBool(1109);
            fptrParameters.BsoSign                 = fptrCommon.getParamBool(1110);
            fptrParameters.LotterySign             = fptrCommon.getParamBool(1126);
            fptrParameters.GamblingSign            = fptrCommon.getParamBool(1193);
            fptrParameters.ExciseSign              = fptrCommon.getParamBool(1207);
            fptrParameters.MachineInstallationSign = fptrCommon.getParamBool(1221);
            fptrParameters.FnsUrl            = fptrCommon.getParamString(1060);
            fptrParameters.OrganizationName  = fptrCommon.getParamString(1048);
            fptrParameters.OrganizationEmail = fptrCommon.getParamString(1117);
            fptrParameters.PaymentsAddressM  = fptrCommon.getParamString(1187);
            fptrParameters.PaymentsAddress   = fptrCommon.getParamString(1009);
            fptrParameters.MachineNumber     = fptrCommon.getParamString(1036);
            fptrParameters.OfdVATIN          = fptrCommon.getParamString(1017);
            fptrParameters.OfdName           = fptrCommon.getParamString(1046);
            return(fptrParameters);
        }
Exemplo n.º 2
0
        private void reg(Fptr fptrCommon, FptrParameters fptrParameters)
        {
            fptrCommon.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_SHIFT_STATE);          // Запрашиваем состояние смены
            fptrCommon.queryData();                                                                            // Всё еще запрашиваем
            var state = fptrCommon.getParamInt(Constants.LIBFPTR_PARAM_SHIFT_STATE);                           // Продолжаем запрашивать

            if (state != 0)                                                                                    // Если смена НЕ закрыта, то...
            {
                fptrCommon.close();
                var msg = "Смена открыта. Закройте смену и перезапустите Frontol";
                addLog(msg);
                showError(msg);            // ... ругаемся
                return;
                // и выходим
            }

            fptrCommon.setParam(Constants.LIBFPTR_PARAM_FN_OPERATION_TYPE, Constants.LIBFPTR_FNOP_CHANGE_PARAMETERS);
            fptrCommon.setParam(1060, fptrParameters.FnsUrl);
            fptrCommon.setParam(1009, fptrParameters.PaymentsAddress);
            fptrCommon.setParam(1048, fptrParameters.OrganizationName);
            fptrCommon.setParam(1117, fptrParameters.OrganizationEmail);
            fptrCommon.setParam(1057, fptrParameters.AgentSign);
            fptrCommon.setParam(1187, fptrParameters.PaymentsAddressM);
            fptrCommon.setParam(1209, fptrParameters.FfdVersion);
            fptrCommon.setParam(1001, fptrParameters.AutoModeSign);
            fptrCommon.setParam(1036, fptrParameters.MachineNumber);
            fptrCommon.setParam(1002, fptrParameters.OfflineModeSign);
            fptrCommon.setParam(1056, fptrParameters.EncryptionSign);
            fptrCommon.setParam(1108, fptrParameters.InternetSign);
            fptrCommon.setParam(1109, fptrParameters.ServiceSign);
            fptrCommon.setParam(1110, fptrParameters.BsoSign);
            fptrCommon.setParam(1126, fptrParameters.LotterySign);
            fptrCommon.setParam(1193, fptrParameters.GamblingSign);
            fptrCommon.setParam(1207, fptrParameters.ExciseSign);
            fptrCommon.setParam(1221, fptrParameters.MachineInstallationSign);
            fptrCommon.setParam(1017, fptrParameters.OfdVATIN);
            fptrCommon.setParam(1046, fptrParameters.OfdName);
            fptrCommon.setParam(1101, 4);


            // Далее раскомментировать нужную строку со своей новой СНО
            fptrCommon.setParam(1062, Constants.LIBFPTR_TT_USN_INCOME_OUTCOME);            // УСН Д-Р
            //KKM10.setParam(1062, KKM10.LIBFPTR_TT_USN_INCOME);                // УСН Д
            //KKM10.setParam(1062, KKM10.LIBFPTR_TT_OSN);                        // ОСН
            //KKM10.setParam(1062, KKM10.LIBFPTR_TT_PATENT );                    // Патент
            //KKM10.setParam(1062, KKM10.LIBFPTR_TT_ESN);                        // ЕСХН

            fptrCommon.fnOperation();

            if (fptrCommon.errorCode() != 0)                                                    // Проверяем ошибки
            {
                var msg = fptrCommon.errorDescription();
                addLog(msg);
                showError(msg); // Если есть ошибки, то выводим сообщение с описанием ошибки
                fptrCommon.close();
                return;
            }

            fptrCommon.setParam(Constants.LIBFPTR_PARAM_SETTING_ID, 50);                        // Устанавливаем СНО по умолчанию
            fptrCommon.setParam(Constants.LIBFPTR_PARAM_SETTING_VALUE, '4');                    // Тут выбираем СНО: 1 - ОСН, 2 - УСН (Д), 4 - УСН (Д-Р), 16 - ЕСХН, 32 - Патент
            fptrCommon.writeDeviceSetting();                                                    // Заканчиваем устанавливать

            if (fptrCommon.errorCode() != 0)                                                    // Проверяем ошибки
            {
                var msg = fptrCommon.errorDescription();
                addLog(msg);
                showError(msg);                     // Если есть ошибки, то выводим сообщение с описанием ошибки
                fptrCommon.close();
                return;
            }
        }