Example #1
0
        public void PrintNDS18118()
        {
            string checkPackage =
                "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                "<CheckPackage>" +
                "	<Parameters PaymentType=\"1\" TaxVariant=\"1\" CashierName=\"\" CustomerEmail=\"\" CustomerPhone=\"\"/>"+
                "	<Positions>"+
                "		<FiscalString Name=\"Выдать:  Основание: \" Quantity=\"1\" PriceWithDiscount=\"1\" SumWithDiscount=\"1\" DiscountSum=\"\" Department=\"0\" Tax=\"18/118\" SignMethodCalculation=\"3\" SignCalculationObject=\"10\" TaxSum=\"0\"/>"+
                "	</Positions>"+
                "	<Payments Cash=\"1\" ElectronicPayment=\"0\" Credit=\"0\" AdvancePayment=\"0\" CashProvision=\"0\"/>"+
                "</CheckPackage>";
            var    elect = false;
            int    checkNumber;
            int    sessionNumber;
            string fiscalSign;
            string addressSiteInspection;

            Res = Kkt.СформироватьЧек(Device, elect, checkPackage, out checkNumber, out sessionNumber, out fiscalSign, out addressSiteInspection);

            Assert.IsTrue(Res, MessageError);
            Assert.AreNotEqual(0, checkNumber, "Номер чека не может быть равным нулю");
            Assert.AreNotEqual(0, sessionNumber, "Номер смены не может быть равным нулю");
            Assert.IsNotNull(fiscalSign, "Фискальный признак не может быть пустым");
            Assert.IsNotNull(addressSiteInspection, "Адрес проверки чека не может быть пустым");
        }
Example #2
0
        public void PrintWithDiscount()
        {
            string checkPackage =
                "<CheckPackage>                                                                                                                                               " +
                "    <Parameters PaymentType=\"1\" TaxVariant=\"3\" SenderEmail=\"\" CustomerEmail=\"\" CustomerPhone=\"\"/>                                                            " +
                "    <Positions>                                                                                                                                              " +
                "        <FiscalString Name=\"Мяч\" Quantity=\"1\" Price=\"30\" Amount=\"45\" Department=\"1\" Tax=\"none\"/>   " +
                "    </Positions>                                                                                                                                             " +
                "    <Payments Cash=\"45\" CashLessType1=\"0\" CashLessType2=\"0\" CashLessType3=\"0\"/>                                                                               " +
                "</CheckPackage>";

            var    elect = false;
            int    checkNumber;
            int    sessionNumber;
            string fiscalSign;
            string addressSiteInspection;

            Res = Kkt.СформироватьЧек(Device, Cashier, elect, checkPackage, out checkNumber, out sessionNumber, out fiscalSign, out addressSiteInspection);

            Assert.IsTrue(Res, MessageError);
            Assert.AreNotEqual(checkNumber, 0);
            Assert.AreNotEqual(sessionNumber, 0);
            Assert.IsNotNull(fiscalSign);
            Assert.IsNotNull(addressSiteInspection);
        }
Example #3
0
        public void GetCurrentStatus()
        {
            string statusParameters;
            int    sessionState;
            int    sessionNumber;
            int    checkNumber;

            Res = Kkt.ПолучитьТекущееСостояние(Device, out checkNumber, out sessionNumber, out sessionState, out statusParameters);

            Assert.IsTrue(Res, MessageError);

            // Состояние смены
            // 1 - Закрыта
            // 2 - Открыта
            // 3 - Истекла
            bool sessionStateValid;

            switch (sessionState)
            {
            case 1: sessionStateValid = true; break;

            case 2: sessionStateValid = true; break;

            case 3: sessionStateValid = true; break;

            default:
                sessionStateValid = false; break;
            }
            Assert.IsTrue(sessionStateValid, "Состояние смены может принимать значение от 1 до 3");
            Assert.AreNotEqual(0, checkNumber, "Номер чека не может быть равным нулю");
            Assert.AreNotEqual(0, sessionNumber, "Номер смены не может быть равным нулю");
        }
Example #4
0
        public void PrintCheckSummIsZero()
        {
            string checkPackage =
                "<CheckPackage>                                                                                                                                               " +
                "    <Parameters PaymentType=\"1\" TaxVariant=\"3\" SenderEmail=\"\" CustomerEmail=\"\" CustomerPhone=\"\"/>                                                            " +
                "    <Positions>                                                                                                                                              " +
                "        <FiscalString Name=\"SIM МТС РТК Мой Smart 30/220 мульт Томск + пополнение 220 р шт\" Quantity=\"1\" Price=\"30\" Amount=\"0\" Department=\"1\" Tax=\"none\"/>   " +
                "        <TextString Text=\"Серия/SN: 9138843703\"/>                                                                                                            " +
                "    </Positions>                                                                                                                                             " +
                "    <Payments Cash=\"30\" CashLessType1=\"0\" CashLessType2=\"0\" CashLessType3=\"0\"/>                                                                               " +
                "</CheckPackage>";

            var    elect = false;
            int    checkNumber;
            int    sessionNumber;
            string fiscalSign;
            string addressSiteInspection;

            Res = Kkt.СформироватьЧек(Device, Cashier, elect, checkPackage, out checkNumber, out sessionNumber, out fiscalSign, out addressSiteInspection);

            Assert.IsTrue(Res, MessageError);
            Assert.AreNotEqual(checkNumber, 0);
            Assert.AreNotEqual(sessionNumber, 0);
            Assert.IsNotNull(fiscalSign);
            Assert.IsNotNull(addressSiteInspection);
        }
