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, "Адрес проверки чека не может быть пустым"); }
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 надбавка не может превышать цену позиции }
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=\"Оплата от: Общество с ограниченной ответственностью "Кафе "Сказка" Основание: \" 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=\"Оплата от: Общество с ограниченной ответственностью "Кафе "Рассказка" Основание: \" 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, "Адрес проверки чека не может быть пустым"); }
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, "Адрес проверки чека не может быть пустым"); }
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); }
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, "Адрес проверки чека не может быть пустым"); }
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); }
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 секцию }
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, "Адрес проверки чека не может быть пустым"); }
public void PrintCheck_РКО() { var checkPackage = "<CheckPackage> <Parameters PaymentType=\"2\" TaxVariant=\"0\" CashierName=\"Федоров Николай Петрович\" SenderEmail=\"true\" CustomerEmail=\"\" CustomerPhone=\"\"/> <Positions> <FiscalString Name=\"[ПрОпл] Выдать: ООО "Рога и Копыта" Основание: \" 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); }
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); }
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); }