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 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 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, "Номер смены не может быть равным нулю"); }
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 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 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 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); }
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 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); }
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 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 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, "ИНН ОФД не может быть пустым"); }
public void GetLineLenngth() { int lineLength; Res = Kkt.ПолучитьШиринуСтроки(Device, out lineLength); Assert.AreNotEqual(0, lineLength, "Получена неверная ширина строки"); Assert.IsTrue(Res, MessageError); }
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, "Номер смены не может быть равным нулю"); }
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); }
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); }
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); }
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), "параметры сосотяния недоступны"); }
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); }
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 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, "Адрес проверки чека не может быть пустым"); }
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); }
public void Cleanup() { Kkt.Отключить(Device); }
public void PrintXReport() { Res = Kkt.НапечататьОтчетБезГашения(Device); Assert.IsTrue(res, MessageError); }
public void ReportCurrentStatusOfSettlements() { Res = Kkt.ОтчетОТекущемСостоянииРасчетов(Device); Assert.IsTrue(res, MessageError); }
public void OpenCashDrawer() { Res = Kkt.ОткрытьДенежныйЯщик(Device); Assert.IsTrue(Res, MessageError); }