Example #5
0
        public void PrintCodeNomenclature()
        {
            string checkPackage =
                "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                "<CheckPackage>" +
                "	<Parameters PaymentType=\"1\" TaxVariant=\"1\" CashierName=\"\" CustomerEmail=\"\" CustomerPhone=\"\"/>"+
                "	<Positions>"+
                "		<FiscalString Name=\"Сигареты Winstone\" Quantity=\"1\" PriceWithDiscount=\"100\" SumWithDiscount=\"100\" DiscountSum=\"0\" Department=\"0\" Tax=\"none\" SignMethodCalculation=\"3\" SignCalculationObject=\"4\" TaxSum=\"0\">"+
                "           <GoodCodeData StampType=\"05\" SerialNumber=\"ABC1234\" GTIN=\"98765432101234\"  />" +
                " </FiscalString>" +
                //"	<Positions>" +
                //"		<FiscalString Name=\"Антибиотик\" Quantity=\"1\" PriceWithDiscount=\"1000\" SumWithDiscount=\"1000\" DiscountSum=\"0\" Department=\"0\" Tax=\"none\" SignMethodCalculation=\"3\" SignCalculationObject=\"4\" TaxSum=\"0\">" +
                //"       <GoodCodeData StampType=\"05\" SerialNumber\"ABC1234\" GTIN=\"98765432101234\"  />" +
                //" </FiscalString>" +
                "		<FiscalString Name=\"Шуба\" Quantity=\"1\" PriceWithDiscount=\"100\" SumWithDiscount=\"100\" DiscountSum=\"19000\" Department=\"0\" Tax=\"none\" SignMethodCalculation=\"3\" SignCalculationObject=\"4\" TaxSum=\"0\">"+
                "           <GoodCodeData StampType=\"02\" SerialNumber=\"RU-430302-ABC1234567\" GTIN=\"98765432101234\"  />" +
                "        </FiscalString>" +
                "	</Positions>"+
                "<Payments Cash=\"200\" ElectronicPayment=\"0\" Credit=\"0\" AdvancePayment=\"0\" CashProvision=\"0\"/>" +
                "</CheckPackage>";
            var    elect = false;
            int    checkNumber;
            int    sessionNumber;
            string fiscalSign;
            string addressSiteInspection;

            Res = Kkt.СформироватьЧек(Device, elect, checkPackage, out checkNumber, out sessionNumber, out fiscalSign, out addressSiteInspection);

            Assert.IsTrue(Res, MessageError);
            Assert.AreNotEqual(0, checkNumber, "Номер чека не может быть равным нулю");
            Assert.AreNotEqual(0, sessionNumber, "Номер смены не может быть равным нулю");
            Assert.IsNotNull(fiscalSign, "Фискальный признак не может быть пустым");
            Assert.IsNotNull(addressSiteInspection, "Адрес проверки чека не может быть пустым");
        }
Example #6
0
        public void PrintBarCode()
        {
            string checkPackage =
                "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                "<CheckPackage>" +
                "	<Parameters PaymentType=\"1\" TaxVariant=\"1\" CashierName=\"\" CustomerEmail=\"\" CustomerPhone=\"\"/>"+
                "	<Positions>"+
                "		<FiscalString Name=\"Наклейка (стикер) виниловая\" Quantity=\"5\" PriceWithDiscount=\"1\" SumWithDiscount=\"120\" DiscountSum=\"200\" Department=\"0\" Tax=\"none\" SignMethodCalculation=\"3\" SignCalculationObject=\"10\" TaxSum=\"0\"/>"+
                "       <Barcode BarcodeType=\"EAN8\" Barcode=\"9031101\"/>" +
                "       <TextString Text=\"EAN8: 9031101\"/>" +
                "       <Barcode BarcodeType=\"EAN13\" Barcode=\"2000021262157\"/>" +
                "       <TextString Text=\"EAN13: 2000021262157\"/>" +
                "       <Barcode BarcodeType=\"CODE39\" Barcode=\"123456\"/>" +
                "       <TextString Text=\"CODE39: 123456\"/>" +
                "       <Barcode BarcodeType=\"QR\" Barcode=\"www.rbsoft.ru\"/>	" +
                "       <TextString Text=\"QR: www.rbsoft.ru\"/>" +
                "	</Positions>"+
                "	<Payments Cash=\"120\" ElectronicPayment=\"0\" Credit=\"0\" AdvancePayment=\"0\" CashProvision=\"0\"/>"+
                "</CheckPackage>";
            var    elect = false;
            int    checkNumber;
            int    sessionNumber;
            string fiscalSign;
            string addressSiteInspection;

            Res = Kkt.СформироватьЧек(Device, elect, checkPackage, out checkNumber, out sessionNumber, out fiscalSign, out addressSiteInspection);

            Assert.IsTrue(Res, MessageError);
            Assert.AreNotEqual(0, checkNumber, "Номер чека не может быть равным нулю");
            Assert.AreNotEqual(0, sessionNumber, "Номер смены не может быть равным нулю");
            Assert.IsNotNull(fiscalSign, "Фискальный признак не может быть пустым");
            Assert.IsNotNull(addressSiteInspection, "Адрес проверки чека не может быть пустым");
            //Атол 10 надбавка не может превышать цену позиции
        }
