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 @@
+
+
+
+
+