diff --git a/.github/workflows/Release.yaml b/.github/workflows/Release.yaml index ae0d0e5..949789e 100644 --- a/.github/workflows/Release.yaml +++ b/.github/workflows/Release.yaml @@ -16,7 +16,7 @@ jobs: # Константы, используемые далее по тексту env: PROJ: ${{ github.event.repository.name }} - TAG: '4.9' + TAG: '4.9.2' steps: # Проверка состава репозитория (без анализа, как может показаться) diff --git a/.release/KassArray.apk b/.release/KassArray.apk index dff39ed..5446689 100644 Binary files a/.release/KassArray.apk and b/.release/KassArray.apk differ diff --git a/.release/Release.md b/.release/Release.md index ce437f9..4ea75c5 100644 --- a/.release/Release.md +++ b/.release/Release.md @@ -1,9 +1,10 @@ -_Изменения для v 4.9_: +_Изменения для v 4.9.2_: +- `Android`: обновлены пакеты поддержки Xamarin; +- В руководства пользователя добавлена возможность переключения между товарами и услугами; +- Исправлены некоторые неточности в руководствах пользователя; - Добавлены разъёмы тензодатчиков для весов Масса с двумя вариантами цветов сигнальных проводов; - Добавлена оффлайн-справка нового формата; - Восстановлена совместимость с более старыми версиями приложения (для корректного обновления настроек); - `Android`: исправлено расположение кнопки «в файл / на печать» для руководств пользователя; - Добавлена серия ЗН `72844407` для ФН `Ав15-3`; -- Перестроен справочник ЗН ФН, скорректировано отображение моделей ФН; -- Добавлены распиновки обоих разъёмов подключения ККТ PAYONLINE-01ФА к принтеру Custom VKP80; -- Точно определён срок жизни ФН серий `728x4405` при запуске под ФФД 1.05 с признаком торговли подакцизными товарами +- Перестроен справочник ЗН ФН, скорректировано отображение моделей ФН diff --git a/Changes.log b/Changes.log index e245c47..ca0d3d6 100644 --- a/Changes.log +++ b/Changes.log @@ -1,5 +1,9 @@ KassArray: лог изменений +Версия 4.9.2: +• В руководства пользователя добавлена возможность переключения между товарами и услугами; +• Исправлены некоторые неточности в руководствах пользователя + Версия 4.9: • Добавлены разъёмы тензодатчиков для весов Масса с двумя вариантами цветов сигнальных проводов; • Android: обновлены пакеты поддержки Xamarin; diff --git a/src/KKTSupport.cs b/src/KKTSupport.cs index da63583..ff2e81e 100644 --- a/src/KKTSupport.cs +++ b/src/KKTSupport.cs @@ -106,6 +106,11 @@ public enum UserManualsFlags /// ProductBaseContainsPrices = 0x04, + /// + /// База товаров содержит услуги + /// + ProductBaseContainsServices = 0x08, + /// /// Руководство для кассира /// diff --git a/src/TextToKKTForm.cs b/src/TextToKKTForm.cs index b2873f8..8ff96b6 100644 --- a/src/TextToKKTForm.cs +++ b/src/TextToKKTForm.cs @@ -1070,6 +1070,8 @@ private UserManualsFlags UserManualFlags ProductBaseContainsPrices.Checked); flags = KKTSupport.SetFlag (flags, UserManualsFlags.CashiersHavePasswords, CashiersHavePasswords.Checked); + flags = KKTSupport.SetFlag (flags, UserManualsFlags.ProductBaseContainsServices, + BaseContainsServices.Checked); return flags; } @@ -1081,6 +1083,8 @@ private UserManualsFlags UserManualFlags UserManualsFlags.ProductBaseContainsPrices); CashiersHavePasswords.Checked = KKTSupport.IsSet (value, UserManualsFlags.CashiersHavePasswords); + BaseContainsServices.Checked = KKTSupport.IsSet (value, + UserManualsFlags.ProductBaseContainsServices); } } diff --git a/src/UserManuals.cs b/src/UserManuals.cs index d3c6a2e..e1cf522 100644 --- a/src/UserManuals.cs +++ b/src/UserManuals.cs @@ -102,10 +102,10 @@ public UserManuals () operations[i][operations[i].Count - 1].Replace ("• &1", "#1• "); operations[i][operations[i].Count - 1] = operations[i][operations[i].Count - 1].Replace ("&2", - "Ввести код товара / услуги"); + "Ввести код #6"); operations[i][operations[i].Count - 1] = operations[i][operations[i].Count - 1].Replace ("&02", - "ввести код товара / услуги"); + "ввести код #6"); break; case 3: @@ -115,10 +115,10 @@ public UserManuals () "#1• Закрыть чек согласно способу оплаты"); operations[i][operations[i].Count - 1] = operations[i][operations[i].Count - 1].Replace ("&2", - "Ввести код товара / услуги"); + "Ввести код #6"); operations[i][operations[i].Count - 1] = operations[i][operations[i].Count - 1].Replace ("&02", - "ввести код товара / услуги"); + "ввести код #6"); operations[i][operations[i].Count - 1] = operations[i][operations[i].Count - 1].Replace ("&3", "Отсканировать штрих-код товара"); @@ -205,12 +205,14 @@ public string GetManual (uint KKTType, uint ManualType, UserManualsFlags Flags) return names[(int)KKTType]; string text = operations[(int)ManualType][(int)KKTType]; + bool goods = !KKTSupport.IsSet (Flags, UserManualsFlags.ProductBaseContainsServices); if ((ManualType >= 1) && (ManualType <= 4)) { if (KKTSupport.IsSet (Flags, UserManualsFlags.MoreThanOneItemPerDocument)) { - text = text.Replace ("#1", "↑ (повторить предыдущие действия для всех товаров / услуг в чеке);" - + Localization.RN); + text = text.Replace ("#1", "↑ (повторить предыдущие действия для всех " + + (goods ? "товаров" : "услуг") + + " в чеке);" + Localization.RN); } else { @@ -231,6 +233,8 @@ public string GetManual (uint KKTType, uint ManualType, UserManualsFlags Flags) { text = text.Replace ("#3", ""); } + + text = text.Replace ("#6", goods ? "товара" : "услуги"); } if (KKTSupport.IsSet (Flags, UserManualsFlags.CashiersHavePasswords)) diff --git a/src/android/App.xaml.cs b/src/android/App.xaml.cs index 19d3c76..163f709 100644 --- a/src/android/App.xaml.cs +++ b/src/android/App.xaml.cs @@ -99,7 +99,7 @@ private readonly Color private Xamarin.Forms.Switch fnLife13, fnLifeGenericTax, fnLifeGoods, fnLifeSeason, fnLifeAgents, fnLifeExcise, fnLifeAutonomous, fnLifeFFD12, fnLifeGambling, fnLifePawn, fnLifeMarkGoods, keepAppState, allowService, extendedMode, - moreThanOneItemPerDocument, productBaseContainsPrices, cashiersHavePasswords; + moreThanOneItemPerDocument, productBaseContainsPrices, cashiersHavePasswords, baseContainsServices; private Xamarin.Forms.DatePicker fnLifeStartDate; @@ -285,7 +285,8 @@ public App (PrintManager PrintingManager, bool Huawei) "В файл / на печать", userManualsFieldBackColor, PrintManual_Clicked, false); userManualsPrintButton.FontSize -= 2.0; userManualsPrintButton.Margin = new Thickness (0); - userManualsPrintButton.HeightRequest -= 5.0; + userManualsPrintButton.Padding = new Thickness (3, 0); + userManualsPrintButton.HeightRequest = userManualsPrintButton.FontSize * 2.0; AndroidSupport.ApplyLabelSettings (userManualsPage, "HelpLabel", "<...> – индикация на экране, [...] – клавиши ККТ." + Localization.RN + @@ -308,10 +309,16 @@ public App (PrintManager PrintingManager, bool Huawei) cashiersHavePasswords = AndroidSupport.ApplySwitchSettings (userManualsPage, "PasswordsSwitch", false, userManualsFieldBackColor, null, false); + AndroidSupport.ApplyLabelSettings (userManualsPage, "ServicesLabel", "В базе ККТ содержатся услуги", + ASLabelTypes.DefaultLeft); + baseContainsServices = AndroidSupport.ApplySwitchSettings (userManualsPage, "ServicesSwitch", + false, userManualsFieldBackColor, null, false); + UserManualFlags = ca.UserManualFlags; moreThanOneItemPerDocument.Toggled += UserManualsFlags_Clicked; productBaseContainsPrices.Toggled += UserManualsFlags_Clicked; cashiersHavePasswords.Toggled += UserManualsFlags_Clicked; + baseContainsServices.Toggled += UserManualsFlags_Clicked; UserManualsKKTButton_Clicked (null, null); @@ -986,13 +993,14 @@ await AndroidSupport.ShowMessage ("Вас приветствует инстру Localization.GetDefaultText (LzDefaultTextValues.Button_OK)); } - // Шрифт интерфейса + /* Шрифт интерфейса if (AndroidSupport.AllowFontSizeTip) { await AndroidSupport.ShowMessage ( Localization.GetDefaultText (LzDefaultTextValues.Message_FontSizeAvailable), Localization.GetDefaultText (LzDefaultTextValues.Button_OK)); } + */ } // Запрос цвета, соответствующего статусу поддержки @@ -1766,6 +1774,8 @@ private UserManualsFlags UserManualFlags productBaseContainsPrices.IsToggled); flags = KKTSupport.SetFlag (flags, UserManualsFlags.CashiersHavePasswords, cashiersHavePasswords.IsToggled); + flags = KKTSupport.SetFlag (flags, UserManualsFlags.ProductBaseContainsServices, + baseContainsServices.IsToggled); return flags; } @@ -1777,6 +1787,8 @@ private UserManualsFlags UserManualFlags UserManualsFlags.ProductBaseContainsPrices); cashiersHavePasswords.IsToggled = KKTSupport.IsSet (value, UserManualsFlags.CashiersHavePasswords); + baseContainsServices.IsToggled = KKTSupport.IsSet (value, + UserManualsFlags.ProductBaseContainsServices); } } diff --git a/src/android/UserManualsPage.xaml b/src/android/UserManualsPage.xaml index 9bf4435..1212f42 100644 --- a/src/android/UserManualsPage.xaml +++ b/src/android/UserManualsPage.xaml @@ -29,6 +29,11 @@