Example #7
0
        public void OperationFN()
        {
            string parametersFiscal =
                " <Parameters " +
                " KKTNumber=\"2345234523452345\" " +
                " OrganizationName=\"ООО ВЕКТОР\" " +
                " VATIN=\"325435435223\" " +
                " AddressSettle=\"Москва, Дмитровское шоссе д.6\" " +
                " TaxVariant=\"0\" " +
                " OfflineMode=\"false\" " +
                " AutomaticMode=\"false\" " +
                " AutomaticNumber=\"\" " +
                " ReasonCode=\"1\" " +
                " OFDVATIN=\"32456234523452\"/> ";

            //Тип операции:
            //1 - Регистрация
            //2 - Изменение параметров регистрации
            //3 - Закрытие ФН
            long operationType = 2;

            Res = Kkt.ОперацияФН(Device, operationType, Cashier, parametersFiscal);

            Assert.IsTrue(Res, MessageError);
        }
Example #8
0
        public void ProcessCheck()
        {
            string checkPackage =
                "<CheckPackage>                                                                                                                                   " +
                "<Parameters PaymentType=\"1\" SenderEmail=\"[email protected]\" CustomerEmail=\"[email protected]\" CustomerPhone=\"\" AgentCompensation=\"\" AgentPhone=\"\"/>      " +
                "<Positions>                                                                                                                                      " +
                "<FiscalString Name=\"Макароны\" Quantity=\"1\" Price=\"16.75\" Amount=\"16.75\" Tax=\"10\"/>                                                               " +
                "<FiscalString Name=\"Томатный сок\" Quantity=\"1\" Price=\"200\" Amount=\"200\" Tax=\"18\"/>                                                               " +
                "<FiscalString Name=\"Алкоголь Шампрео 0.7\" Quantity=\"1\" Price=\"455\" Amount=\"455\" Tax=\"18\"/>                                                       " +
                "<TextString Text=\"Дисконтная карта: 00002345\"/>                                                                                                  " +
                "<Barcode BarcodeType=\"EAN13\" Barcode=\"2000021262157\"/>                                                                                           " +
                "</Positions>                                                                                                                                     " +
                "<Payments Cash=\"471.75\" CashLessType1=\"0\" CashLessType2=\"0\" CashLessType3=\"200\"/>                                                                " +
                "</CheckPackage>";

            //TODO добавить печать электронного чека
            var    elect = false;
            int    checkNumber;
            int    sessionNumber;
            string fiscalSign;
            string addressSiteInspection;

            Res = Kkt.СформироватьЧек(Device, Cashier, elect, checkPackage, out checkNumber, out sessionNumber, out fiscalSign, out addressSiteInspection);

            Assert.IsTrue(Res, MessageError);
            Assert.AreNotEqual(0, checkNumber, "Номер чека не может быть равным нулю");
            Assert.AreNotEqual(0, sessionNumber, "Номер смены не может быть равным нулю");
            Assert.IsNotNull(fiscalSign, "Фискальный признак не может быть пустым");
            Assert.IsNotNull(addressSiteInspection, "Адрес проверки чека не может быть пустым");
        }
Example #9
0
        public void PrintText_With_OR()
        {
            string documentPackage = "<Document> <Positions> <TextString Text=\"Тестовая печать QR\"/> <Barcode BarcodeType=\"QR\" Barcode=\"http://www.rbsoft.ru/product/devicenet/buy/\"/> </Positions> </Document>";

            Res = Kkt.НапечататьТекстовыйДокумент(Device, documentPackage);
            Assert.IsTrue(Res, MessageError);
        }
Example #10
0
        public void PrintCheckWithAgentData()
        {
            string checkPackage = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                                  "<CheckPackage>" +
                                  "	<Parameters PaymentType=\"1\" TaxVariant=\"1\" CashierName=\"Администратор\" CustomerEmail=\"\" CustomerPhone=\"\" AgentSign=\"0\">" +
                                  "		<AgentData PayingAgentOperation=\"Перевод\" PayingAgentPhone=\"89839832112\" MoneyTransferOperatorPhone=\"323232\" MoneyTransferOperatorName=\"ООО МТС платеж\" MoneyTransferOperatorAddress=\"ул Туполева 142\" MoneyTransferOperatorVATIN=\"1524182342\"/>"+
                                  "		<PurveyorData PurveyorPhone=\"303030\" PurveyorName=\"ООО МТС\" PurveyorVATIN=\"4112689026\"/>"+
                                  "	</Parameters>" +
                                  "	<Positions>" +
                                  "		<FiscalString Name=\"Оплата от: Общество с ограниченной ответственностью &quot;Кафе &quot;Сказка&quot; Основание: \" Quantity=\"1\" PriceWithDiscount=\"28000\" SumWithDiscount=\"28000\" DiscountSum=\"\" Department=\"0\" Tax=\"20\" SignMethodCalculation=\"3\" SignCalculationObject=\"10\" TaxSum=\"4666.666666666666666666666666667\" SignSubjectCalculationAgent=\"0\">"+
                                  "			<AgentData PayingAgentOperation=\"Перевод\" PayingAgentPhone=\"89839832112\" MoneyTransferOperatorPhone=\"323232\" MoneyTransferOperatorName=\"ООО МТС платеж\" MoneyTransferOperatorAddress=\"ул туполева 142\" MoneyTransferOperatorVATIN=\"1524182342\"/>"+
                                  "			<PurveyorData PurveyorPhone=\"303030\" PurveyorName=\"ООО МТС\" PurveyorVATIN=\"4112689026\"/>"+
                                  "		</FiscalString>"+
                                  "		<FiscalString Name=\"Оплата от: Общество с ограниченной ответственностью &quot;Кафе &quot;Рассказка&quot; Основание: \" Quantity=\"0.499\" PriceWithDiscount=\"28000\" SumWithDiscount=\"56001.99\" DiscountSum=\"\" Department=\"0\" Tax=\"20\" SignMethodCalculation=\"3\" SignCalculationObject=\"10\" SignSubjectCalculationAgent=\"0\" TaxSum=\"4666.666666666666666666666666667\">"+
                                  "			<AgentData PayingAgentOperation=\"Перевод\" PayingAgentPhone=\"89839832112\" MoneyTransferOperatorPhone=\"323232\" MoneyTransferOperatorName=\"ООО МТС платеж\" MoneyTransferOperatorAddress=\"ул туполева 142\" MoneyTransferOperatorVATIN=\"1524182342\"/>"+
                                  "			<PurveyorData PurveyorPhone=\"303030\" PurveyorName=\"ООО МТС\" PurveyorVATIN=\"4112689026\"/>"+
                                  "		</FiscalString>"+
                                  "	</Positions>" +
                                  "	<Payments Cash=\"112000\" ElectronicPayment=\"0\" Credit=\"0\" AdvancePayment=\"0\" CashProvision=\"0\"/>" +
                                  "</CheckPackage>";
            var    elect = false;
            int    checkNumber;
            int    sessionNumber;
            string fiscalSign;
            string addressSiteInspection;

            Res = Kkt.СформироватьЧек(Device, elect, checkPackage, out checkNumber, out sessionNumber, out fiscalSign, out addressSiteInspection);

            Assert.IsTrue(Res, MessageError);
            Assert.AreNotEqual(0, checkNumber, "Номер чека не может быть равным нулю");
            Assert.AreNotEqual(0, sessionNumber, "Номер смены не может быть равным нулю");
            Assert.IsNotNull(fiscalSign, "Фискальный признак не может быть пустым");
            Assert.IsNotNull(addressSiteInspection, "Адрес проверки чека не может быть пустым");
        }
Example #11
0
        public void PrintCheckDepartmnt()
        {
            string checkPackage0 =
                "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                "<CheckPackage>" +
                "	<Parameters PaymentType=\"1\" TaxVariant=\"1\" CashierName=\"\" CustomerEmail=\"\" CustomerPhone=\"\"/>"+
                "	<Positions>"+
                "		<FiscalString Name=\"Выдать:  Основание: \" Quantity=\"1\" PriceWithDiscount=\"1\" SumWithDiscount=\"1\" DiscountSum=\"\" Department=\"1\" Tax=\"none\" SignMethodCalculation=\"3\" SignCalculationObject=\"10\" TaxSum=\"0\"/>"+
                "	</Positions>"+
                "	<Payments Cash=\"1\" ElectronicPayment=\"0\" Credit=\"0\" AdvancePayment=\"0\" CashProvision=\"0\"/>"+
                "</CheckPackage>";

            string checkPackage1 =
                "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                "<CheckPackage>" +
                "	<Parameters PaymentType=\"1\" TaxVariant=\"1\" CashierName=\"\" CustomerEmail=\"\" CustomerPhone=\"\"/>"+
                "	<Positions>"+
                "		<FiscalString Name=\"Выдать:  Основание: \" Quantity=\"1\" PriceWithDiscount=\"1\" SumWithDiscount=\"1\" DiscountSum=\"\" Department=\"2\" Tax=\"none\" SignMethodCalculation=\"3\" SignCalculationObject=\"10\" TaxSum=\"0\"/>"+
                "	</Positions>"+
                "	<Payments Cash=\"1\" ElectronicPayment=\"0\" Credit=\"0\" AdvancePayment=\"0\" CashProvision=\"0\"/>"+
                "</CheckPackage>";

            string checkPackage2 =
                "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                "<CheckPackage>" +
                "	<Parameters PaymentType=\"1\" TaxVariant=\"1\" CashierName=\"\" CustomerEmail=\"\" CustomerPhone=\"\"/>"+
                "	<Positions>"+
                "		<FiscalString Name=\"Выдать:  Основание: \" Quantity=\"1\" PriceWithDiscount=\"1\" SumWithDiscount=\"1\" DiscountSum=\"\" Department=\"3\" Tax=\"none\" SignMethodCalculation=\"3\" SignCalculationObject=\"10\" TaxSum=\"0\"/>"+
                "	</Positions>"+
                "	<Payments Cash=\"1\" ElectronicPayment=\"0\" Credit=\"0\" AdvancePayment=\"0\" CashProvision=\"0\"/>"+
                "</CheckPackage>";

            var    elect = false;
            int    checkNumber;
            int    sessionNumber;
            string fiscalSign;
            string addressSiteInspection;

            Res = Kkt.СформироватьЧек(Device, elect, checkPackage0, out checkNumber, out sessionNumber, out fiscalSign, out addressSiteInspection);
            Assert.IsTrue(Res, MessageError);

            Res = Kkt.СформироватьЧек(Device, elect, checkPackage1, out checkNumber, out sessionNumber, out fiscalSign, out addressSiteInspection);
            Assert.IsTrue(Res, MessageError);

            Res = Kkt.СформироватьЧек(Device, elect, checkPackage2, out checkNumber, out sessionNumber, out fiscalSign, out addressSiteInspection);
            Assert.IsTrue(Res, MessageError);

            Assert.AreNotEqual(0, checkNumber, "Номер чека не может быть равным нулю");
            Assert.AreNotEqual(0, sessionNumber, "Номер смены не может быть равным нулю");
            Assert.IsNotNull(fiscalSign, "Фискальный признак не может быть пустым");
            Assert.IsNotNull(addressSiteInspection, "Адрес проверки чека не может быть пустым");

            // Отчет по секциям показывает, что в все чеки в одной секции

            // Исправление в 10 драйвере,  при формировании позиции чека

            // Секции  0 и 1 группируются  в 1 секцию
        }
Example #12
0
        public void GetDataKKT()
        {
            //< Parameters
            //KKTNumber="2345234523452345"
            //KKTSerialNumber="412412412412412"
            //Fiscal="true"
            //FNSerialNumber="23523445"
            //OrganizationName="ООО ВЕКТОР"
            //VATIN="325435435223"
            //AddressSettle="Москва, Дмитровское шоссе д.6"
            //TaxVariant="0,3"
            //OfflineMode="false"
            //AutomaticMode="false"
            //AutomaticNumber=""
            //OFDVATIN="32456234523452"/>
            int    length = 16;
            string tableParametesKKT;

            Res = Kkt.ПолучитьПараметрыККТ(Device, out tableParametesKKT);
            Console.WriteLine(tableParametesKKT);
            var doc = new XmlDocument();

            doc.LoadXml(tableParametesKKT);
            XmlElement root = doc.DocumentElement;
            // Обязательное наличие в структуре
            var  KKTSerialNumber = root.GetAttribute("KKTSerialNumber");
            var  FNSerialNumber  = root.GetAttribute("FNSerialNumber");
            bool Fiscal          = bool.Parse(root.GetAttribute("Fiscal"));

            // Необязательное наличие в структуре.
            var KKTNumber           = root.GetAttribute("KKTNumber");
            var FFDVersionFN        = root.GetAttribute("FFDVersionFN");
            var FFDVersionKKT       = root.GetAttribute("FFDVersionKKT");
            var DocumentNumber      = root.GetAttribute("DocumentNumber");
            var DateTimeParam       = DateTime.Parse(root.GetAttribute("DateTime"));
            var OrganizationName    = root.GetAttribute("OrganizationName");
            var VATIN               = root.GetAttribute("VATIN");
            var AddressSettle       = root.GetAttribute("AddressSettle");
            var TaxVariant          = root.GetAttribute("TaxVariant");
            var OfflineMode         = bool.Parse(root.GetAttribute("OfflineMode"));
            var ServiceSign         = bool.Parse(root.GetAttribute("ServiceSign"));
            var BSOSing             = bool.Parse(root.GetAttribute("BSOSing"));
            var CalcOnlineSign      = bool.Parse(root.GetAttribute("CalcOnlineSign"));
            var AutomaticMode       = root.GetAttribute("AutomaticMode");
            var AutomaticNumber     = root.GetAttribute("AutomaticNumber");
            var OFDOrganizationName = root.GetAttribute("OFDOrganizationName");
            var OFDVATIN            = root.GetAttribute("OFDVATIN");

            int docNumber = 0;

            int.TryParse(DocumentNumber, out docNumber);
            Assert.AreNotEqual(0, docNumber, "Номер документ не должен быть нулевым");
            Assert.IsTrue(Res, MessageError);
            Assert.AreEqual(length, KKTNumber.Length, $"Неверная длина {nameof(KKTNumber)} '{KKTNumber}'");
            Assert.AreEqual(length, FNSerialNumber.Length, $"Неверная длина {nameof(FNSerialNumber)} '{FNSerialNumber}'");
            Assert.IsNotNull(OFDOrganizationName, "Название ОФД не может быть пустым");
            Assert.IsNotNull(OFDVATIN, "ИНН ОФД не может быть пустым");
        }
Example #13
0
        public void GetLineLenngth()
        {
            int lineLength;

            Res = Kkt.ПолучитьШиринуСтроки(Device, out lineLength);

            Assert.AreNotEqual(0, lineLength, "Получена неверная ширина строки");
            Assert.IsTrue(Res, MessageError);
        }
Example #14
0
        public void CloseShift()
        {
            int checkNumber;
            int sessionNumber;

            Res = Kkt.ЗакрытьСмену(Device, Cashier, out checkNumber, out sessionNumber);

            Assert.IsTrue(Res, MessageError);
            Assert.AreNotEqual(0, checkNumber, "Номер чека не может быть равным нулю");
            Assert.AreNotEqual(0, sessionNumber, "Номер смены не может быть равным нулю");
        }
Example #15
0
        public void CashInOutcome()
        {
            // Сумма > = 0 - внесение, Сумма < 0 - выемка
            double cashIn  = 5;
            double cashOun = -5;

            Res = Kkt.НапечататьЧекВнесенияВыемки(Device, cashIn);
            Assert.IsTrue(Res, MessageError);

            Res = Kkt.НапечататьЧекВнесенияВыемки(Device, cashOun);
            Assert.IsTrue(Res, MessageError);
        }
Example #16
0
        public void RegistrationKKT()
        {
            string parametersFiscal = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                                      "<Parameters CashierName=\"Администратор\" CashierVATIN =\"\" KKTNumber=\"0000000000007620\"" +
                                      " OFDVATIN=\"7728699517\" OFDOrganizationName=\"ООО Ярус\" OrganizationName=\"РБ СОФТ\"" +
                                      " VATIN=\"0326031413\" AddressSettle=\"670000, Республика Бурятия, г. Улан-Удэ, ул. Балтахинова, дом 17 Е, офис 215\"" +
                                      " TaxVariant=\"0,1,2,3,4,5\" OfflineMode=\"false\" DataEncryption=\"true\" ServiceSign=\"true\"" +
                                      " BSOSing=\"false\" CalcOnlineSign=\"true\" AutomaticMode=\"true\" AutomaticNumber=\"10\" PlaceSettle=\"офис 216\"" +
                                      " SaleExcisableGoods=\"true\" SignOfGambling=\"false\" SignOfLottery=\"false\" SignOfAgent=\"0,1,2,3,4,5,6\"" +
                                      " PrinterAutomatic=\"false\" ReasonCode=\"4\" SenderEmail=\"[email protected]\" FNSWebSite=\"nalog.ru\"/>";

            Res = Kkt.ОперацияФН(Device, 2, parametersFiscal);
            Assert.IsTrue(Res, MessageError);
        }
Example #17
0
        public void PrintTextDocument()
        {
            string documentPackage =
                "<Document> " +
                "<Positions> " +
                "<TextString Text=\"Участие в дисконтной системе\"/> " +
                "<TextString Text=\"Дисконтная карта: 00002345\"/> " +
                "<Barcode BarcodeType=\"EAN13\" Barcode=\"2000021262157\"/> " +
                "</Positions> " +
                "</Document>";

            Res = Kkt.НапечататьТекстовыйДокумент(Device, documentPackage);

            Assert.IsTrue(Res, MessageError);
        }
Example #18
0
        public void OpenShift()
        {
            string paramOperation =
                "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                "<CheckPackage>" +
                "	<Parameters  CashierName=\"Мужик\"  CashierVatin=\"123654789507\"/>"+
                "</CheckPackage>";
            int sessionNumber;
            int checkNumber;

            Res = Kkt.ОткрытьСмену(Device, paramOperation, out string paramState, out checkNumber, out sessionNumber);
            Assert.IsTrue(Res, MessageError);
            Assert.AreNotEqual(0, checkNumber, "Номер чека не может быть равным нулю");
            Assert.AreNotEqual(0, sessionNumber, "Номер смены не может быть равным нулю");
            Assert.IsFalse(string.IsNullOrEmpty(paramState), "параметры сосотяния недоступны");
        }
Example #19
0
        public void PrintCheck_ЧекККМ()
        {
            var    checkPackage = "<CheckPackage>  <Parameters PaymentType =\"1\" TaxVariant=\"0\" CashierName=\"Федоров Николай Петрович\" SenderEmail=\"true\" CustomerEmail=\"\" CustomerPhone=\"\"/> <Positions>  <FiscalString Name =\"Блокнот 16 л. шт\" Quantity=\"10\" Price=\"0.25\" Amount=\"2.5\" Department=\"0\" Tax=\"none\"/> <FiscalString Name =\"Блокнот 16 л. шт\" Quantity=\"9\" Price=\"0.25\" Amount=\"2.25\" Department=\"0\" Tax=\"none\"/> <FiscalString Name =\"Пенал шт\" Quantity=\"8\" Price=\"0.92\" Amount=\"7.36\" Department=\"0\" Tax=\"none\"/> <FiscalString Name =\"Тетрадь 28 листов шт\" Quantity=\"7\" Price=\"0.87\" Amount=\"6.09\" Department=\"0\" Tax=\"none\"/> <FiscalString Name =\"Ручка BIC шт\" Quantity=\"6\" Price=\"0.98\" Amount=\"5.88\" Department=\"0\" Tax=\"none\"/><FiscalString Name =\"Ручка BIC шт\" Quantity=\"5\" Price=\"0.98\" Amount=\"4.9\" Department=\"0\" Tax=\"none\"/></Positions>  <Payments Cash =\"60\" CashLessType1=\"6\" CashLessType2=\"0\" CashLessType3=\"0\"/> </CheckPackage>";
            var    elect        = false;
            int    checkNumber;
            int    sessionNumber;
            string fiscalSign;
            string addressSiteInspection;

            Res = Kkt.СформироватьЧек(Device, Cashier, elect, checkPackage, out checkNumber, out sessionNumber, out fiscalSign, out addressSiteInspection);

            Assert.IsTrue(Res, MessageError);
            Assert.AreNotEqual(checkNumber, 0);
            Assert.AreNotEqual(sessionNumber, 0);
            Assert.IsNotNull(fiscalSign);
            Assert.IsNotNull(addressSiteInspection);
        }
Example #20
0
        public void PrintCheck()
        {
            string checkPackage = File.ReadAllText(@"1C XML\nataliya profi.xml");
            var    elect        = false;
            int    checkNumber;
            int    sessionNumber;
            string fiscalSign;
            string addressSiteInspection;

            Res = Kkt.СформироватьЧек(Device, elect, checkPackage, out checkNumber, out sessionNumber, out fiscalSign, out addressSiteInspection);

            Assert.IsTrue(Res, MessageError);
            Assert.AreNotEqual(0, checkNumber, "Номер чека не может быть равным нулю");
            Assert.AreNotEqual(0, sessionNumber, "Номер смены не может быть равным нулю");
            Assert.IsNotNull(fiscalSign, "Фискальный признак не может быть пустым");
            Assert.IsNotNull(addressSiteInspection, "Адрес проверки чека не может быть пустым");
        }
Example #21
0
        public void PrintCheck_РКО()
        {
            var    checkPackage = "<CheckPackage> <Parameters PaymentType=\"2\" TaxVariant=\"0\" CashierName=\"Федоров Николай Петрович\" SenderEmail=\"true\" CustomerEmail=\"\" CustomerPhone=\"\"/> <Positions> <FiscalString Name=\"[ПрОпл] Выдать: ООО &quot;Рога и Копыта&quot; Основание: \" Quantity=\"1\" Price=\"0.5\" Amount=\"0.5\" Department=\"0\" Tax=\"0\"/> </Positions> <Payments Cash=\"0.5\" CashLessType1=\"0\" CashLessType2=\"0\" CashLessType3=\"0\"/> </CheckPackage>";
            var    elect        = false;
            int    checkNumber;
            int    sessionNumber;
            string fiscalSign;
            string addressSiteInspection;

            Res = Kkt.СформироватьЧек(Device, Cashier, elect, checkPackage, out checkNumber, out sessionNumber, out fiscalSign, out addressSiteInspection);

            Assert.IsTrue(Res, MessageError);
            Assert.AreNotEqual(checkNumber, 0);
            Assert.AreNotEqual(sessionNumber, 0);
            Assert.IsNotNull(fiscalSign);
            Assert.IsNotNull(addressSiteInspection);
        }
Example #22
0
        public void PrintCheck_РеализациТоваровИУслуг()
        {
            var    checkPackage = "<CheckPackage> <Parameters PaymentType=\"1\" TaxVariant=\"0\" CashierName=\"Федоров Николай Петрович\" SenderEmail=\"true\" CustomerEmail=\"\" CustomerPhone=\"\"/> <Positions> <FiscalString Name=\"[БезОп] Карандаш Eric шт\" Quantity=\"10\" Price=\"0.52\" Amount=\"5.2\" Department=\"0\" Tax=\"none\"/> <FiscalString Name=\"[БезОп] Ластик большой шт\" Quantity=\"9\" Price=\"0.43\" Amount=\"3.87\" Department=\"0\" Tax=\"0\"/> <FiscalString Name=\"[БезОп] Линейка 15 см шт\" Quantity=\"8\" Price=\"0.26\" Amount=\"2.08\" Department=\"0\" Tax=\"10\"/> <FiscalString Name=\"[БезОп] Пенал шт\" Quantity=\"7\" Price=\"0.92\" Amount=\"6.44\" Department=\"0\" Tax=\"18\"/> <FiscalString Name=\"[БезОп] Ручка BIC шт\" Quantity=\"6\" Price=\"156\" Amount=\"936\" Department=\"0\" Tax=\"10\"/> <FiscalString Name=\"[БезОп] Тетрадь 28 листов шт\" Quantity=\"5\" Price=\"0.87\" Amount=\"4.35\" Department=\"0\" Tax=\"18\"/> </Positions> <Payments Cash=\"0\" CashLessType1=\"0\" CashLessType2=\"957.94\" CashLessType3=\"0\"/> </CheckPackage>";
            var    elect        = false;
            int    checkNumber;
            int    sessionNumber;
            string fiscalSign;
            string addressSiteInspection;

            Res = Kkt.СформироватьЧек(Device, Cashier, elect, checkPackage, out checkNumber, out sessionNumber, out fiscalSign, out addressSiteInspection);

            Assert.IsTrue(Res, MessageError);
            Assert.AreNotEqual(checkNumber, 0);
            Assert.AreNotEqual(sessionNumber, 0);
            Assert.IsNotNull(fiscalSign);
            Assert.IsNotNull(addressSiteInspection);
        }
Example #23
0
        public void ProcessCorrectionCheck()
        {
            string checkCorrectionPackage =
                "<CheckCorrectionPackage> " +
                "<Parameters PaymentType=\"1\"/> " +
                "<Payments Cash=\"200\"/> " +
                "</CheckCorrectionPackage>";

            int    checkNumber;
            int    sessionNumber;
            string fiscalSign;
            string addressSiteInspection;

            Res = Kkt.СформироватьЧекКоррекции(Device, Cashier, checkCorrectionPackage, out checkNumber, out sessionNumber, out fiscalSign, out addressSiteInspection);

            Assert.IsTrue(Res, MessageError);
            Assert.AreNotEqual(0, checkNumber, "Номер чека не может быть равным нулю");
            Assert.AreNotEqual(0, sessionNumber, "Номер смены не может быть равным нулю");
            Assert.IsNotNull(fiscalSign, "Фискальный признак не может быть пустым");
            Assert.IsNotNull(addressSiteInspection, "Адрес проверки чека не может быть пустым");
        }
Example #24
0
        public void PrintTextDocumentWithBarCode()
        {
            string docPackage =
                "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                "<Document>" +
                "	<Positions>"+
                "       <Barcode BarcodeType=\"EAN8\" Barcode=\"9031101\"/>" +
                "       <TextString Text=\"EAN8: 9031101\"/>" +
                "       <Barcode BarcodeType=\"EAN13\" Barcode=\"2000021262157\"/>" +
                "       <TextString Text=\"EAN13: 2000021262157\"/>" +
                "       <Barcode BarcodeType=\"CODE39\" Barcode=\"123456\"/>" +
                "       <TextString Text=\"CODE39: 123456\"/>" +
                "       <Barcode BarcodeType=\"QR\" Barcode=\"www.rbsoft.ru\"/>	" +
                "       <TextString Text=\"QR: www.rbsoft.ru\"/>" +
                "	</Positions>"+
                "</Document>";

            Res = Kkt.НапечататьТекстовыйДокумент(Device, docPackage);

            Assert.IsTrue(Res, MessageError);
        }
Example #25
0
 public void Cleanup()
 {
     Kkt.Отключить(Device);
 }
Example #26
0
        public void PrintXReport()
        {
            Res = Kkt.НапечататьОтчетБезГашения(Device);

            Assert.IsTrue(res, MessageError);
        }
Example #27
0
        public void ReportCurrentStatusOfSettlements()
        {
            Res = Kkt.ОтчетОТекущемСостоянииРасчетов(Device);

            Assert.IsTrue(res, MessageError);
        }
Example #28
0
        public void OpenCashDrawer()
        {
            Res = Kkt.ОткрытьДенежныйЯщик(Device);

            Assert.IsTrue(Res, MessageError);
        }