MSPOS FiscalCore
Загрузка...
Поиск...
Не найдено
IFiscalCore.idl
См. документацию.
1package com.multisoft.drivers.fiscalcore;
2
4import com.multisoft.drivers.fiscalcore.IExceptionCallback;
5import com.multisoft.drivers.fiscalcore.IOismResultCallback;
6import com.multisoft.drivers.fiscalcore.IScanner;
7import com.multisoft.drivers.fiscalcore.ISecondDisplay;
8import com.multisoft.drivers.fiscalcore.ITspiot;
9
10/*! \mainpage Интерфейс фискального ядра IFiscalCore
11 *
12 * \section intro_sec Введение
13 * Данная документация описывает интерфейс фискального ядра (ФЯ)
14 * предназначена для разработчиков, выполняющих интеграцию учётных программ с фискальным ядром.
15 * Необходимы базовые знания <a href="https://developers.google.com/training/courses/android-fundamentals">Android</a>,
16 * <a href="https://developer.android.com/reference/android/app/Activity.html">Activity</a>,
17 * <a href="https://developer.android.com/reference/android/app/Application.html">Application</a>,
18 * <a href="https://developer.android.com/reference/android/content/Intent.html">Intent</a>,
19 * <a href="https://developer.android.com/guide/components/services.html">services</a>,
20 * <a href="https://developer.android.com/guide/components/aidl">AIDL</a>
21 *
22 * \subsection b4start_sec Перед началом работы
23 * <para>Ознакомьтесь с <a href="../../examples.html">примерами</a> для Android- и VisualStudio</para>
24 * <para>Загрузите и добавьте в проект <a href="../aidl/mspos-fiscalcore-aidl.zip">файлы описания интерфейсов *.aidl</a></para>
25 * Вы можете модифицировать проекты с примерами, но не забудьте обновить файлы описания интерфейсов!
26 *
27 * \subsection models_sec Поддерживаемые модели
28 * <para>В настоящий момент Фискальное ядро установлено на следующие модели ККТ: <b>MSPOS-K, MSPOS-T-Ф, MSPOS-Е-Ф, MSPOS-D-Ф, MSPOS-kiosk-Ф, MSPOS-SE-Ф, MSPOS-E-РФ, MSPOS-N-Ф, MSPOS-F20-Ф, MSPOS-NEW-Ф</b>.</para>
29 * <para>Им соответствуют строковые константы моделей (<a href="https://developer.android.com/reference/android/os/Build.html#MODEL">Build.MODEL</a>) устройств:</para>
30 * <para><b>MSPOS-K: <code>"V1S-G", "V1S", "V2"</code></b></para>
31 * <para><b>MSPOS-T-Ф: <code>"T1MINI-G", "T1MINI", "T2MINI", "T2MINI_S", "D2MINI", "D3 MINI"</code></b></para>
32 * <para><b>MSPOS-Е-Ф: <code>"P1_4G", "P1_4G-G", "P1_4G-EU", "P1_4G-R"</code></b></para>
33 * <para><b>MSPOS-D-Ф: <code>"P2_PRO"</code></b></para>
34 * <para><b>MSPOS-kiosk-Ф: <code>"K1"</code></b></para>
35 * <para><b>MSPOS-SE-Ф: <code>"P2_SE", "V2_SE"</code></b></para>
36 * <para><b>MSPOS-E-РФ: <code>"P30"</code></b></para>
37 * <para><b>MSPOS-N-Ф: <code>"N850"</code></b></para>
38 * <para><b>MSPOS-F20-Ф: <code>"F20"</code></b></para>
39 * <para><b>MSPOS-NEW-Ф: <code>"NEW9830"</code></b></para>
40 *
41 * \subsection connection_sec Подключение к фискальному ядру
42 * <para>Подключение к интерфейсу фискального ядра IFiscalCore осуществляется при помощи <a href="https://developer.android.com/reference/android/content/Intent.html">Intent</a></para>
43 * <para>Имя пакета (packageName) для подключения: <b>"com.multisoft.drivers.fiscalcore"</b></para>
44 * <para>Имя компонента (componentName) для подключения: <b>"com.multisoft.fiscalcore"</b></para>
45 * <para>Наименование действия (action) для Intent: <b>"com.multisoft.drivers.fiscalcore.IFiscalCore"</b></para>
46 * <para>После получения интерфейса ФЯ необходимо дождаться его инициализации при помощи функции IFiscalCore.IsReady.</para>
47 * <para>После успешной инициализации можно начинать межпроцессное взаимодействие с ФЯ вызовом функций AIDL.</para>
48 *
49 * \subsection lcd_sec Подключение к дисплею покупателя ILCD
50 * <para>Интерфейс дисплея покупателя ILCD</para>
51 * <para>MSPOS-T-Ф имеет дисплей покупателя.</para>
52 * <para>Подключение производится аналогично IFiscalCore, за исключением:</para>
53 * <para>Наименование действия (action) для Intent: <b>"com.multisoft.drivers.fiscalcore.ILCD"</b></para>
54 *
55 * \subsection enums_sec Используемые перечисления
56 *
57 * com.multisoft.drivers.fiscalcore
58 *
59 * \subsection info_sec Общая информация
60 * Если в процессе выполнения функции произошло прерывание, вызывается переданный в неё коллбек IExceptionCallback (если объявлен и не null),
61 * В этом случае на на выход функции передаётся, по возможности, заведомо некорректное значение.
62 * Для целочисленных переменных это -1, для строк - пустая строка, для булевых - false.
63 *
64 * \section structure_sec Структура
65 *
66 * \subsection main_sec Основные команды ядра
67 * <para>В этом блоке находятся команды запроса версии, проверки готовности интерфейса фискального ядра и автотестирования</para>
68 * <para>IFiscalCore.IsReady</para>
69 * <para>IFiscalCore.GetAidlVersion</para>
70 * <para>IFiscalCore.SelfTest</para>
71 *
72 * \subsection service_sec Сервисные команды
73 * <para>IFiscalCore.SetSerial</para>
74 * <para>В том числе команды для внутреннего использования (на момент 1.5.24): </para>
75 * <para>IFiscalCore.GetUUID</para>
76 * <para>IFiscalCore.GetFiscalModuleVersion</para>
77 * <para>IFiscalCore.FNResetDebug</para>
78 * <para>IFiscalCore.LoggerControl</para>
79 * <para>IFiscalCore.DirectIO</para>
80 *
81 * \subsection local_sec Локализация
82 * <para>Опционально: установка локализации перед началом работы.</para>
83 * <para>По умолчанию: Ru-ru</para>
84 * <para>Поддерживаемые локализации: Ru-ru, в разработке En-en</para>
85 * <para>Запрос локализации осуществляется через IFiscalCore.GetLang</para>
86 * <para>Установка локализации осуществляется через Intent.PutExtras перед подключением к ядру</para>
87 *
88 * \subsection kktstat_sec Статус ККТ
89 * <para>IFiscalCore.GetRegNum</para>
90 * <para>IFiscalCore.GetSerial</para>
91 * <para>IFiscalCore.GetAppVersion</para>
92 * <para>IFiscalCore.GetTaxId</para>
93 * <para>IFiscalCore.GetKKTRegisteredName</para>
94 * <para>IFiscalCore.GetDayPayTotalByDocType</para>
95 * <para>IFiscalCore.GetFiscalMemoryFiscalized</para>
96 * <para>IFiscalCore.GetGrandTotalsSalesGross</para>
97 * <para>IFiscalCore.GetCurrentFfdVersion</para>
98 * <para>IFiscalCore.GetKktVersion</para>
99 * <para>IFiscalCore.GetKktFfdVersion</para>
100 * <para>IFiscalCore.GetDeviceSn</para>
101 *
102 * \subsection fnstat_sec Чтение статуса ФН
103 * <para>IFiscalCore.FNGetNumber</para>
104 * <para>IFiscalCore.FNGetState</para>
105 * <para>IFiscalCore.FNGetWarningFlags</para>
106 * <para>IFiscalCore.FNGetCurrentDocType</para>
107 * <para>IFiscalCore.FNGetDocDataStatus</para>
108 * <para>IFiscalCore.FNGetLastDocDateTime</para>
109 * <para>IFiscalCore.FNGetSoftwareVersion</para>
110 * <para>IFiscalCore.FNGetFirmwareType</para>
111 * <para>IFiscalCore.FNGetLastFDNumber</para>
112 * <para>IFiscalCore.FNGetLifetime</para>
113 * <para>IFiscalCore.FNGetRegistrationsMade</para>
114 * <para>IFiscalCore.FNGetRegistrationsLeft</para>
115 * <para>IFiscalCore.FNGetRegTimeFirst</para>
116 * <para>IFiscalCore.FNGetRegTimeByNum</para>
117 * <para>IFiscalCore.FNGetLastFDNum</para>
118 * <para>IFiscalCore.FNGetLastFiscalSign</para>
119 * <para>IFiscalCore.FNGetRegTaxSystemByNum</para>
120 * <para>IFiscalCore.FNGetOpModeByNum</para>
121 * <para>IFiscalCore.FNGetRegFDByNum</para>
122 * <para>IFiscalCore.GetAgentTag</para>
123 * <para>IFiscalCore.FNGetFnFfdVersion</para>
124 * <para>IFiscalCore.GetFnSupportedSkipOISMCheck</para>
125 * <para>IFiscalCore.GetFnSupportedNewBitsInTag1290</para>
126 *
127 * \subsection ofdstat_sec Состояние ОФД
128 * <para>IFiscalCore.OFDGetConnectionStatus</para>
129 * <para>IFiscalCore.OFDGetQueuedMessagesCount</para>
130 * <para>IFiscalCore.OFDGetMessageStatus</para>
131 * <para>IFiscalCore.OFDGetFirstQueuedDocNumber</para>
132 * <para>IFiscalCore.OFDGetLastNotSentDocTime</para>
133 *
134 * \subsection oismstat_sec Состояние ОИСМ
135 * <para>IFiscalCore.QueryNotificationStatus</para>
136 * <para>IFiscalCore.NotificationStatusOut_GetStatus</para>
137 * <para>IFiscalCore.NotificationStatusOut_GetCount</para>
138 * <para>IFiscalCore.NotificationStatusOut_GetCurrentNumber</para>
139 * <para>IFiscalCore.NotificationStatusOut_GetFillPercentage</para>
140 * <para>IFiscalCore.NotificationStatusOut_GetCurrentDateTime</para>
141 *
142 * \subsection shiftstat_sec Состояние смены
143 * <para>IFiscalCore.GetDayState</para>
144 * <para>IFiscalCore.GetDayNumber</para>
145 * <para>IFiscalCore.GetDayLastReceiptNumber</para>
146 *
147 * \subsection shiftstatreports_sec Состояние смены: отчёты
148 * <para>IFiscalCore.PrintXReport</para>
149 * <para>IFiscalCore.GetDayCanceledTotal</para>
150 * <para>IFiscalCore.GetDayPayCount</para>
151 * <para>IFiscalCore.GetDayOpenDateTime</para>
152 * <para>IFiscalCore.GetDayPayTotal</para>
153 * <para>IFiscalCore.GetPayTotal</para>
154 *
155 * \subsection reg_sec Регистрация
156 * <para>IFiscalCore.Register</para>
157 * <para>IFiscalCore.Register1_1</para>
158 * <para>IFiscalCore.Register1_2</para>
159 * <para>IFiscalCore.Register1_2_A</para>
160 * <para>IFiscalCore.CorrectRegistration</para>
161 * <para>IFiscalCore.CorrectRegistration1_1</para>
162 * <para>IFiscalCore.CorrectRegistration1_2</para>
163 * <para>IFiscalCore.CorrectRegistration1_2_A</para>
164 * <para>IFiscalCore.CloseFiscalMode</para>
165 * <para>IFiscalCore.CloseFiscalModeWithDateTime</para>
166 *
167 * \subsection shift_sec Смена
168 * <para>IFiscalCore.OpenDay</para>
169 * <para>IFiscalCore.CloseDay</para>
170 * <para>IFiscalCore.PrintCalculationsReport</para>
171 * <para>IFiscalCore.CloseDayWithDateTime</para>
172 *
173 * \subsection rec_sec Чек
174 * <para>IFiscalCore.OpenRec</para>
175 * <para>IFiscalCore.GetRecType</para>
176 * <para>IFiscalCore.GetRecState</para>
177 * <para>IFiscalCore.SetTaxationUsing</para>
178 * <para>IFiscalCore.GetTaxation</para>
179 * <para>IFiscalCore.CloseRec</para>
180 * <para>IFiscalCore.PrintRecItemPay</para>
181 * <para>IFiscalCore.PrintLine</para>
182 * <para>IFiscalCore.RecVoid</para>
183 * <para>IFiscalCore.SetQRParam</para>
184 * <para>IFiscalCore.PrintQRCode</para>
185 * <para>IFiscalCore.PrintBarCode</para>
186 * <para>IFiscalCore.Feed</para>
187 * <para>IFiscalCore.SetTagAttribute</para>
188 * <para>IFiscalCore.SetSTLVTagAttribute</para>
189 * <para>IFiscalCore.SetAgentTagUsing</para>
190 * <para>IFiscalCore.SetFont</para>
191 * <para>IFiscalCore.PrintRaster</para>
192 * <para>IFiscalCore.PrintLineAligned</para>
193 * <para>IFiscalCore.OpenDrawer</para>
194 * <para>IFiscalCore.SetPaperWidth</para>
195 * <para>IFiscalCore.SetTagByteAttribute</para>
196 * <para>IFiscalCore.SetItemTaxes</para>
197 * <para>IFiscalCore.SetShowTaxes</para>
198 * <para>IFiscalCore.PrintRecItem</para>
199 * <para>IFiscalCore.SetCompactMode</para>
200 * <para>IFiscalCore.GetCompactMode</para>
201 * <para>IFiscalCore.GetLastQRCodeValue</para>
202 * <para>IFiscalCore.PrintRecCopy</para>
203 *
204 * \subsection mc_sec Маркировка
205 * <para>IFiscalCore.SendMarkupCodeFnCheck</para>
206 * <para>IFiscalCore.SendMarkupCodeOismCheck</para>
207 * <para>IFiscalCore.SaveMarkupCodeCheckResult</para>
208 * <para>IFiscalCore.ClearAllMarkupCodeCheckResult</para>
209 * <para>IFiscalCore.GetMarkupCodeOismResult</para>
210 * <para>IFiscalCore.SendMarkupCodeVolumeVarietal</para>
211 * <para>IFiscalCore.ScanCode</para>
212 * <para>IFiscalCore.GetScanner</para>
213 *
214 * \subsection payhelp_sec Итог
215 * <para>IFiscalCore.GetRecTotal</para>
216 * <para>IFiscalCore.CheckDrawerCash</para>
217 * <para>IFiscalCore.PrintRecTotal</para>
218 * <para>IFiscalCore.GetRecPayTotal</para>
219 * <para>IFiscalCore.PrintRecTotalRound</para>
220 *
221 * \subsection corrrec_sec Чек коррекции
222 * <para>IFiscalCore.FNMakeCorrectionRec</para>
223 * <para>IFiscalCore.SetSumTaxes</para>
224 * <para>IFiscalCore.AddCorrectionRecItem1_1</para>
225 *
226 * \subsection ofqueryinfo_sec Запрос информации о подтверждении документа от ОФД
227 * <para>IFiscalCore.QueryOFDReceiptByNum</para>
228 * <para>IFiscalCore.OfdOut_GetTime</para>
229 * <para>IFiscalCore.OfdOut_GetFDNumber</para>
230 * <para>IFiscalCore.OfdOut_GetFiscalSign</para>
231 * <para>IFiscalCore.OfdOut_GetSize</para>
232 *
233 * \subsection archive_sec Работа с архивом ФН
234 * <para>IFiscalCore.QueryFiscalDocInfo</para>
235 * <para>IFiscalCore.FDI_GetDocType</para>
236 * <para>IFiscalCore.FDI_GetConfirmFromOFD</para>
237 * <para>IFiscalCore.FDI_GetDataArray</para>
238 * <para>IFiscalCore.FDI_GetFiscalSign</para>
239 * <para>IFiscalCore.FDI_GetDate</para>
240 * <para>IFiscalCore.FDI_GetDocJSON</para>
241 * <para>IFiscalCore.GetRegistrationParameter</para>
242 *
243 * \subsection archiveprint_sec Печать из архива
244 * <para>IFiscalCore.FNPrintDocFromArchive</para>
245
246 * \subsection setparams_sec Запрос и установка параметров
247 <para>Данный блок методов позволяет настраивать параметры ККТ в режиме реального времени.</para>
248 <para>Чтобы при следующей загрузке ядра настройки были применены, их нужно сохранить функцией IFiscalCore.SaveOptions</para>
249 * <para>В этом блоке находятся методы для настройки аппарата перед регистрацией.</para>
250 * <para>Под "пользователем" следует понимать организацию - пользователя ККТ</para>
251
252 * \subsection ofdsettings_sec Параметры ОФД
253 *
254 * <para><b>Установка параметров ОФД</b></para>
255 * <para>IFiscalCore.SetOfdHost</para>
256 * <para>IFiscalCore.SetOfdPort</para>
257 * <para>IFiscalCore.SetOfdName</para>
258 * <para>IFiscalCore.SetOfdTaxId</para>
259 *
260 * <para><b>Запрос параметров ОФД</b></para>
261 * <para>IFiscalCore.GetOfdHost</para>
262 * <para>IFiscalCore.GetOfdPort</para>
263 * <para>IFiscalCore.GetOfdName</para>
264 * <para>IFiscalCore.GetOfdTaxId</para>
265
266 * \subsection oismsettings_sec Параметры ОИСМ
267 *
268 * <para><b>Установка параметров ОИСМ</b></para>
269 * <para>IFiscalCore.SetOismHost</para>
270 * <para>IFiscalCore.SetOismPort</para>
271 *
272 * <para><b>Запрос параметров ОИСМ</b></para>
273 * <para>IFiscalCore.GetOismHost</para>
274 * <para>IFiscalCore.GetOismPort</para>
275
276 * \subsection keyserversettings_sec Параметры АС ОКП
277 *
278 * <para><b>Установка параметров АС ОКП</b></para>
279 * <para>IFiscalCore.SetKeyServerHost</para>
280 * <para>IFiscalCore.SetKeyServerPort</para>
281 *
282 * <para><b>Запрос параметров АС ОКП</b></para>
283 * <para>IFiscalCore.GetKeyServerHost</para>
284 * <para>IFiscalCore.GetKeyServerPort</para>
285
286 * \subsection mainsettings_sec Основные настройки
287 *
288 * <para><b>Установка основных настроек</b></para>
289 * <para>IFiscalCore.SetOrgName</para>
290 * <para>IFiscalCore.SetOrgAddress</para>
291 * <para>IFiscalCore.SetPhysicalAddress</para>
292 * <para>IFiscalCore.SetSenderEmail</para>
293 * <para>IFiscalCore.SetReceiptCheckURI</para>
294 * <para>IFiscalCore.SetFnsServerAddress</para>
295 * <para>IFiscalCore.SetFLC</para>
296 * <para>IFiscalCore.GetFLC</para>
297 *
298 * <para><b>Запрос основных настроек</b></para>
299 * <para>IFiscalCore.GetOrgName</para>
300 * <para>IFiscalCore.GetOrgAddress</para>
301 * <para>IFiscalCore.GetPhysicalAddress</para>
302 * <para>IFiscalCore.GetSenderEmail</para>
303 * <para>IFiscalCore.GetReceiptCheckURI</para>
304 * <para>IFiscalCore.GetFNSServerAddress</para>
305 * <para>IFiscalCore.GetCashierTaxId</para>
306 * <para>IFiscalCore.GetExtendedAutotest</para>
307 * <para>IFiscalCore.GetVendingSerial</para>
308
309 * \subsection addsettings_sec Дополнительные настройки
310 * <para>Нужны при регистрации ККТ только в некоторых режимах работы.</para>
311 * <para>Если испольльзуются, их необходимо указывать до вызова функции регистрации/перерегистрации.</para>
312 *
313 * <para><b>Установка дополнительных настроек</b></para>
314 * <para>IFiscalCore.SetCashierTaxId</para>
315 * <para>IFiscalCore.SetVendingSerial</para>
316 * <para>IFiscalCore.SetExtendedAutotest</para>
317 * <para>IFiscalCore.SetTransferOperatorName</para>
318 * <para>IFiscalCore.SetTransferOperatorTaxId</para>
319 * <para>IFiscalCore.SetTransferOperatorTelNum</para>
320 * <para>IFiscalCore.SetTransferOperatorAddress</para>
321 * <para>IFiscalCore.SetPaymentAgentTelNum</para>
322 * <para>IFiscalCore.SetPaymentAgentOperation</para>
323 * <para>IFiscalCore.SetCommissionAgentTelNum</para>
324 * <para>IFiscalCore.SetContractorTelNum</para>
325 * <para>IFiscalCore.SetCutType</para>
326 * <para>IFiscalCore.SetHeaderLines</para>
327 * <para>IFiscalCore.SetTrailerLines</para>
328 * <para>IFiscalCore.SetPrePrintHeaderLines</para>
329 * <para>IFiscalCore.SetDayCloseAutoPayOut</para>
330 * <para>IFiscalCore.SetPrintZReportWithoutInternalCounters</para>
331 * <para>IFiscalCore.SetMuteAutotest</para>
332 * <para>IFiscalCore.SetTimeZone</para>
333 * <para>IFiscalCore.SetGroupItems</para>
334 *
335 * <para><b>Запрос дополнительных настроек</b></para>
336 * <para>IFiscalCore.GetTransferOperatorName</para>
337 * <para>IFiscalCore.GetTransferOperatorTaxId</para>
338 * <para>IFiscalCore.GetTransferOperatorTelNum</para>
339 * <para>IFiscalCore.GetTransferOperatorAddress</para>
340 * <para>IFiscalCore.GetPaymentAgentTelNum</para>
341 * <para>IFiscalCore.GetPaymentAgentOperation</para>
342 * <para>IFiscalCore.GetCommissionAgentTelNum</para>
343 * <para>IFiscalCore.GetContractorTelNum</para>
344 * <para>IFiscalCore.GetPrintZReportWithoutInternalCounters</para>
345 * <para>IFiscalCore.GetMuteAutotest</para>
346 * <para>IFiscalCore.GetHeaderLines</para>
347 * <para>IFiscalCore.GetTrailerLines</para>
348 * <para>IFiscalCore.GetTimeZone</para>
349 * <para>IFiscalCore.GetGroupItems</para>
350
351 * \subsection applysettings_sec Применение настроек
352 * Используется для сохранения настроек в памяти ККТ.
353 * При удалении фискального ядра, а также сбросе к заводским настройкам сохранённые данные стираются.
354 * <para>IFiscalCore.SaveOptions</para>
355 * Основные настройки должны быть установлены и сохранены перед регистрацией ККТ.
356 *
357 * \subsection othersettings_sec Временные настройки
358 * Команды данной группы имеют ограниченное действие, например, только для текущего документа.
359 * Либо устанавливают одиночное значение, и не имеют действия при повторном вызове.
360 * <para>IFiscalCore.SetDateTime</para>
361 * <para>IFiscalCore.SetUserName</para>
362 * <para>IFiscalCore.SendClientAddress</para>
363 * <para>IFiscalCore.ForcePrintForm</para>
364 * <para>IFiscalCore.SetTagPrintForm</para>
365 * <para>IFiscalCore.FreezeDateTime</para>
366 * <para>IFiscalCore.ContinueDateTime</para>
367 * <para>IFiscalCore.GetUserName</para>
368 */
369
370interface IFiscalCore
371{
372 // **************************** Основные команды ядра **************************** //
373
374 /// <summary>
375 /// <para><b>основные команды ядра</b></para>
376 /// <para>запрос версии сервиса</para>
377 /// <para>формат версии: Major.Minor.Release.Build;</para>
378 /// <para>Major - старшая версия aidl, изменение версии указвает на изменение порядка функций / их сигнатур;</para>
379 /// <para>Minor - младшая версия aidl, изменение версии указвает на добавление функции, обратная совместимость;</para>
380 /// <para>Release - версия приложения, инкрементируется с релизом;</para>
381 /// <para>Build - версия сборки, выставляется автоматически в момент сборки;</para>
382 /// </summary>
383 /// <returns>строка, например, 1.4.18.18103</returns>
385
386 /// <summary>
387 /// <para>служебная функция для работы в режиме ЧПМ до 01.07.2018</para>
388 /// <para>Целочисленный результат выполнения передаётся в аргументе IAuth.Result. </para>
389 /// <para>Передаваймый в качестве параметра IAuth должен при вызове Exchange возвращать имя приложения(или пользователя)-инициатора смены режима работы.</para>
390 /// <para>Если код (cmd) не поддерживается, в HandleException возвращается com.multisoft.drivers.fiscalcore.ErrCode.WrongArgument и переданный в команду код в message и extErrCode.</para>
391 /// <para>Если в режиме ОФД ФП инициализирована, возвращает com.multisoft.drivers.fiscalcore.ErrCode.WrongStatus "Фискальная память инициализирована. Смена режима работы невозможна" com.multisoft.drivers.fiscalcore.ExtStatusErr.Common</para>
392 /// <para>Если в режиме ОФД обнаружен зарегистрированный ФН, возвращает com.multisoft.drivers.fiscalcore.ErrCode.WrongStatus "Неправильное состояние ФН" com.multisoft.drivers.fiscalcore.ExtStatusErr.Common</para>
393 /// </summary>
394 /// <param name="cmd">код команды. с 1.8.28 поддерживаются коды -1 и -2 (см. com.multisoft.drivers.fiscalcore.DirectIOCmd).</param>
395 /// <param name="argument">аргумент функции. Пустая строка, если для конкретного кода не указано иное.</param>
396 /// <param name="auth">служебный интерфейс.</param>
397 /// <param name="callback">функция обратного вызова для передачи информации об ошибке.</param>
398 /// <seealso cref="com.multisoft.drivers.fiscalcore.DirectIOCmd"/>
399 /// <seealso cref="IAuth"/>
400 void DirectIO(int cmd, String argument, IAuth auth, IExceptionCallback callback);
401
402 /// <summary>
403 /// <para><b>основные команды ядра</b></para>
404 /// запрос готовности сервиса. Выполняется каждый раз перед началом работы, как в примере
405 /// </summary>
406 /// <returns>true - сервис готов. false - не готов</returns>
407 /// <example>
408 /// пример использования, выполняется перед началом работы:
409 /// <code>
410 /// //команды подключения к сервису
411 /// while(!IFiscalCore.IsReady())
412 /// Thread.Sleep(50);
413 /// //начало работы
414 /// </code>
415 /// </example>
416 boolean IsReady();
417
418 // **************************** Автотестирование **************************** //
419
420 /// <summary>
421 /// <para><b>основные команды ядра</b></para>
422 /// <para>автотестирование</para>
423 /// выполняет функцию автотестирования и печатает чек автотеста.
424 /// </summary>
425 /// <seealso cref="SetExtendedAutotest"/>
426 /// <param name="callback"></param>
427 /// <example>
428 /// пример использования, выполняется перед началом работы:
429 /// <code>
430 /// //команды подключения к сервису
431 /// while(!IFiscalCore.IsReady())
432 /// Thread.Sleep(50);
433 /// //начало работы
434 /// </code>
435 /// </example>
437
438
439 // **************************** Сервисные команды **************************** //
440 /// <summary>
441 /// <para><b>plaftorm-specific</b></para>
442 /// <para><b>Для внутреннего использования</b></para>
443 /// Запрос GUUID
444 /// </summary>
445 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
446 /// <returns>строка c GUUID</returns>
447 String GetUUID(IExceptionCallback callback);
448
449 /// <summary>
450 /// <para><b>plaftorm-specific</b></para>
451 /// <para><b>Для внутреннего использования</b></para>
452 /// Запрос версии фискального модуля
453 /// </summary>
454 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
455 /// <returns>строка c версией.</returns>
457
458 // **************************** Локализация **************************** //
459 /// <summary>
460 /// <para><b>локализация</b></para>
461 /// Вернуть используемый язык || запрос текущей локализации. По умолчанию "Ru-ru".
462 /// задаётся при подключении к сервису через параметры intent-а
463 /// </summary>
464 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
465 /// <returns>"Ru-ru" или "En-en"</returns>
466 /// <example>
467 /// пример установки языка, выполняется при установке соединения с сервисом:
468 /// <code>
469 /// //...создание serviceIntent
470 /// Bundle bundle = new Bundle();
471 /// bundle.PutString("lang", "Ru-ru");
472 /// serviceIntent.PutExtras(bundle);
473 /// var connection = new FiscalCoreServiceConnection(this);
474 /// BindService(serviceIntent, connection, Bind.AutoCreate);
475 /// </code>
476 /// </example>
477 String GetLang(IExceptionCallback callback);
478
479 // **************************** Статус ККТ **************************** //
480 /// <summary>
481 /// <para><b>Статус ККТ</b></para>
482 /// <para>Возвращает регистрационный номер ККТ</para>
483 /// <para>Eсли ККТ не зарегистрирована или ФН не подключен, возвращается пустая строка</para>
484 /// <para>Формат определяется ФФД п.63: суммарно 20 символов, до установленой длины дополняется пробелами справа</para>
485 /// </summary>
486 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
487 /// <returns>строка, регистрационный номер ККТ</returns>
489
490 /// <summary>
491 /// <para><b>Статус ККТ</b></para>
492 /// <para>Возвращает заводской номер ККТ (ЗН). Если ФП не инициализирована, возвращается "XXXXXXXXXXXX".</para>
493 /// <para>На производстве устанавливается ЗН из 12 символов наподобие "199000111222"</para>
494 /// </summary>
495 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
496 /// <returns>строка с ЗН.</returns>
498
499 /// <summary>
500 /// <para><b>Статус ККТ</b></para>
501 /// Возвращает полную версию ПО ядра (для внутреннего использования)
502 /// </summary>
503 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
504 /// <returns>строка из 4 чисел формата: Major.Minor.Build.Revision</returns>
506
507 /// <summary>
508 /// <para><b>Статус ККТ</b></para>
509 /// Вернуть ИНН, указанный при регистрации
510 /// </summary>
511 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
512 /// <returns>строка - ИНН при последней (пере)регистрации.
513 /// Если ФН не подключен, возвращается пустая строка</returns>
514 String GetTaxId(IExceptionCallback callback);
515
516 // **************************** Чтение статуса ФН **************************** //
517 /// <summary>
518 /// <para><b>Чтение статуса ФН</b></para>
519 /// получить номер ФН
520 /// </summary>
521 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
522 /// <returns>строка c номером ФН</returns>
524
525 /// <summary>
526 /// <para><b>Чтение статуса ФН</b></para>
527 /// Запрос состояния ФН
528 /// </summary>
529 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
530 /// <returns>состояние ФН</returns>
531 /// <seealso cref="com.multisoft.drivers.fiscalcore.FNState"/>
532 /// <example>пример использования:
533 /// <code>
534 /// if(IFiscalCore.FNGetState(callback) == FNState.ReadyToFiscalization)
535 /// {
536 /// //установка и сохранение опций
537 /// //...
538 /// IFiscalCore.Register(...
539 /// }
540 /// </code>
541 /// </example>
543
544 /// <summary>
545 /// <para><b>Чтение статуса ФН</b></para>
546 /// Запрос флагов предупреждения ФН. Используется ККТ для запроса текущего состояния ФН.
547 /// </summary>
548 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
549 /// <returns> флаги предупреждения (если есть)</returns>
550 /// <seealso cref="com.multisoft.drivers.fiscalcore.WarningFlag"/>
551 /// <example>проверка состояния ФН перед печатью чеков:
552 /// <code>
553 /// var warning = (WarningFlag)IFiscalCore.FNGetWarningFlags(callback)
554 /// if(WarningFlag.OK == warning)
555 /// //предупреждений нет, можно работать
556 /// </code>
557 /// </example>
559
560 /// <summary>
561 /// <para><b>Чтение статуса ФН</b></para>
562 /// Запрос текущего документа из ФН. Используется ККТ для запроса текущего состояния ФН.
563 /// </summary>
564 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
565 /// <returns>число CurrentDoc - тип текущего документа</returns>
566 /// <seealso cref="com.multisoft.drivers.fiscalcore.CurrentDoc"/>
567 /// <example>пример использования: проверка, не открыт ли документ в ФН
568 /// <code>
569 /// if((CurrentDoc)IFiscalCore.FNGetCurrentDocType(callback) != CurrentDoc.NoDoc)
570 /// IFiscalCore.RecVoid(callback);//отменяем документ в ККТ и в ФН
571 /// callback.Complete();
572 /// </code>
573 /// </example>
575
576 /// <summary>
577 /// <para><b>Чтение статуса ФН</b></para>
578 /// Запрос ФН о статусе получения данных текущего документа. Используется ККТ для запроса текущего состояния ФН.
579 /// </summary>
580 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
581 /// <returns>DocData.DataAcquired или DocData.Nodata в зависимости от того, были ли данные о документе переданы в ФН</returns>
582 /// <seealso cref="com.multisoft.drivers.fiscalcore.DocData"/>
584
585 /// <summary>
586 /// <para><b>Чтение статуса ФН</b></para>
587 /// Запрос даты и времени последнего фискального документа
588 /// </summary>
589 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
590 /// <returns>строка, содержащая дату и время последнего фискального документа в формате "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'". </returns>
592
593 /// <summary>
594 /// <para><b>Чтение статуса ФН</b></para>
595 /// Запрос версии ПО ФН
596 /// </summary>
597 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
598 /// <returns>строка - версия ПО ядра</returns>
600
601 /// <summary>
602 /// <para><b>Чтение статуса ФН</b></para>
603 /// Запрос типа ПО ФН
604 /// </summary>
605 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
606 /// <returns>тип ПО ФН: дебаг или релиз</returns>
607 /// <seealso cref="com.multisoft.drivers.fiscalcore.FirmwareTypes"/>
609
610 /// <summary>
611 /// <para><b>Чтение статуса ФН</b></para>
612 /// Запрос номера последнего фискального документа из ФН (выполняет запрос в ФН)
613 /// </summary>
614 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
615 /// <returns>номер последнего фискального документа</returns>
617
618 /// <summary>
619 /// <para><b>Чтение статуса ФН</b></para>
620 /// Запрос даты и времени окончания действия ФН, по истечении которого ФН становится недействительным
621 /// </summary>
622 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
623 /// <returns>строка - дата и время в формате: "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"</returns>
625
626 /// <summary>
627 /// <para><b>Чтение статуса ФН</b></para>
628 /// Запрос количества выполненных регистраций ФН
629 /// </summary>
630 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
631 /// <returns>число - количество выполненных регистраций</returns>
633
634 /// <summary>
635 /// <para><b>Чтение статуса ФН</b></para>
636 /// Запрос количества оставшихся регистраций ФН
637 /// </summary>
638 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
639 /// <returns>число - количество оставшихся регистраций</returns>
641
642 /// <summary>
643 /// <para><b>Чтение статуса ФН</b></para>
644 /// Запрос времени первой регистрации (фискализации) ФН.
645 /// </summary>
646 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
647 /// <returns>строка, содержащая дату и время последней регистрации ФН в формате: "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"
648 /// если ККТ не зарегистрирована, возвращается "01.01.2000 0:00:00"</returns>
650
651 /// <summary>
652 /// <para><b>Чтение статуса ФН</b></para>
653 /// Запрос времени регистрации ФН.
654 /// </summary>
655 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
656 /// <param name="regNum"> номер регистрации, положительное число</param>
657 /// <returns>строка, содержащая дату и время последней регистрации ФН в формате: "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"</returns>
658 String FNGetRegTimeByNum(int regNum, IExceptionCallback callback);
659
660
661 // **************************** Состояние ОФД ****************************
662
663 /// <summary>
664 /// <para><b>Состояние ОФД</b></para>
665 /// Запрос состояния соединения с ОФД
666 /// </summary>
667 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
668 /// <returns>статус соединения</returns>
669 /// <seealso cref="com.multisoft.drivers.fiscalcore.ConnectionState"/>
671
672 /// <summary>
673 /// <para><b>Состояние ОФД</b></para>
674 /// Запрос количества документов, ожидающих отправки в ОФД
675 /// </summary>
676 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
677 /// <returns>число - количество сообщений</returns>
679
680 /// <summary>
681 /// <para><b>Состояние ОФД</b></para>
682 /// Запрос состояния чтения ответа из ОФД на преданное сообщение
683 /// </summary>
684 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
685 /// <returns>true - чтение начато, false - чтение не начато</returns>
687
688 /// <summary>
689 /// <para><b>Состояние ОФД</b></para>
690 /// Запрос номера документа, находящегося первым в очереди на отправку в ОФД
691 /// </summary>
692 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
693 /// <returns>число - номер документа в очереди</returns>
695
696 /// <summary>
697 /// <para><b>Состояние ОФД</b></para>
698 /// дата последнего непереданного в ОФД документа
699 /// </summary>
700 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
701 /// <returns>строка - дата последнего непереданного документа</returns>
703
704
705 // **************************** Состояние смены ****************************
706
707 /// <summary>
708 /// <para><b>Cостояние смены</b></para>
709 /// Вернуть состояние смены в ККТ.
710 /// </summary>
711 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
712 /// <returns>состояние смены:</returns>
713 /// <seealso cref="com.multisoft.drivers.fiscalcore.DayState"/>
714 /// <example>пример использования:
715 /// <code>
716 /// dayState = (DayState)IFiscalCore.GetDayState(callback);
717 /// callack.Complete();
718 /// if(dayState == DayState.Closed)
719 /// {
720 /// IFiscalCore.OpenDay("Иванов И.И", callback);
721 /// callack.Complete();
722 /// }
723 /// </code>
724 /// </example>
726
727 /// <summary>
728 /// <para><b>Cостояние смены</b></para>
729 /// Вернуть номер смены.
730 /// </summary>
731 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
732 /// <returns>число - номер смены</returns>
734
735 /// <summary>
736 /// <para><b>Cостояние смены</b></para>
737 /// Вернуть номер последнего документа в смене.
738 /// </summary>
739 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
740 /// <returns>число - номер последнего документа в смене</returns>
742
743 // **************************** Состояние смены: отчёты ****************************
744 /// <summary>
745 /// <para><b>Состояние смены: отчёты</b></para>
746 /// печать х-отчёта
747 /// </summary>
748 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
750
751 /// <summary>
752 /// <para><b>Состояние смены: отчёты</b></para>
753 /// запрос суммы за смену по отменённым документам
754 /// </summary>
755 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
756 /// <returns>строка - сумма по отменённым документам</returns>
758
759 /// <summary>
760 /// <para><b>Состояние смены: отчёты</b></para>
761 /// запрос значения счётчика операций
762 /// </summary>
763 /// <param name="counterType">тип счётчика</param>
764 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
765 /// <returns>количество выполненных операций</returns>
766 /// <seealso cref="com.multisoft.drivers.fiscalcore.Counter"/>
767 int GetDayPayCount(int counterType, IExceptionCallback callback);
768
769 /// <summary>
770 /// <para><b>Состояние смены: отчёты</b></para>
771 /// запрос даты и времени открытия смены
772 /// </summary>
773 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
774 /// <returns>строка - дата и мремя открытия смены в формате "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"</returns>
776
777 /// <summary>
778 /// <para><b>Состояние смены: отчёты</b></para>
779 /// запрос суммы по типу счётчика
780 /// </summary>
781 /// <param name="counterType">тип счётчика</param>
782 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
783 /// <seealso cref="com.multisoft.drivers.fiscalcore.Counter"/>
784 /// <returns>сумма по счётчику</returns>
785 String GetDayPayTotal(int counterType, IExceptionCallback callback);
786
787 // **************************** Регистрация ****************************
788 /// <summary>
789 /// <para><b>Регистрация</b></para>
790 /// <para>Регистрация (первоначальная регистрация). Выполняется 1 раз за всё время жизни ФН. ФФД 1.05</para>
791 /// <para>В режиме ЧПМ в качестве параметров необходимо передать корректный ИНН, имя кассира и reg_num, остальные параметры не влияют на результат выполнения.</para>
792 /// </summary>
793 /// <param name="cashier">строка - имя и номер кассира</param>
794 /// <param name="inn">строка - ИНН пользователя при регистрации</param>
795 /// <param name="reg_num">строка - регистрационный номер ККТ. В режиме ЧПМ - является паролем налогового инспектора: передавать "00000".</param>
796 /// <param name="tax">байт - код системы налогообложения - битовая маска TaxCode.
797 /// Поддеживаемый тип налогов устанавливает соответствующий бит в байте.
798 /// Для корректной работы необходимо установить хотя бы один бит в 1.</param>
799 /// <param name="op_mode">байт - код режима работы - битовая маска OperatingMode.
800 /// Поддеживаемый режим работы устанавливает соответствующий бит в байте.
801 /// Может принимать значение 0.</param>
802 /// <param name="gambling">true или false - признак проведения азартных игр</param>
803 /// <param name="lottery">true или false - признак проведения лотереи</param>
804 /// <param name="agent">байт - код платёжного агента - битовая маска AgentTag.
805 /// Поддеживаемый код платёжного агента устанавливает соответствующий бит в байте.
806 /// Может принимать значение 0.</param>
807 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
808 /// <seealso cref="com.multisoft.drivers.fiscalcore.TaxCode"/>
809 /// <seealso cref="com.multisoft.drivers.fiscalcore.OperatingMode"/>
810 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
811 /// <example>
812 /// <code>
813 /// //команды настройки полей:
814 /// String regnum = RegNumTextBox.Text;
815 /// // ... Формирование РНМ ККТ происходит на стороне ФНС России:
816 /// // базовый РНМ дополняется лидирующими нулями до длины строки в 10 символов,
817 /// // затем вычисляется и добавляется контрольная сумма (6 символов).
818 /// //настройка системы налогообложения
819 /// int tax = TaxCode.Common + TaxCode.SimplifiedWithExpense + TaxCode.ENVD;
820 /// //настройка режима работы:
821 /// int opmode = OperatingMode.Service + OperatingMode.Encryption;
822 /// //настройка агента:
823 /// int agent = AgentTag.BankPayAgent + AgentTag.BankPaySubAgent;//установлены 1й и 2й биты
824 /// //регистрация:
825 /// IFiscalCore.Register(cashierTextBox.Text, "1234567890", regnum, tax, opmode, false, false, agent, callback);
826 /// callback.Complete();
827 /// </code>
828 /// </example>
829 void Register(String cashier, String inn, String reg_num, int tax, int op_mode,
830boolean gambling, boolean lottery, int agent, IExceptionCallback callback);
831
832 /// <summary>
833 /// <para><b>Регистрация</b></para>
834 /// Исправление регистрации || Перерегистрация, ФФД 1.05
835 /// </summary>
836 /// <param name="corr_reason">причина перерегистрации CorrectionReason</param>
837 /// <param name="inn">строка - ИНН пользователя при регистрации</param>
838 /// <param name="reg_num">строка - регистрационный номер ККТ</param>
839 /// <param name="tax_code">байт - код системы налогообложения - битовая маска TaxCode.
840 /// Поддеживаемый тип налогов устанавливает соответствующий бит в байте.
841 /// Для корректной работы необходимо установить хотя бы один бит в 1.</param>
842 /// <param name="opmode">байт - код режима работы - битовая маска OperatingMode.
843 /// Поддеживаемый режим работы устанавливает соответствующий бит в байте.
844 /// Может принимать значение 0.</param>
845 /// <param name="gambling">true или false - признак проведения азартных игр</param>
846 /// <param name="lottery">true или false - признак проведения лотереи</param>
847 /// <param name="agent">байт - код платёжного агента - битовая маска AgentTag.
848 /// Поддеживаемый код платёжного агента устанавливает соответствующий бит в байте.
849 /// Может принимать значение 0.</param>
850 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
851 /// <seealso cref="com.multisoft.drivers.fiscalcore.CorrectionReason"/>
852 /// <seealso cref="com.multisoft.drivers.fiscalcore.TaxCode"/>
853 /// <seealso cref="com.multisoft.drivers.fiscalcore.OperatingMode"/>
854 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
855 /// <example>
856 /// <code>
857 /// reason = (int)CorrResason.ChangeKKTSettings;
858 /// kktRegNum = regNumTextBox.Text;
859 /// tax = TaxCode.Common + TaxCode.SimplifiedWithExpense + TaxCode.ENVD;
860 /// opMode = OperatingMode.Service + OperatingMode.Encryption;
861 /// agentTag = AgentTag.BankPayAgent + AgentTag.BankPaySubAgent;
862 /// IFiscalCore.CorrectRegistration(reason, "Иванов И.И", "1234567890", kktRegNum, (int)opMode, tax, false, false, agentTag, callback);
863 /// callback.Complete();
864 /// </code>
865 /// </example>
866 void CorrectRegistration(int corr_reason, String cashier, String inn, String reg_num, int tax_code, int op_mode,
867 boolean gambling, boolean lottery, int agent, IExceptionCallback callback);
868
869 /// <summary>
870 /// <para><b>Регистрация</b></para>
871 /// <para>Закрытие архива ФН. Необратимая для пользователя операция.</para>
872 /// <para>После выполнения работа с ФН невозможна до следующей регистрации.</para>
873 /// </summary>
874 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
876
877
878 // **************************** Смена ****************************
879
880 /// <summary>
881 /// <para><b>Смена</b></para>
882 /// Открыть смену
883 /// </summary>
884 /// <param name="cashier">имя и номер кассира</param>
885 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
886 /// <example>пример использования:
887 /// <code>
888 /// try
889 /// {
890 /// //если клиентская реализация callback генерирует исключения,
891 /// // то все функции работы с чеками можно поместить в один блок try-catch
892 /// IFiscalCore.OpenDay(cashierTextBox.Text,callback);
893 /// callback.Complete();
894 /// //команды работы с чеками
895 /// }
896 /// catch(Exception e)
897 /// {
898 /// DisplayNotification(e.Message);
899 /// return;
900 /// }
901 ///
902 /// </code>
903 /// </example>
904 void OpenDay(String cashier, IExceptionCallback callback);
905
906 /// <summary>
907 /// <para><b>Смена</b></para>
908 /// Напечатать Z-отчёт и закрыть смену
909 /// </summary>
910 /// <param name="cashier">имя и номер кассира</param>
911 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
912 /// <example>пример использования:
913 /// <code>
914 /// IFiscalCore.OpenDay(cashierTextBox.Text,callback);
915 /// callback.Complete();
916 /// //команды работы с чеками
917 /// IFiscalCore.CloseDay(cashierTextBox.Text,callback);
918 /// callback.Complete();
919 /// </code>
920 /// </example>
921 void CloseDay(String cashier, IExceptionCallback callback);
922
923 /// <summary>
924 /// <para><b>Смена</b></para>
925 /// Напечатать отчёт о состоянии расчётов
926 /// </summary>
927 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
929
930
931 // **************************** Чек ****************************
932
933 /// <summary>
934 /// <para><b>Чек</b></para>
935 /// <para>Открыть чек. открывает документ одного из поддерживаемых типов.</para>
936 /// <para>Eсли код документа выходит за границу RecType, открывается нефискальный документ.</para>
937 /// </summary>
938 /// <param name="recType">код открываемого документа</param>
939 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
940 /// <seealso cref="com.multisoft.drivers.fiscalcore.RecType"/>
941 /// <example>открыть чек на продажу
942 /// <code>
943 /// IFiscalCore.SetUserName(Cashier.Text,callback);
944 /// callback.Complete();
945 /// recType = (int)RecType.Sell;//приход
946 /// IFiscalCore.OpenRec(recType,callback);
947 /// callback.Complete();
948 /// //... команды добавления позиций, итог, оплата, закрытие чека
949 /// </code>
950 /// </example>
951 void OpenRec(int recType, IExceptionCallback callback);
952
953 /// <summary>
954 /// <para><b>Чек</b></para>
955 /// <para>Получить тип открытого документа.</para>
956 /// <para>В случае, если документ закрыт, возвращает тип последнего открытого документа.</para>
957 /// </summary>
958 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
959 /// <returns>тип (последнего)открытого документа</returns>
960 /// <seealso cref="com.multisoft.drivers.fiscalcore.RecType"/>
962
963 /// <summary>
964 /// <para><b>Чек</b></para>
965 /// Возвращает состояние документа
966 /// </summary>
967 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
968 /// <returns>состояние документа</returns>
969 /// <seealso cref="com.multisoft.drivers.fiscalcore.RecState"/>
970 /// <example>
971 /// проверка, был ли документ уже открыт перед открытием нового документа
972 /// <code>
973 /// if((RecState)IFiscalCore.GetRecState(callback) == RecState.Opened)
974 /// IFiscalCore.RecVoid(callback);//отменяем документ
975 /// IFiscalCore.OpenRec((int)RecType.Sell, callback);
976 /// callback.Complete();
977 /// //команды работы с чеком: добавление позиций, оплата, и т.д.
978 /// </code>
979 /// </example>
981
982 /// <summary>
983 /// <para><b>Чек</b></para>
984 /// <para>Установить систему налогообложения (СНО).</para>
985 /// <para>Нужна при формировании чеков, если ККТ зарегистрирована с 2 и более СНО</para>
986 /// <para>Вызывается до открытия чека. Если ККТ зарегистрирована с 1 СНО, факультативна.</para>
987 /// </summary>
988 /// <param name="tax">используемая система налогообложения</param>
989 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
990 /// <seealso cref="com.multisoft.drivers.fiscalcore.TaxCode"/>
991 /// <example>пример использования:
992 /// <code>
993 /// IFiscalCore.SetUserName(Cashier.Text,callback);
994 /// callback.Complete();
995 /// recType = (int)RecType.Sell;//приход
996 /// IFiscalCore.SetTaxationUsing(taxationSystem,callback);//установка системы налогообложения
997 /// callback.Complete();
998 /// IFiscalCore.OpenRec(recType,callback);
999 /// callback.Complete();
1000 ///
1001 /// //добавление первой позиции:
1002 /// IFiscalCore.SetItemTaxes((int)TaxNum._NO,callback);//без ндс
1003 /// IFiscalCore.SetShowTaxes(true,callback);
1004 /// callback.Complete();
1005 /// IFiscalCore.PrintRecItem("1", "100", "товар", "артикул", callback1);
1006 /// callback1.Complete();
1007 ///
1008 /// // добавление остальных позиций
1009 /// // . . .
1010 /// //
1011 /// IFiscalCore.PrintRecTotal(callback);//печать итога
1012 /// callback.Complete();
1013 /// IFiscalCore.PrintRecItemPay((int)PayType.Card, "200","ЭЛЕКТРОННЫМИ",callback);
1014 /// callback.Complete();
1015 /// IFiscalCore.PrintRecItemPay((int)PayType.Cash, "200", "НАЛИЧНЫМИ",callback);
1016 /// callback.Complete();
1017 /// IFiscalCore.CloseRec(callback);//закрытие документа
1018 /// callback.Complete();
1019 /// </code>
1020 /// </example>
1021 void SetTaxationUsing(int tax, IExceptionCallback callback);
1022
1023 /// <summary>
1024 /// <para><b>Чек</b></para>
1025 /// <para>Запрос зарегистрированной системы налогообложения.</para>
1026 /// </summary>
1027 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1028 /// <returns>система налогообложения, указанная при регистрации</returns>
1029 /// <seealso cref="com.multisoft.drivers.fiscalcore.TaxCode"/>
1031
1032 /// <summary>
1033 /// <para><b>Чек</b></para>
1034 /// Производит закрытие документа
1035 /// </summary>
1036 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1037 /// <seealso cref="com.multisoft.drivers.fiscalcore.Tag"/>
1038 /// <example>пример чека:
1039 /// <code>
1040 /// IFiscalCore.SetUserName(Cashier.Text,callback);
1041 /// callback.Complete();
1042 /// recType = (int)RecType.Sell;//приход
1043 /// IFiscalCore.SetTaxationUsing(taxationSystem,callback);//установка системы налогообложения
1044 /// callback.Complete();
1045 /// IFiscalCore.OpenRec(recType,callback);
1046 /// callback.Complete();
1047 /// // добавление позиций
1048 /// IFiscalCore.SetItemTaxes((int)TaxNum._18_118,callback);//НДС 18/118
1049 /// callback.Complete();
1050 /// IFiscalCore.SetShowTaxes(true,callback);
1051 /// callback.Complete();
1052 /// IFiscalCore.SetTagAttribute((int)Tag.ItemProperty, "1", callback); // Товар
1053 /// callback.Complete();
1054 /// IFiscalCore.SetTagAttribute((int)Tag.PaymentProperty, "1", callback); // Предоплата 100%
1055 /// callback.Complete();
1056 /// IFiscalCore.PrintRecItem("1.0", "12.34", "товар","",callback);
1057 /// callback.Complete();
1058 /// // оплата
1059 /// IFiscalCore.PrintRecTotal(callback);//печать итога
1060 /// callback.Complete();
1061 /// IFiscalCore.PrintRecItemPay((int)PayType.Card, "200","ЭЛЕКТРОННЫМИ",callback);
1062 /// callback.Complete();
1063 /// IFiscalCore.PrintRecItemPay((int)PayType.Cash, "200", "НАЛИЧНЫМИ",callback);
1064 /// callback.Complete();
1065 /// IFiscalCore.PrintRecItemPay((int)PayType.Cash, "-0.50", "СДАЧА",callback);
1066 /// callback.Complete();
1067 /// IFiscalCore.CloseRec(callback);//закрытие документа
1068 /// callback.Complete();
1069 /// </code>
1070 /// </example>
1071 ///
1072 /// <example>пример чека с маркировкой:
1073 /// <code>
1074 /// IFiscalCore.SetUserName(Cashier.Text,callback);
1075 /// callback.Complete();
1076 /// recType = (int)RecType.Sell;//приход
1077 /// IFiscalCore.SetTaxationUsing(taxationSystem,callback);//установка системы налогообложения
1078 /// callback.Complete();
1079 /// IFiscalCore.OpenRec(recType,callback);
1080 /// callback.Complete();
1081 /// // добавление позиций
1082 /// String markingCode = "010361422599702021_DgS'hd\u001d93yOpB";
1083 /// IFiscalCore.SendMarkupCodeFnCheck(markingCode, 0, 0, 0, callback)
1084 /// callback.Complete();
1085 /// IFiscalCore.SendMarkupCodeOismCheck(0, 1, 1, 0, "", "", callback)
1086 /// callback.Complete();
1087 /// IFiscalCore.GetMarkupCodeOismResult(callback, oismCallback)
1088 /// callback.Complete();
1089 /// IFiscalCore.SaveMarkupCodeCheckResult(true, callback)
1090 /// callback.Complete();
1091 /// IFiscalCore.SetItemTaxes((int)TaxNum._10,callback);//"НДС 10%"
1092 /// callback.Complete();
1093 /// IFiscalCore.SetShowTaxes(true,callback);
1094 /// callback.Complete();
1095 /// IFiscalCore.SetTagAttribute((int)Tag.ItemProperty, "1", callback); // Товар
1096 /// callback.Complete();
1097 /// IFiscalCore.SetTagAttribute((int)Tag.PaymentProperty, "1", callback); // Предоплата 100%
1098 /// callback.Complete();
1099 /// IFiscalCore.SetTagAttribute((int)Tag.MarkedCommodityCode, markingCode, callback); // КМ
1100 /// callback.Complete();
1101 /// IFiscalCore.PrintRecItem("1.0", "12.34", "товар", "", callback);
1102 /// callback.Complete();
1103 /// // оплата
1104 /// IFiscalCore.PrintRecTotal(callback);//печать итога
1105 /// callback.Complete();
1106 /// IFiscalCore.PrintRecItemPay((int)PayType.Card, "200","ЭЛЕКТРОННЫМИ",callback);
1107 /// callback.Complete();
1108 /// IFiscalCore.PrintRecItemPay((int)PayType.Cash, "200", "НАЛИЧНЫМИ",callback);
1109 /// callback.Complete();
1110 /// IFiscalCore.PrintRecItemPay((int)PayType.Cash, "-0.50", "СДАЧА",callback);
1111 /// callback.Complete();
1112 /// IFiscalCore.CloseRec(callback);//закрытие документа
1113 /// callback.Complete();
1114 /// </code>
1116
1117 /// <summary>
1118 /// <para><b>Чек</b></para>
1119 /// Провести оплату по типу платежа
1120 /// </summary>
1121 /// <param name="type">байт тип оплаты. бит </param>
1122 /// <param name="total">строка - сумма оплаты</param>
1123 /// <param name="itemText">строка - сопутствующий текст, например, тип оплаты</param>
1124 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1125 /// <seealso cref="com.multisoft.drivers.fiscalcore.PayType"/>
1126 /// <example>несколько типов оплат:
1127 /// <code>
1128 /// //команды открытия документа и добавления позиций
1129 /// IFiscalCore.PrintRecTotal(callback);//печать итога
1130 /// callback.Complete();
1131 /// IFiscalCore.PrintRecItemPay((int)PayType.Tare, "2.10", "В ОБМЕН",callback);
1132 /// callback.Complete();
1133 /// IFiscalCore.PrintRecItemPay((int)PayType.Cash, "203.00", "НАЛИЧНЫМИ",callback);
1134 /// callback.Complete();
1135 /// IFiscalCore.PrintRecItemPay((int)PayType.Cash, "-5.00", "СДАЧА",callback);
1136 /// callback.Complete();
1137 /// IFiscalCore.CloseRec(callback);//закрытие документа
1138 /// callback.Complete();
1139 /// </code>
1140 /// </example>
1141 void PrintRecItemPay(int type, String total, String itemText, IExceptionCallback callback);
1142
1143 /// <summary>
1144 /// <para><b>Чек</b></para>
1145 /// <para>Печать текста c переводом строки.</para>
1146 /// </summary>
1147 /// <param name="align">выравнивание.</param>
1148 /// <param name="line">строка текста для печати</param>
1149 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1150 /// <seealso cref="com.multisoft.drivers.fiscalcore.Align"/>
1151 void PrintLine(int align, String line, IExceptionCallback callback);
1152
1153 /// <summary>
1154 /// <para><b>Чек</b></para>
1155 /// Аннулировать чек
1156 /// </summary>
1157 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1158 /// <example>пример использования: проверка, не открыт ли документ в ФН
1159 /// <code>
1160 /// if(IFiscalCore.FNGetCurrentDocType(callback) != (int)CurrentDoc.NoDoc)
1161 /// IFiscalCore.RecVoid(callback);//отменяем документ в ККТ и в ФН
1162 /// </code>
1163 /// </example>
1165
1166 // **************************** Итог ****************************
1167
1168 /// <summary>
1169 /// <para><b>Итог</b></para>
1170 /// Вернуть сумму по чеку
1171 /// </summary>
1172 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1173 /// <returns>строка - сумма по чеку</returns>
1174 /// <example>пример использования:
1175 /// <code>
1176 /// IFiscalCore.PrintRecTotal(callback);//печать итога
1177 /// callback.Complete();
1178 /// recTotal = IFiscalCore.GetRecTotal(callback);
1179 /// callback.Complete();
1180 /// IFiscalCore.PrintRecItemPay((int)PayType.Cash, recTotal, "НАЛИЧНЫМИ",callback);
1181 /// callback.Complete();
1182 /// IFiscalCore.CloseRec(callback);
1183 /// callback.Complete();
1184 /// </code>
1185 /// </example>
1187
1188 /// <summary>
1189 /// <para><b>Итог</b></para>
1190 /// <para>Проверить наличие денег в денежном ящике.</para>
1191 /// <para>Нужна для работы с документами "Расход" и "Возврат прихода", "Изъятие"</para>
1192 /// <param name="total">сумма для выдачи из кассы</param>
1193 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1194 /// </summary>
1195 /// <example>
1196 /// <code>
1197 /// //проверка, что в ДЯ есть 100р
1198 /// IFiscalCore.CheckDrawerCash("100",callback);
1199 /// callback.Complete();
1200 /// IFiscalCore.OpenRec((int)RecType.PayOut, callack);
1201 /// callback.Complete();
1202 /// IFiscalCore.PrintRecItem("1", "100", "изъятие наличных", "", callback);
1203 /// callback.Complete();
1204 /// IFiscalCore.PrintRecTotal(callback);//печать итога
1205 /// callback.Complete();
1206 /// IFiscalCore.PrintRecItemPay((int)PayType.Cash, "100", "НАЛИЧНЫМИ",callback);
1207 /// callback.Complete();
1208 /// IFiscalCore.CloseRec(callback);
1209 /// callback.Complete();
1210 /// </code>
1211 /// </example>
1212 void CheckDrawerCash(String total, IExceptionCallback callback);
1213
1214 /// <summary>
1215 /// <para><b>Итог</b></para>
1216 /// Печать итога.
1217 /// </summary>
1218 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1219 /// <example>производим оплату только когда сумма оплаты (payment) больше суммы по чеку
1220 /// <code>
1221 /// IFiscalCore.SetUserName(Cashier.Text,callback);
1222 /// callback.Complete();
1223 /// recType = (int)RecType.Sell;//приход
1224 /// IFiscalCore.SetTaxationUsing(taxationSystem,callback);//установка системы налогообложения
1225 /// callback.Complete();
1226 /// IFiscalCore.OpenRec(recType,callback);
1227 /// callback.Complete();
1228 /// //добавление первой позиции:
1229 /// IFiscalCore.SetItemTaxes((int)TaxNum._18,callback);
1230 /// callback.Complete();
1231 /// IFiscalCore.SetShowTaxes(true,callback);
1232 /// callback.Complete();
1233 /// IFiscalCore.PrintRecItem("1.00", "1.11", "товар", "",callback);
1234 /// callback.Complete();
1235 /// // добавление остальных позиций (опционально)
1236 /// // . . .
1237 /// //
1238 /// //установка адреса клиента. выполняется до CloseRec()
1239 /// IFiscalCore.SendClientAddress("+79991112233",callback);
1240 /// callback.Complete();
1241 /// IFiscalCore.PrintRecTotal(callback);//печать итога
1242 /// callback.Complete();
1243 /// IFiscalCore.PrintRecItemPay((byte)PayType.Cash, "1.11", "НАЛИЧНЫМИ",callback);
1244 /// callback.Complete();
1245 /// IFiscalCore.CloseRec(callback);//закрытие документа
1246 /// callback.Complete();
1247 /// </code>
1248 /// </example>
1250
1251 /// <summary>
1252 /// <para><b>Чек</b></para>
1253 /// <para>Устанавливает налог по его порядоковому номеру. </para>
1254 /// <para>Действует до следующего вызова PrintRecItem</para>
1255 /// <para>Необходимо выполнять в открытом документе перед каждым вызовом IFiscalCore.PrintRecItem.</para>
1256 /// </summary>
1257 /// <param name="taxNum">порядоковый номер используемого налога</param>
1258 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1259 /// <seealso cref="com.multisoft.drivers.fiscalcore.TaxNum"/>
1260 /// <example>пример использования:
1261 /// <code>
1262 /// IFiscalCore.SetUserName(Cashier.Text,callback);
1263 /// callback.Complete();
1264 /// recType = (int)RecType.Sell;//приход
1265 /// IFiscalCore.SetTaxationUsing(taxationSystem,callback);//установка системы налогообложения
1266 /// callback.Complete();
1267 /// IFiscalCore.OpenRec(recType,callback);
1268 /// callback.Complete();
1269 /// IFiscalCore.SetItemTaxes((int)TaxNum._10,callback);//"НДС 10%"
1270 /// callback.Complete();
1271 /// IFiscalCore.SetShowTaxes(true,callback);
1272 /// callback.Complete();
1273 /// IFiscalCore.PrintRecItem("20", "10.00", "товар", "артикул",callback);
1274 /// callback.Complete();
1275 /// IFiscalCore.PrintRecTotal(callback);//печать итога
1276 /// callback.Complete();
1277 /// IFiscalCore.PrintRecItemPay((byte)PayType.Card, "19.50", "ЭЛЕКТРОННЫМИ",callback);
1278 /// callback.Complete();
1279 /// IFiscalCore.PrintRecItemPay((byte)PayType.Cash, "180.50", "НАЛИЧНЫМИ",callback);
1280 /// callback.Complete();
1281 /// IFiscalCore.CloseRec(callback);//закрытие документа
1282 /// callback.Complete();
1283 /// </code>
1284 /// </example>
1285 void SetItemTaxes(int taxNum, IExceptionCallback callback);
1286
1287 /// <summary>
1288 /// <para><b>Чек</b></para>
1289 /// <para>Управляет отрисовкой налога. По умолчанию отрисовка выключена.</para>
1290 /// <para>Если нужно включить для i-й позиции, то необходимо вызывать с параметром True перед печатью этой позиции (функция IFiscalCore.PrintRecItem).</para>
1291 /// </summary>
1292 /// <param name="val">true - показывать, false - не показывать</param>
1293 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1294 /// <example>пример использования:
1295 /// <code>
1296 /// // ... открытие документа, добавление позиций
1297 /// IFiscalCore.SetItemTaxes((int)TaxNum._10_110,callback);//НДС 10/110
1298 /// callback.Complete();
1299 /// IFiscalCore.SetShowTaxes(true,callback);
1300 /// IFiscalCore.PrintRecItem("1.0", "50", "товар","",callback);
1301 /// callback.Complete();
1302 /// // ... закрытие документа
1303 /// </code>
1304 /// </example>
1305 void SetShowTaxes(boolean val, IExceptionCallback callback);
1306
1307 /// <summary>
1308 /// <para><b>Чек</b></para>
1309 /// Добавление товарной позиции в открытом документе
1310 /// </summary>
1311 /// <param name="count">строка - количество. может принимать как целые, так и дробные значения</param>
1312 /// <param name="price">строка - цена за единицу (1) количества</param>
1313 /// <param name="itemname">строка - наименование товара</param>
1314 /// <param name="article">строка - артикул</param>
1315 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1316 /// <seealso cref="com.multisoft.drivers.fiscalcore.Tag"/>
1317 /// <example>правильная последовательность печати позиции с налогом
1318 /// <code>
1319 /// // ... открытие документа, добавление позиций
1320 /// IFiscalCore.SetItemTaxes((int)TaxNum._18_118,callback);//НДС 18/118
1321 /// callback.Complete();
1322 /// IFiscalCore.SetShowTaxes(true,callback);
1323 /// callback.Complete();
1324 /// IFiscalCore.SetTagAttribute((int)Tag.ItemProperty, "1", callback); // Товар
1325 /// callback.Complete();
1326 /// IFiscalCore.SetTagAttribute((int)Tag.PaymentProperty, "1", callback); // Предоплата 100%
1327 /// callback.Complete();
1328 /// IFiscalCore.PrintRecItem("1.0", "12.34", "товар","",callback);
1329 /// callback.Complete();
1330 /// // ... закрытие документа
1331 /// </code>
1332 /// </example>
1333 ///
1334 /// <example>добавление позиции с КМ
1335 /// <code>
1336 /// // ... открытие документа
1337 /// String markingCode = "010361422599702021_DgS'hd\u001d93yOpB";
1338 /// IFiscalCore.SendMarkupCodeFnCheck(markingCode, 0, 0, 0, callback)
1339 /// callback.Complete();
1340 /// IFiscalCore.SendMarkupCodeOismCheck(0, 1, 1, 0, "", "", callback)
1341 /// callback.Complete();
1342 /// IFiscalCore.GetMarkupCodeOismResult(callback, oismCallback)
1343 /// callback.Complete();
1344 /// IFiscalCore.SaveMarkupCodeCheckResult(true, callback)
1345 /// callback.Complete();
1346 /// IFiscalCore.SetItemTaxes((int)TaxNum._10,callback);//"НДС 10%"
1347 /// callback.Complete();
1348 /// IFiscalCore.SetShowTaxes(true,callback);
1349 /// callback.Complete();
1350 /// IFiscalCore.SetTagAttribute((int)Tag.ItemProperty, "1", callback); // Товар
1351 /// callback.Complete();
1352 /// IFiscalCore.SetTagAttribute((int)Tag.PaymentProperty, "1", callback); // Предоплата 100%
1353 /// callback.Complete();
1354 /// IFiscalCore.SetTagAttribute((int)Tag.MarkedCommodityCode, markingCode, callback); // КМ
1355 /// callback.Complete();
1356 /// IFiscalCore.PrintRecItem("1.0", "12.34", "товар", "", callback);
1357 /// callback.Complete();
1358 /// // ... закрытие документа
1359 /// </code>
1360 /// </example>
1361 void PrintRecItem(String count, String price, String itemname, String article, IExceptionCallback callback);
1362
1363 // **************************** Чек коррекции ****************************
1364
1365 /// <summary>
1366 /// <para><b>Чек коррекции</b></para>
1367 /// <para>Напечатать чек коррекции.</para>
1368 /// <para>Вызывается однократно для каждого чека коррекции, ФФД 1.05</para>
1369 /// </summary>
1370 /// <param name="operation">тип операции - com.multisoft.drivers.fiscalcore.OperationType, только для OperationType.Sell, OperationType.Buy (Приход, Расход)</param>
1371 /// <param name="cash">сумма наличными</param>
1372 /// <param name="emoney">сумма электронными</param>
1373 /// <param name="advance">сумма авансом</param>
1374 /// <param name="credit">сумма в кредит</param>
1375 /// <param name="other">сумма обменом</param>
1376 /// <param name= "taxNum">порядоковый номер используемого налога com.multisoft.drivers.fiscalcore.TaxNum. Если вызвана IFiscalCore.SetSumTaxes, значение не используется.</param>
1377 /// <param name="corrType">тип коррекци com.multisoft.drivers.fiscalcore.CorrectionRecType</param>
1378 /// <param name="docName">строка, наименование основания для коррекции</param>
1379 /// <param name="docDate">строка, дата документа основания документа в формате "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"</param>
1380 /// <param name="docNum">строка, номер документа основания</param>
1381 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1382 /// <seealso cref="com.multisoft.drivers.fiscalcore.OperationType"/>
1383 /// <seealso cref="com.multisoft.drivers.fiscalcore.CorrectionRecType"/>
1384 /// <seealso cref="com.multisoft.drivers.fiscalcore.TaxNum"/>
1385 /// <seealso cref="IFiscalCore.SetSumTaxes"
1386 /// <example>
1387 /// работа с чеком коррекции:
1388 /// <code>
1389 /// IFiscalCore.SetUserName(cashier,callback);
1390 /// IFiscalCore.SetTaxationUsing(TaxCode.Common,callback);
1391 /// callback.Complete();
1392 /// IFiscalCore.OpenRec(RecType.CorrectionReceipt,callback);
1393 /// callback.Complete();
1394 /// string docName = "01.02.2017 не сформирован и не выдан кассовый чек";
1395 /// string docNum = "32";
1396 /// string docDate = "2017-02-28T19:12:03.000Z";
1397 /// IFiscalCore.FNMakeCorrectionRec((int)OperationType.Sell,"10","0","0.00","0.00","0.05",(int)TaxNum._18,(int)CorrectionRecType.Independent,docName,docDate,docNum,callback);
1398 /// callback.Complete();
1399 /// IFiscalCore.CloseRec(callback);
1400 /// callback.Complete();
1401 /// </code>
1402 /// </example>
1403 void FNMakeCorrectionRec(int operation, String cash, String emoney, String advance, String credit,
1404 String other, int taxNum, int corrType, String docName, String docDate, String docNum, IExceptionCallback callback);
1405
1406 // **************************** Запрос информации о подтверждении документа от ОФД ****************************
1407
1408 /// <summary>
1409 /// <para><b>Запрос информации о подтверждении документа от ОФД</b></para>
1410 /// <para>Запросить информацию о подтверждении от ОФД по номеру документа.</para>
1411 /// <para>Только при подключенном ФН!</para>
1412 /// <para>За 1 запрос сохраняется информация об 1 подтверждении фискального документа.</para>
1413 /// <para>При последующем запросе информация о предыдущем удаляется.</para>
1414 /// <para>Выполняется для каждого запрашиваемого подтверждения перед вызовом остальных функций, относящихся к разделу "<b>Запрос информации о подтверждении документа от ОФД</b>".</para>
1415 /// <para>Вызывается перед чтением информации о подтверждении.</para>
1416 /// <para>Для чтения информации о другом подтверждении необходимо выполнить эту команду снова, указав соответствующий номер.</para>
1417 /// <param name="docnum">номер переданного в ОФД фискального документа</param>
1418 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1419 /// </summary>
1420 /// <example> Запрос информации о подтверждении документов с номерами 1 и 2
1421 /// <code>
1422 /// //запросить информацию о чеке с номером 1
1423 /// IFiscalCore.QueryOFDReceiptByNum(1,callback);
1424 /// callback.Complete();
1425 /// //считать время из документа с номером 1
1426 /// var first = IFiscalCore.OfdOut_GetTime(callback);
1427 /// callback.Complete();
1428 /// //запросить информацию о чеке с номером 2
1429 /// IFiscalCore.QueryOFDReceiptByNum(2,callback);
1430 /// callback.Complete();
1431 /// //считать время из документа с номером 2
1432 /// var second = IFiscalCore.OfdOut_GetTime(callback);
1433 /// callback.Complete();
1434 /// </code>
1435 /// </example>
1436 void QueryOFDReceiptByNum(int docnum, IExceptionCallback callback);
1437
1438 /// <summary>
1439 /// <para><b>Запрос информации о подтверждении документа от ОФД</b></para>
1440 /// Показать время подтверждения документа
1441 /// </summary>
1442 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1443 /// <returns>строка - время</returns>
1444 /// <example>
1445 /// <code>
1446 /// IFiscalCore.QueryOFDReceiptByNum(1,callback);
1447 /// callback.Complete();
1448 /// var first = IFiscalCore.OfdOut_GetTime(callback);
1449 /// callback.Complete();
1450 /// </code>
1451 /// </example>
1453
1454 /// <summary>
1455 /// <para><b>Запрос информации о подтверждении документа от ОФД</b></para>
1456 /// Показать номер выбранного подтверждения документа
1457 /// </summary>
1458 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1459 /// <returns>число - номер фискального документа</returns>
1460 /// <example>
1461 /// <code>
1462 /// IFiscalCore.QueryOFDReceiptByNum(1,callback);
1463 /// callback.Complete();
1464 /// var first = IFiscalCore.OfdOut_GetFDNumber(callback);
1465 /// callback.Complete();
1466 /// </code>
1467 /// </example>
1469
1470 /// <summary>
1471 /// <para><b>Запрос информации о подтверждении документа от ОФД</b></para>
1472 /// Показать фискальный признак подтверждения документа
1473 /// </summary>
1474 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1475 /// <returns>строка - фискальный признак, полученный от ОФД</returns>
1476 /// <example>
1477 /// <code>
1478 /// IFiscalCore.QueryOFDReceiptByNum(1,callback);
1479 /// callback.Complete();
1480 /// var first = IFiscalCore.OfdOut_GetFiscalSign(callback);
1481 /// callback.Complete();
1482 /// </code>
1483 /// </example>
1485
1486 /// <summary>
1487 /// <para><b>Запрос информации о подтверждении документа от ОФД</b></para>
1488 /// Показать размер подтверждения документа
1489 /// </summary>
1490 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1491 /// <returns>число - размер документа</returns>
1492 /// <example>
1493 /// <code>
1494 /// IFiscalCore.QueryOFDReceiptByNum(1,callback);
1495 /// callback.Complete();
1496 /// var first = IFiscalCore.OfdOut_GetSize(callback);
1497 /// callback.Complete();
1498 /// </code>
1499 /// </example>
1501
1502
1503 // **************************** Работа с архивом ФН ****************************
1504
1505 /// <summary>
1506 /// <para><b>Работа с архивом ФН</b></para>
1507 /// <para>Запросить информацию о документе из архива ФН по номеру.</para>
1508 /// <para>Только при подключенном ФН!</para>
1509 /// <para>За 1 запрос сохраняется информация об 1 фискальном документе.</para>
1510 /// <para>При последующем запросе информация о предыдущем удаляется.</para>
1511 /// <para>Выполняется для каждого запрашиваемого документа перед вызовом остальных функций, относящихся к разделу "<b>Работа с архивом ФН</b>".</para>
1512 /// <para>После этого становятся доступными функции с префиксом FDI, </para>
1513 /// <para>которые отображают информацию из запрошенного документа.</para>
1514 /// <para>Для чтения информации о другом документе необходимо выполнить эту команду снова c указанием нужного номера документа. </para>
1515 /// </summary>
1516 /// <param name="docNum">число - номер документа</param>
1517 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1518 /// <example>
1519 /// <code>
1520 /// //запросить из архива ФД с номером 1
1521 /// IFiscalCore.QueryFiscalDocInfo(1,callback);
1522 /// callback.Complete();
1523 /// //считать время из документа с номером 1
1524 /// var doctype = IFiscalCore.FDI_GetDocType(callback);
1525 /// callback.Complete();
1526 /// //запросить из архива ФД с номером 2
1527 /// IFiscalCore.QueryFiscalDocInfo(2,callback);
1528 /// callback.Complete();
1529 /// //считать время из документа с номером 2
1530 /// var doctype = IFiscalCore.FDI_GetDocType(callback);
1531 /// callback.Complete();
1532 /// </code>
1533 /// </example>
1534 void QueryFiscalDocInfo(int docNum, IExceptionCallback callback);
1535
1536 /// <summary>
1537 /// <para><b>Работа с архивом ФН</b></para>
1538 /// Показать тип документа, выбранного с помощью IFiscalCore.QueryFiscalDocInfo
1539 /// </summary>
1540 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1541 /// <returns>тип документа</returns>
1542 /// <seealso cref="com.multisoft.drivers.fiscalcore.DocType"/>
1543 /// <example>
1544 /// <code>
1545 /// IFiscalCore.QueryFiscalDocInfo(1,callback);
1546 /// callback.Complete();
1547 /// var first = IFiscalCore.FDI_GetDocType(callback);
1548 /// callback.Complete();
1549 /// </code>
1550 /// </example>
1552
1553 /// <summary>
1554 /// <para><b>Работа с архивом ФН</b></para>
1555 /// Показать флаг о наличии подтверждения документа, выбранного с помощью IFiscalCore.QueryFiscalDocInfo, от ОФД
1556 /// </summary>
1557 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1558 /// <returns>true - документ был подтверждён, false - документ не был подтверждён</returns>
1559 /// <example>
1560 /// <code>
1561 /// IFiscalCore.QueryFiscalDocInfo(1,callback);
1562 /// callback.Complete();
1563 /// var first = IFiscalCore.FDI_GetConfirmFromOFD(callback);
1564 /// callback.Complete();
1565 /// </code>
1566 /// </example>
1568
1569 /// <summary>
1570 /// <para><b>Работа с архивом ФН</b></para>
1571 /// Показать байты документа, выбранного с помощью IFiscalCore.QueryFiscalDocInfo
1572 /// </summary>
1573 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1574 /// <returns>строка - байт-код документа в HEX-формате</returns>
1575 /// <example>
1576 /// <code>
1577 /// IFiscalCore.QueryFiscalDocInfo(1,callback);
1578 /// callback.Complete();
1579 /// var first = IFiscalCore.FDI_GetDataArray(callback);
1580 /// callback.Complete();
1581 /// </code>
1582 /// </example>
1584
1585 // **************************** Печать из архива ****************************
1586
1587 /// <summary>
1588 /// <para><b>Печать их архива</b></para>
1589 /// Вывести на печать документ из архива по номеру
1590 /// </summary>
1591 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1592 /// <param name="docNum">положительное целое число - номер документа</param>
1593 void FNPrintDocFromArchive(int docNum, IExceptionCallback callback);
1594
1595 // **************************** Запрос параметров ****************************
1596
1597 // В этом блоке находятся методы для настройки аппарата перед регистрацией.
1598 // Под "пользователем" следует понимать организацию - пользователя КТТ
1599
1600 // **************************** Параметры ОФД ****************************
1601
1602 /// <summary>
1603 /// <para><b>Запрос параметров ОФД</b></para>
1604 /// Запрос адреса сервера ОФД
1605 /// </summary>
1606 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1607 /// <returns>адрес сервера, например "test.server.ofd" или "11.2.222.11"</returns>
1609
1610 /// <summary>
1611 /// <para><b>Запрос параметров ОФД</b></para>
1612 /// Запрос порта ОФД
1613 /// </summary>
1614 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1615 /// <returns>порт сервера, например, 12345</returns>
1617
1618 /// <summary>
1619 /// <para><b>Запрос параметров ОФД</b></para>
1620 /// Запрос полного наименования оператора фискальных данных
1621 /// </summary>
1622 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1623 /// <returns>строка - наименование ОФД</returns>
1625
1626 /// <summary>
1627 /// <para><b>Запрос параметров ОФД</b></para>
1628 /// Запрос ИНН ОФД
1629 /// </summary>
1630 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1631 /// <returns>строка - ИНН ОФД</returns>
1633
1634
1635 // **************************** Основные настройки ****************************
1636
1637 /// <summary>
1638 /// <para><b>Запрос основных настроек</b></para>
1639 /// Запрос имени организации (пользователя)
1640 /// </summary>
1641 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1642 /// <returns>строка - имя организации</returns>
1644
1645 /// <summary>
1646 /// <para><b>Запрос основных настроек</b></para>
1647 /// Запрос адреса организации (пользователя)
1648 /// </summary>
1649 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1650 /// <returns>строка - адрес организации</returns>
1652
1653 /// <summary>
1654 /// <para><b>Запрос основных настроек</b></para>
1655 /// Запрос места расчётов.
1656 /// Место осуществления расчетов между пользователем и покупателем (клиентом)
1657 /// </summary>
1658 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1659 /// <returns>строка - физическое место расчётов</returns>
1661
1662 /// <summary>
1663 /// <para><b>Запрос основных настроек</b></para>
1664 /// Запрос email-а отправителя чеков
1665 /// </summary>
1666 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1667 /// <returns>строка - email отправителя чеков </returns>
1669
1670 /// <summary>
1671 /// <para><b>Запрос основных настроек</b></para>
1672 /// Запрос адреса сайта для проверки фискального признака
1673 /// </summary>
1674 /// <returns>строка - адрес сайта для проверки фискального признака</returns>
1676
1677 /// <summary>
1678 /// <para><b>Запрос основных настроек</b></para>
1679 /// Запрос сайта налогового органа
1680 /// </summary>
1681 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1682 /// <returns>строка - сайт налогового органа</returns>
1684
1685 /// <summary>
1686 /// <para><b>Запрос основных настроек</b></para>
1687 /// Запрос ИНН кассира
1688 /// </summary>
1689 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1690 /// <returns>строка - инн кассира</returns>
1692
1693 /// <summary>
1694 /// <para><b>Запрос основных настроек</b></para>
1695 /// <para>Запрос флага расширенного автотеста.</para>
1696 /// <para>Если true, печатается чек расширенного автотестирования.</para>
1697 /// <para>Если false, чек расширенного автотестирования не печатается</para>
1698 /// </summary>
1699 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1700 /// <returns>true или false</returns>
1702
1703 /// <summary>
1704 /// <para><b>Запрос основных настроек</b></para>
1705 /// Запрос номера автомата. Необходим только в автоматическом режиме.
1706 /// </summary>
1707 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1708 /// <returns>строка - номер автомата</returns>
1709 /// <seealso cref="com.multisoft.drivers.fiscalcore.OperatingMode"/>
1711
1712
1713 // **************************** Дополнительные настройки ****************************
1714
1715 /// <summary>
1716 /// <para><b>Запрос дополнительных настроек</b></para>
1717 /// Запрос наименования оператора перевода, для банковских платежных агентов (субагентов)
1718 /// </summary>
1719 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1720 /// <returns>строка - наименование оператора перевода</returns>
1721 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
1723
1724 /// <summary>
1725 /// <para><b>Запрос дополнительных настроек</b></para>
1726 /// Запрос ИНН оператора перевода, для банковских платежных агентов (субагентов)
1727 /// </summary>
1728 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1729 /// <returns>строка - ИНН оператор перевода</returns>
1730 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
1732
1733 /// <summary>
1734 /// <para><b>Запрос дополнительных настроек</b></para>
1735 /// Запрос телефона оператора перевода
1736 /// </summary>
1737 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1738 /// <returns>строка - номера телефонов оператора по переводу денежных средств</returns>
1739 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
1741
1742 /// <summary>
1743 /// <para><b>Запрос дополнительных настроек</b></para>
1744 /// Запрос адреса оператора перевода, для банковских платежных агентов (субагентов)
1745 /// </summary>
1746 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1747 /// <returns>строка - адрес оператора перевода</returns>
1748 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
1750
1751 /// <summary>
1752 /// <para><b>Запрос дополнительных настроек</b></para>
1753 /// Запрос номера телефонов платёжного агента, платёжного субагента,
1754 /// банковского платёжного агента,банковского платёжного субагента
1755 /// </summary>
1756 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1757 /// <returns>строка - номера телефонов платёжного агента, платёжного субагента,
1758 /// банковского платёжного агента, банковского платёжного субагента</returns>
1759 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
1761
1762 /// <summary>
1763 /// <para><b>Запрос дополнительных настроек</b></para>
1764 /// Запрос операции платёжного агента.
1765 /// </summary>
1766 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1767 /// <returns>строка - наименование операции банковского платёжного агента или банковского платёжного субагента </returns>
1768 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
1770
1771 /// <summary>
1772 /// <para><b>Запрос дополнительных настроек</b></para>
1773 /// <para>Запрос телефона оператора по приёму платежей.</para>
1774 /// <para>При осуществлении деятельности платёжного агента и платёжного субагента.</para>
1775 /// </summary>
1776 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1777 /// <returns>строка - номер телефона оператора по приёму платежей</returns>
1778 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
1780
1781 /// <summary>
1782 /// <para><b>Запрос дополнительных настроек</b></para>
1783 /// <para>Запрос номера телефона поставщика</para>
1784 /// <para>Для платёжного агента и платёжного субагента</para>
1785 /// </summary>
1786 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1787 /// <returns>строка - номер телефона поставщика </returns>
1788 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
1790
1791
1792 // **************************** Применение настроек ****************************
1793
1794 /// <summary>
1795 /// <para><b>Применение настроек</b></para>
1796 /// <para>Инициировать сохранение текущих настроек в память ККТ, </para>
1797 /// <para>чтобы они были применены при следующей инициализации ядра.</para>
1798 /// </summary>
1799 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1801
1802 // **************************** Установка параметров ****************************
1803 // Данный блок методов позволяет настраивать параметры ККТ.
1804 // Чтобы при следующей загрузке ядра настройки были применены, их нужно сохранить функцией IFiscalCore.SaveOptions()
1805
1806 // **************************** Параметры ОФД ****************************
1807 // Необходимо указывать до вызова функции регистрации.
1808
1809 /// <summary>
1810 /// <para><b>Установка параметров ОФД</b></para>
1811 /// Установка адреса сервера ОФД для подключения
1812 /// </summary>
1813 /// <param name="host">сервер ОФД, например, "test.server.ofd" или "11.2.222.11"</param>
1814 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1815 void SetOfdHost(String host, IExceptionCallback callback);
1816
1817 /// <summary>
1818 /// <para><b>Установка параметров ОФД</b></para>
1819 /// Установка порта сервера ОФД для подключения
1820 /// </summary>
1821 /// <param name="port">порт, например 9999</param>
1822 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1823 void SetOfdPort(int port, IExceptionCallback callback);
1824
1825 /// <summary>
1826 /// <para><b>Установка параметров ОФД</b></para>
1827 /// Установить наименование ОФД (1046)
1828 /// </summary>
1829 /// <param name="text">полное наименование оператора фискальных данных</param>
1830 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1831 void SetOfdName(String text, IExceptionCallback callback);
1832
1833 /// <summary>
1834 /// <para><b>Установка параметров ОФД</b></para>
1835 /// Установить ИНН ОФД (1017)
1836 /// </summary>
1837 /// <param name="text"> ИНН ОФД </param>
1838 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1839 void SetOfdTaxId(String text, IExceptionCallback callback);
1840
1841
1842 // **************************** Основные настройки ****************************
1843 // Необходимо указывать до вызова функции регистрации.
1844
1845 /// <summary>
1846 /// <para><b>Установка основных настроек</b></para>
1847 /// Установить наименование пользователя (пользователя) (1048)
1848 /// </summary>
1849 /// <param name="text">наименование организации-пользователя или фамилия, имя, отчество (при наличии) индивидуального предпринимателя - пользователя</param>
1850 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1851 void SetOrgName(String text, IExceptionCallback callback);
1852
1853 /// <summary>
1854 /// <para><b>Установка основных настроек</b></para>
1855 /// Установить адрес расчётов (1009)
1856 /// </summary>
1857 /// <param name="text">адрес осуществления расчетов между пользователем и покупателем (клиентом)</param>
1858 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1859 void SetOrgAddress(String text, IExceptionCallback callback);
1860
1861 /// <summary>
1862 /// <para><b>Установка основных настроек</b></para>
1863 /// Установить место расчётов
1864 /// </summary>
1865 /// <param name="text">(физическое) место расчётов,
1866 /// место осуществления расчетов между пользователем и покупателем (клиентом)</param>
1867 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1868 void SetPhysicalAddress(String text, IExceptionCallback callback);
1869
1870 /// <summary>
1871 /// <para><b>Установка основных настроек</b></para>
1872 /// <para>Установить адрес электронной почты отправителя чека (1117)</para>
1873 /// <para>Может быть указан не более 1 раза на чек</para>
1874 /// <para>Максимум 64 символа в формате "{С}@{C}" без кавычек и скобок.</para>
1875 /// <para>Скобки указывают на многократное повторение символа {C}.</para>
1876 /// </summary>
1877 /// <param name="text">адрес электронной почты отправителя кассового чека (БСО) в электронной форме, в том числе пользователя, если отправителем является пользователь, в случае передачи покупателю (клиенту) кассового чека или бланка строгой отчетности в электронной форме</param>
1878 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1879 /// <seealso cref="SendClientAddress"/>
1880 void SetSenderEmail(String text, IExceptionCallback callback);
1881
1882 /// <summary>
1883 /// <para><b>Установка основных настроек</b></para>
1884 /// Установить адрес сайта для проверки фискального признака. Не используется в ФФД 1.05 и 1.1
1885 /// </summary>
1886 /// <param name="text">адрес сайта для проверки фискального признака</param>
1887 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1888 void SetReceiptCheckURI(String text, IExceptionCallback callback);
1889
1890 /// <summary>
1891 /// <para><b>Установка основных настроек</b></para>
1892 /// Установить адрес сайта ФНС (1060), максимум 256 символов в представимом в CP866 виде.
1893 /// </summary>
1894 /// <param name="text">адрес сайта налогового органа</param>
1895 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1896 void SetFnsServerAddress(String text, IExceptionCallback callback);
1897
1898
1899 // **************************** Дополнительные настройки ****************************
1900 // Нужны при регистрации ККТ только в некоторых режимах работы.
1901 // Если испольльзуются, их необходимо указывать и применять до вызова функции регистрации/перерегистрации.
1902
1903 /// <summary>
1904 /// <para><b>Установка дополнительных настроек</b></para>
1905 /// Установить ИНН кассира (1203), ровно 12 цифр.
1906 /// </summary>
1907 /// <param name="text">ИНН кассира</param>
1908 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1909 void SetCashierTaxId(String text, IExceptionCallback callback);
1910
1911 /// <summary>
1912 /// <para><b>Установка дополнительных настроек</b></para>
1913 /// <para>Установить флаг расширенного автотеста.</para>
1914 /// <para>Если true, печатается чек расширенного автотестирования.</para>
1915 /// <para>Если false, чек расширенного автотестирования не печатается</para>
1916 /// </summary>
1917 /// <param name="newstate">новое состояние</param>
1918 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1919 void SetExtendedAutotest(boolean newstate, IExceptionCallback callback);
1920
1921 /// <summary>
1922 /// <para><b>Установка дополнительных настроек</b></para>
1923 /// Установить номер автомата (1036). Необходим только в автоматическом режиме.
1924 /// </summary>
1925 /// <param name="text">номер автомата, максимум 20 символов</param>
1926 /// <param name="callback">функция обратного вызова дял передачи параметров ошибки</param>
1927 /// <seealso cref="com.multisoft.drivers.fiscalcore.OperatingMode"/>
1928 void SetVendingSerial(String text, IExceptionCallback callback);
1929
1930 /// <summary>
1931 /// <para><b>Установка дополнительных настроек</b></para>
1932 /// Установить наименование оператора перевода (1026) в кассовом чеке/БСО
1933 /// </summary>
1934 /// <param name="text">наименование оператора перевода, максимум 64 символа</param>
1935 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1936 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
1937 void SetTransferOperatorName(String text, IExceptionCallback callback);
1938
1939 /// <summary>
1940 /// <para><b>Установка дополнительных настроек</b></para>
1941 /// Установить ИНН оператора перевода (1016) в кассовом чеке/БСО
1942 /// </summary>
1943 /// <param name="text">ИНН оператор перевода, ровно 12 цифр</param>
1944 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1945 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
1947
1948 /// <summary>
1949 /// <para><b>Установка дополнительных настроек</b></para>
1950 /// <para>Установить телефон оператора перевода (1075) в кассовом чеке/БСО</para>
1951 /// <para>Формат: строка, начинающаяся на '+', далее цифры. Максимум 19 символов, включая "+" в начале</para>
1952 /// </summary>
1953 /// <param name="text">строка - номер телефона оператора перевода, например, +79991112233</param>
1954 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1956
1957 /// <summary>
1958 /// <para><b>Установка дополнительных настроек</b></para>
1959 /// <para>Установить адрес оператора перевода (1005) в кассовом чеке/БСО</para>
1960 /// </summary>
1961 /// <param name="text">адрес оператора перевода, максимум 256 символов</param>
1962 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1963 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
1965
1966 /// <summary>
1967 /// <para><b>Установка дополнительных настроек</b></para>
1968 /// <para>Установить телефон платёжного агента (1073) в кассовом чеке/БСО</para>
1969 /// <para>Формат: строка, начинающаяся на '+', далее цифры. Максимум 19 символов, включая "+" в начале</para>
1970 /// </summary>
1971 /// <param name="text">строка - телефонный номер</param>
1972 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1973 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
1974 void SetPaymentAgentTelNum(String text, IExceptionCallback callback);
1975
1976 /// <summary>
1977 /// <para><b>Установка дополнительных настроек</b></para>
1978 /// <para>Установить параметр "операция платёжного агента" (1044) в кассовом чеке/БСО</para>
1979 /// </summary>
1980 /// <param name="text">операция платёжного агента, максимум 24 символа</param>
1981 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1982 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
1984
1985 /// <summary>
1986 /// <para><b>Установка дополнительных настроек</b></para>
1987 /// <para>Установить телефон оператора по приёму платежей (1074) в кассовом чеке/БСО</para>
1988 /// <para>Формат: строка, начинающаяся на '+', далее цифры. Максимум 19 символов, включая "+" в начале</para>
1989 /// </summary>
1990 /// <param name="text">номер телефона оператора по приёму платежей</param>
1991 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
1992 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
1994
1995 /// <summary>
1996 /// <para><b>Установка дополнительных настроек</b></para>
1997 /// <para>Установить телефон поставщика (1171) в кассовом чеке/БСО</para>
1998 /// <para>Формат: строка, начинающаяся на '+', далее цифры. Максимум 19 символов, включая "+" в начале</para>
1999 /// </summary>
2000 /// <param name="text">номер телефона поставщика</param>
2001 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2002 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
2003 void SetContractorTelNum(String text, IExceptionCallback callback);
2004
2005
2006 // **************************** Временные настройки ****************************
2007 /// <summary>
2008 /// <para><b>Временные настройки</b></para>
2009 /// Установить дату и время. Используется для начальной настройки ККТ и корретировки часов ККТ в процессе работы.
2010 /// </summary>
2011 /// <param name="datetime">дата и время в формате "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"</param>
2012 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2013 /// <example>установка даты и времени
2014 /// <code>
2015 /// var date = DateTime.Now.ToUniversalTime().ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'");
2016 /// IFiscalCore.SetDateTime(date,callback);//установка даты и времени
2017 /// </code>
2018 /// </example>
2019 void SetDateTime(String datetime, IExceptionCallback callback);
2020
2021 // **************************** Сервисные команды ****************************
2022 /// <summary>
2023 /// <para><b>Сервисные команды</b></para>
2024 /// <para>Установить заводской номер (ЗН) ККТ</para>
2025 /// <para>Выполняется 1 раз для каждой ккт перед началом регистрации при производстве.</para>
2026 /// <para>В процессе эксплуатации может возникнуть необходимость ввести ЗН ККТ заново, если память ккт была сброшена.</para>
2027 /// <para>Если ФН в ККТ был зарегистрирован, ввод некорректного ЗН приведёт к повторной блокировке.</para>
2028 /// <para>В этом случае нужно вводить именно тот ЗН, с которым ККТ была зарегистрирована.</para>
2029 /// <para>ЗН указан на наклейке на корпусе аппарата, например: Заводской номер №199036000000 Дата 13 октября 2017</para>
2030 /// </summary>
2031 /// <param name="serial">строка - заводской номер ККТ, состоящий из цифр, например, 199036000000</param>
2032 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2033 /// <example>установка заводского номера
2034 /// <code>
2035 /// IFiscalCore.SetSerial("0000000001",callback);
2036 /// callback.Complete();
2037 /// </code>
2038 /// </example>
2039 void SetSerial(String serial, IExceptionCallback callback);
2040
2041 // **************************** Временные настройки ****************************
2042 /// <summary>
2043 /// <para><b>Временные настройки</b></para>
2044 /// <para>Установить имя кассира.</para>
2045 /// <para>Используется для печати документов от чьего-либо имени.</para>
2046 /// <para>Не является опцией.</para>
2047 /// <para>Нужно задавать перед началом печати чеков либо при смене кассира, обслуживающего ККТ.</para>
2048 /// </summary>
2049 /// <param name="cashier">строка - имя и номер кассира</param>
2050 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2051 /// <example>открыть чек на продажу
2052 /// <code>
2053 /// IFiscalCore.SetUserName(Cashier.Text,callback);
2054 /// callback.Complete();
2055 /// recType = (int)RecType.Sell;//приход
2056 /// IFiscalCore.OpenRec(recType,callback);
2057 /// callback.Complete();
2058 /// </code>
2059 /// </example>
2060 void SetUserName(String cashier, IExceptionCallback callback);
2061
2062 /// <summary>
2063 /// <para><b>Временные настройки</b></para>
2064 /// <para>Опция - настройка флага отрезки.</para>
2065 /// <para>Устанавливать перед закрытием документа, если нужно сменить тип отрезки.</para>
2066 /// <para>Возможные значения, если отрезка поддерживается:</para>
2067 /// </summary>
2068 /// <param name="newvalue">новое значение флага отрезки</param>
2069 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2070 /// <seealso cref="com.multisoft.drivers.fiscalcore.CutType"/>
2071 void SetCutType(int newValue, IExceptionCallback callback);
2072
2073 /// <summary>
2074 /// <para><b>Временные настройки</b></para>
2075 /// <para>Установить телефон или электронный адрес покупателя (1008). Выполняется один раз на весь чек. Повторная передача ведёт к нарушению ФФД.</para>
2076 /// <para>Для успешной передачи необходимо, чтобы был установлен тег 1117 - IFiscalCore.SetSenderEmail, т.к. 1008 и 1117 применяются совместно.</para>
2077 /// <para>Для фискального режима, если открыт чек (com.multisoft.drivers.fiscalcore.RecState.Opened) на приход/возврат прихода/расход/возврат расхода. </para>
2078 /// <para>Если перед OpenRec была вызвана функция IFiscalCore.ForcePrintForm с параметром false, вызов IFiscalCore.SendClientAddress обязателен.</para>
2079 /// <para>Следует передавать в формате: "+{Ц}" или "{С}@{C}" без скобок и кавычек, скобки указывают на многократное повторение цифры (Ц) или символа (С) в представимом в CP866 виде.</para>
2080 /// <param name="addr">адрес и/или номер телефона клиента. Максимум 64 символа.</param>
2081 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2082 /// </summary>
2083 /// <returns>true в случае успеха, иначе false </returns>
2084 /// <seealso cref="IFiscalCore.ForcePrintForm"/>
2085 /// <example>
2086 /// <code>
2087 /// IFiscalCore.SetUserName(Cashier.Text,callback);
2088 /// callback.Complete();
2089 /// recType = (int)RecType.Sell;//приход
2090 /// IFiscalCore.SetTaxationUsing(taxationSystem,callback);//установка системы налогообложения
2091 /// callback.Complete();
2092 /// IFiscalCore.OpenRec(recType,callback);
2093 /// callback.Complete();
2094 /// //добавление первой позиции:
2095 /// IFiscalCore.SetItemTaxes((int)TaxNum._0,callback);// НДС 0%
2096 /// callback.Complete();
2097 /// IFiscalCore.SetShowTaxes(true,callback);
2098 /// callback.Complete();
2099 /// IFiscalCore.PrintRecItem("24", "1.05", "товар", "",callback);
2100 /// callback.Complete();
2101 /// // добавление остальных позиций
2102 /// // . . .
2103 /// //
2104 /// //установка адреса клиента. выполняется до CloseRec()
2105 /// IFiscalCore.SendClientAddress("ivanov_889278@address.ru",callback);
2106 /// callback.Complete();
2107 /// IFiscalCore.PrintRecTotal(callback);//печать итога
2108 /// callback.Complete();
2109 /// total = IFiscalCore.GetRecTotal(callback);
2110 /// IFiscalCore.PrintRecItemPay((byte)PayType.Cash, total, "НАЛИЧНЫМИ",callback);
2111 /// callback.Complete();
2112 /// IFiscalCore.CloseRec(callback);//закрытие документа
2113 /// callback.Complete();
2114 /// </code>
2115 /// </example>
2116 void SendClientAddress(String addr, IExceptionCallback callback);
2117
2118
2119 // **************************** Дополнительные настройки ****************************
2120 /// <summary>
2121 /// <para><b>Установка дополнительных настроек</b></para>
2122 /// Установка заголовка чека - строк, печатающихся до чека. Параметры сохраняются при вызове. Не требует SaveOptions
2123 /// </summary>
2124 /// <param name="header">список строк для заговлока</param>
2125 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2126 void SetHeaderLines(in List<String> header, IExceptionCallback callback);
2127
2128 /// <summary>
2129 /// <para><b>Установка дополнительных настроек</b></para>
2130 /// Установка дополнительных строк, печатающихся после чека. Параметры сохраняются при вызове. Не требует SaveOptions
2131 /// </summary>
2132 /// <param name="trailer">список строк</param>
2133 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2134 void SetTrailerLines(in List<String> trailer, IExceptionCallback callback);
2135
2136 /// <summary>
2137 /// <para><b>Установка дополнительных настроек</b></para>
2138 /// Установка упреждающей печати заголовка.
2139 /// <para>если true, заголовок следующего чека печатается после окончания печати предыдущего</para>
2140 /// <para>если false, заголовок печатается перед печатью чека.</para>
2141 /// </summary>
2142 /// <param name="newState">true - печатать заголовок сразу после </param>
2143 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2144 void SetPrePrintHeaderLines(boolean newState, IExceptionCallback callback);
2145
2146 /// <summary>
2147 /// <para><b>Установка дополнительных настроек</b></para>
2148 /// <para>Автоинкассация при закрытии смены. Выполняется перед закрытием смены.</para>
2149 /// <para>Закрытие смены, выполненное после этой функции, произойдёт с автоматическим обнулением счётчика наличности в денежном ящике.</para>
2150 /// </summary>
2151 /// <param name="newState">true - автоинкассация включена, false - выключена</param>
2152 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2153 void SetDayCloseAutoPayOut(boolean newState, IExceptionCallback callback);
2154
2155
2156 // **************************** Чек ****************************
2157 /// <summary>
2158 /// <para><b>Чек</b></para>
2159 /// <para>Печать QR-кода.</para>
2160 /// </summary>
2161 /// <param name="value">строка - контент</param>
2162 /// <param name="align">выравнивание</param>
2163 /// <seealso cref="com.multisoft.drivers.fiscalcore.Align"/>
2164 void PrintQRCode(String value, int align, IExceptionCallback callback);
2165
2166
2167 // **************************** Чтение статуса ФН ****************************
2168 /// <summary>
2169 /// <para><b>Чтение статуса ФН</b></para>
2170 /// <para>Вернуть номер последнего фискального документа (кешируется).</para>
2171 /// <para>Функция аналогична FNGetLastFDNumber, но выполняется быстрее.</para>
2172 /// </summary>
2173 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2174 /// <returns>номер последнего фискального документа</returns>
2176
2177 /// <summary>
2178 /// <para><b>Чтение статуса ФН</b></para>
2179 /// <para>Вернуть ФП последнего фискального документа (кешируется)</para>
2180 /// </summary>
2181 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2182 /// <returns>фискальный признак</returns>
2184
2185 // **************************** Статус ККТ ****************************
2186 /// <summary>
2187 /// <para><b>Статус ККТ</b></para>
2188 /// <para>Название ККТ в реестре</para>
2189 /// </summary>
2190 /// <returns>название ККТ</returns>
2192
2193 // **************************** Временные настройки ****************************
2194 /// <summary>
2195 /// <para><b>Временные настройки</b></para>
2196 /// <para>Принудительно отключить печать следующего документа</para>
2197 /// </summary>
2198 /// <param name="printNextDocument">false - отключить печать следующего документа. true - ничего не предпринимать.</param>
2199 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2200 /// <example>
2201 /// <code>
2202 /// IFiscalCore.ForcePrintForm(false,callback);
2203 /// callback.Complete();
2204 /// recType = (int)RecType.Sell;//приход
2205 /// IFiscalCore.SetTaxationUsing(taxationSystem,callback);//установка системы налогообложения
2206 /// callback.Complete();
2207 /// IFiscalCore.OpenRec(recType,callback);
2208 /// callback.Complete();
2209 /// // добавление позиций
2210 /// // . . .
2211 /// //установка адреса клиента. Обязательна для Sell, SellRefund, Buy, BuyRefund
2212 /// IFiscalCore.SendClientAddress("+79991112233",callback);
2213 /// callback.Complete();
2214 /// IFiscalCore.PrintRecTotal(callback);//печать итога
2215 /// callback.Complete();
2216 /// IFiscalCore.PrintRecItemPay((byte)PayType.Cash, "99.90", "НАЛИЧНЫМИ",callback);
2217 /// callback.Complete();
2218 /// IFiscalCore.CloseRec(callback);//закрытие документа
2219 /// callback.Complete();
2220 /// </code>
2221 /// </example>
2222 void ForcePrintForm(boolean printNextDocument, IExceptionCallback callback);
2223
2224 // **************************** Чтение статуса ФН ****************************
2225 /// <summary>
2226 /// <para><b>Чтение статуса ФН</b></para>
2227 /// <para>Вернуть систему налогообложения, указанную при регистрации, по номеру</para>
2228 /// </summary>
2229 /// <param name="regNum">номер регистрации</param>
2230 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2231 /// <returns>код системы налогообложения, указанной при регистрации</returns>
2232 /// <seealso cref="com.multisoft.drivers.fiscalcore.TaxCode"/>
2234
2235 /// <summary>
2236 /// <para><b>Чтение статуса ФН</b></para>
2237 /// <para>Вернуть режим работы, указанный при регистрации, по номеру</para>
2238 /// </summary>
2239 /// <param name="regNum">номер регистрации</param>
2240 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2241 /// <returns>режим работы, указанный при регистрации</returns>
2242 /// <seealso cref="com.multisoft.drivers.fiscalcore.OperatingMode"/>
2243 int FNGetOpModeByNum(int regNum, IExceptionCallback callback);
2244
2245 // **************************** Состояние смены ****************************
2246 /// <summary>
2247 /// <para><b>Состояние смены: отчёты</b></para>
2248 /// Запрос суммы оплат с учетом остатка на начало смены по типу счётчика
2249 /// </summary>
2250 /// <param name="counterType">тип счётчика</param>
2251 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2252 /// <returns>сумма по счётчику</returns>
2253 /// <seealso cref="com.multisoft.drivers.fiscalcore.Counter"/>
2254 String GetPayTotal(int counterType, IExceptionCallback callback);
2255
2256 // **************************** Чек ****************************
2257 /// <summary>
2258 /// <para><b>Чек</b></para>
2259 /// <para>Вывести на печать штрих-код.</para>
2260 /// <para>Ограничения на количество символов:</para>
2261 /// <para>Code39: до 13 символов</para>
2262 /// <para>Code93: до 16 символов</para>
2263 /// <para>Code128: до 15 символов</para>
2264 /// <para>Ean8: 8 цифр</para>
2265 /// <para>Ean13: 13 цифр</para>
2266 /// <para>ITF чётное, от 6 до 18 символов</para>
2267 /// <para>Codebar до 18 символов</para>
2268 /// </summary>
2269 /// <param name="type">тип штрих-кода BarCode</param>
2270 /// <param name="align">выравнивание Align, вне зависимости от передаваемого значения будет выполнено выравнивание по левому краю (1.7.27)</param>
2271 /// <param name="value">строка - контент</param>
2272 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2273 /// <seealso cref="com.multisoft.drivers.fiscalcore.BarCode"/>
2274 /// <seealso cref="com.multisoft.drivers.fiscalcore.Align"/>
2275 void PrintBarCode(int type, int align, String value, IExceptionCallback callback);
2276
2277 /// <summary>
2278 /// <para><b>Чек</b></para>
2279 /// Протяжка чековой ленты на count строк, если count > 0, иначе протяжка по умолчанию. Выполняется при открытом документе.
2280 /// </summary>
2281 /// <param name="count">количество строк для протяжки</param>
2282 /// <param name="callback"></param>
2283 void Feed(int count, IExceptionCallback callback);
2284
2285 /// <summary>
2286 /// <para><b>Чек</b></para>
2287 /// <para>Установка атрибутов тега по номеру.</para>
2288 /// <para>Значения по умолчанию см. com.multisoft.drivers.fiscalcore.Tag.</para>
2289 /// <para> Тег (tag) com.multisoft.drivers.fiscalcore.Tag.ExciseTag устанавливается до вызова IFiscalCore.Register / IFiscalCore.CorrectRegistration</para>
2290 /// <para> Остальные теги устанавливаются до вызова IFiscalCore.PrintRecItem</para>
2291 /// <para>Для каждой позиции чека функцию IFiscalCore.SetTagAttribute нужно вызывать снова до IFiscalCore.PrintRecItem, в составе которой необходимо передать соответствующий тег.</para>
2292 /// <para>Валидация тегов, относящихся к признаку агента, относительно их совместимости со значением тега 1222 отсутствует.</para>
2293 /// <para>Печатная форма тега 1162 зависит от действующих на данный момент форматов фискальных данных.</para>
2294 /// </summary>
2295 /// <param name="tag">номер тега com.multisoft.drivers.fiscalcore.Tag</param>
2296 /// <param name="value">строковое представление данных тега.</param>
2297 /// <seealso cref="com.multisoft.drivers.fiscalcore.Tag"/>
2298 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2299 void SetTagAttribute(int tag, String value, IExceptionCallback callback);
2300
2301 /// <summary>
2302 /// <para><b>Чтение статуса ФН</b></para>
2303 /// Запрос ФД документа о (пере)регистрации по её порядковому номеру
2304 /// </summary>
2305 /// <param name="regNum">порядковый номер (пере)регистрации</param>
2306 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2307 /// <returns>номер ФД (пере)регистрации</returns>
2308 int FNGetRegFDByNum(int regNum, IExceptionCallback callback);
2309
2310 /// <summary>
2311 /// <para><b>Статус ККТ</b></para>
2312 /// Запрос сменных счётчиков по типам документов и оплат
2313 /// </summary>
2314 /// <param name="docType">счётчик - тип документа. поддерживаются: Counter.SELL, Counter.SELL_REFUND, Counter.BUY, Counter.BUY_REFUND, Counter.PAID_IN, Counter.PAID_OUT</param>
2315 /// <param name="payType">счётчик - тип оплаты. поддерживаются Counter.CASH, Counter.CARD, Counter.BANK, Counter.TARE, Counter.VOUCHER</param>
2316 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2317 /// <returns>сумма за смену по указанным счётчикам</returns>
2318 /// <seealso cref="com.multisoft.drivers.fiscalcore.Counter"/>
2319 String GetDayPayTotalByDocType(int docType, int payType, IExceptionCallback callback);
2320
2321 /// <summary>
2322 /// <para><b>Итог</b></para>
2323 /// Возвращает сумму оплат (PrintRecItemPay) открытого чека по её типу. Для контроля PrintRecItemPay
2324 /// </summary>
2325 /// <param name="payType">тип оплаты. поддерживается Counter.CASH, Counter.CARD, Counter.BANK, Counter.TARE, Counter.VOUCHER</param>
2326 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2327 /// <returns>строка - сумма оплат</returns>
2328 /// <seealso cref="IFiscalCore.PrintRecItemPay"/>
2329 /// <seealso cref="com.multisoft.drivers.fiscalcore.Counter"/>
2330 String GetRecPayTotal(int payType, IExceptionCallback callback);
2331
2332 /// <summary>
2333 /// <para><b>Сервисные команды</b></para>
2334 /// <para>Выполняет сброс подключенного ФН, если он - отладочный.</para>
2335 /// <para>Если ФН не отладочный, возвращается ошибка com.multisoft.drivers.fiscalcore.ErrorCode.WrongStatus com.multisoft.drivers.fiscalcore.ExtStatusErr.Common</para>
2336 /// </summary>
2337 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2339
2340 /// <summary>
2341 /// <para><b>Работа с архивом ФН</b></para>
2342 /// <para>Запрос ФП документа, выбранного с помощью IFiscalCore.QueryFiscalDocInfo</para>
2343 /// </summary>
2344 /// <returns>ФП документа</returns>
2346
2347 /// <summary>
2348 /// <para><b>Работа с архивом ФН</b></para>
2349 /// <para>Запрос даты документа, выбранного ранее с помощью IFiscalCore.QueryFiscalDocInfo</para>
2350 /// </summary>
2351 /// <returns>дата в формате "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"</returns>
2352 String FDI_GetDate();
2353
2354 /// <summary>
2355 /// <para><b>Работа с архивом ФН</b></para>
2356 /// <para><b>deprecated</b> так как ФН в процессе работы удаляет данные о TLV.</para>
2357 /// <para><b>Для вычитывания значения тегов в документах регистрации необходимо использовать IFiscalCore.GetRegistrationParameter</b></para>
2358 /// <para>Запрос TLV документа, выбранного с помощью IFiscalCore.QueryFiscalDocInfo</para>
2359 /// <para>Возвращает строку массивом TLV документа в формате JSON.</para>
2360 /// <para><b>TLV</b> пеердаётся как <b>{"Tag":%номер%,"Val":"%значение%"}</b></para>
2361 /// <para>%<b>номер</b>% - целочисленный номер тега (без символов %);</para>
2362 /// <para>%<b>значение</b>% - значение тега(без символов %);</para>
2363 /// <para><b>Регистры битов (1055, 1057)</b> передаются числом (int);</para>
2364 /// <para><b>ФПД (1077)</b> передаётся в виде строки "ЦЦЦЦЦЦЦЦЦЦ", как в печатной форме;</para>
2365 /// <para><b>ФПО (1078)</b> - в виде строки с шестнадцатеричным представлением данных, как в печатной форме;</para>
2366 /// <para>Остальные <b>byte, UInt32, UInt16</b> передаются числом (int);</para>
2367 /// <para><b>UnixTime</b> - в формате "ДД.ММ.ГГ ЧЧ:ММ";</para>
2368 /// <para><b>суммовые (VLN, FVLN)</b> - в виде строки; строковые - без изменений;</para>
2369 /// <para><b>Код товарной номенклатуры (1162)</b> - в виде строки;</para>
2370 /// <para><b>STLV</b> передаются как TLV с тегом и массивом TLV вместо значения (Val).</para>
2371 /// <example>
2372 /// <code>
2373 /// //Предмет расчёта (1059) является STLV и передаётся следующим образом:
2374 /// {"Tag":1059,"Val":[{"Tag":1030,"Val":"Товар"},{"Tag":1079,"Val":"1.11"},{"Tag":1023,"Val":"1.00"},{"Tag":1199,"Val":1},{"Tag":1043,"Val":"1.11"}]}
2375 /// </code>
2376 /// </example>
2377 /// </summary>
2378 /// <returns>Массив TLV и STLV документа в JSON</returns>
2379 /// <seealso cref="IFiscalCore.QueryFiscalDocInfo"/>
2381
2382 /// <summary>
2383 /// <para><b>Сервисные команды</b></para>
2384 /// <para>Управление логгером</para>
2385 /// <para>Rotate - выполняет принудительную ротацию лога. Запускает фоновый процесс по архиввации логов.</para>
2386 /// <para>UploadToSD - выполняет копирование текущего лога на карту памяти, а также выгрузку всех ранее созданных архивов.</para>
2387 /// <para>Если после Rotate сразу вызвать UploadToSD, вторая команда будет выполнена после окончания работы первой.</para>
2388 /// <para>Самые ранние архивы удаляются, пока суммарный объём логов c архивом больше 200МБ и количество архивов больше 2.</para>
2389 /// </summary>
2390 /// <param name="loggerCommand">код команды</param>
2391 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2392 /// <seealso cref="com.multisoft.drivers.fiscalcore.LoggerCommand"/>
2393 void LoggerControl(int loggerCommand, IExceptionCallback callback);
2394
2395 /// <summary>
2396 /// <para><b>Чек</b></para>
2397 /// <para>Установить признак агента (1057).</para>
2398 /// <para>Для изменения признака агента в чеке вызывается до его (чека) открытия.</para>
2399 /// <para>Нужна при формировании чеков, если ККТ зарегистрирована с 1 и более признаками агента</para>
2400 /// <para>Не является опцией. Действует с момента первого вызова до переинициализации, либо до повторного вызова</para>
2401 /// </summary>
2402 /// <param name="agent">используемый признак агента</param>
2403 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2404 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
2405 void SetAgentTagUsing(int agent, IExceptionCallback callback);
2406
2407 /// <summary>
2408 /// <para><b>Чтение статуса ФН</b></para>
2409 /// <para>Запрос признака агента из ФН</para>
2410 /// <para>Нужна при формировании чеков, если ККТ зарегистрирована с 1 и более признаками агента</para>
2411 /// </summary>
2412 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2413 /// <returns>Признак агента, указанный при (пере)регистрации</returns>
2414 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
2415 /// <example>
2416 /// <code>
2417 /// //пример выбора признака агента перед открытием чека
2418 /// agent = IFiscalCore.GetAgentTag(callback);
2419 /// if(agentUsing & agent != 0)
2420 /// {
2421 /// IFiscalCore.SetAgentTagUsing(agentUsing, callback);
2422 /// callback.Complete();
2423 /// IFiscalCore.OpenRec((int)RecType.Sell, callback);
2424 /// callback.Complete();
2425 /// </code>
2426 /// </example>
2428
2429 /// <summary>
2430 /// <para><b>Чек</b></para>
2431 /// <para>Настройка шрифта, по умолчанию 0.</para>
2432 /// <para>К-во символов в строке настраивается автоматически.</para>
2433 /// <para>Значение сбрасывается в дефолт после переинициализации ФЯ, в т.ч. после выполнения IFiscalCore.SelfTest и IFiscalCore.SaveOptions.</para>
2434 /// <para>Использовать с осторожностью. При больших значениях РН ККТ и номер ФН не умещаются в 1 строку.</para>
2435 /// <para>Допускается менять текст перед любыми командами печати.</para>
2436 /// <para>После применения обязательно устанавливать значение по умолчанию (0).</para>
2437 /// </summary>
2438 /// <param name="fontSize">Размер шрифта. Стандартный размер - 0. Для P1, V1 разрешены значения от 0 до 22. Для T1mini80 - от 0 до 28.</param>
2439 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2440 void SetFont(int fontSize, IExceptionCallback callback);
2441
2442 /// <summary>
2443 /// <para><b>Чек</b></para>
2444 /// <para>Печать растровых изображений.</para>
2445 /// <para>для V1, P1: не более 384 пикселя в ширину</para>
2446 /// </summary>
2447 /// <param name="rawFileData">массив байт файла с изображением</param>
2448 void PrintRaster(in byte[] rawFileData, IExceptionCallback callback);
2449
2450 /// <summary>
2451 /// <para><b>Чек</b></para>
2452 /// <para>Печать текста с переводом строки.</para>
2453 /// </summary>
2454 /// <param name="left">строка текста для печати слева</param>
2455 /// <param name="right">строка текста для печати справа</param>
2456 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2457 /// <seealso cref="com.multisoft.drivers.fiscalcore.Align"/>
2458 void PrintLineAligned(String left, String right, IExceptionCallback callback);
2459
2460 /// <summary>
2461 /// <para><b>Чек коррекции</b></para>
2462 /// <para>Установить суммовые налоги в чеке коррекции.</para>
2463 /// <para>i-элементу в массиве номеров налогов соответствует i-элемент массива сумм налогов</para>
2464 /// </summary>
2465 /// <param name="taxNum">массив номеров налогов</param>
2466 /// <param name="taxSum">массив сумм налогов</param>
2467 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2468 /// <seealso cref="com.multisoft.drivers.fiscalcore.TaxNum"/>
2469 /// <example>
2470 /// <code>
2471 /// IFiscalCore.SetUserName(cashier,callback);
2472 /// IFiscalCore.SetTaxationUsing(TaxCode.Common,callback);
2473 /// callback.Complete();
2474 /// IFiscalCore.OpenRec(RecType.CorrectionReceipt,callback);
2475 /// callback.Complete();
2476 /// string docName = "01.02.2017 не сформирован и не выдан кассовый чек";
2477 /// string docNum = "32";
2478 /// string docDate = "2017-02-28T19:12:03.000Z";
2479 /// int[] taxNum = new[] {(int)TaxNum._10, (int)TaxNum._18_118};
2480 /// string[] taxSum = new[] {"1.23", "2.13"};
2481 /// IFiscalCore.SetSumTaxes(taxNum,taxSum,callback);
2482 /// callback.Complete();
2483 /// IFiscalCore.FNMakeCorrectionRec((int)OperationType.Sell,"10","0","0.00","0.00","0.05",(int)TaxNum._18,(int)CorrectionRecType.Independent,docName,docDate,docNum,callback);
2484 /// callback.Complete();
2485 /// IFiscalCore.CloseRec(callback);
2486 /// callback.Complete();
2487 /// </code>
2488 /// </example>
2489 void SetSumTaxes(in int[] taxNum, in String[] taxSum, IExceptionCallback callback);
2490
2491 /// <summary>
2492 /// <para><b>Временные настройки</b></para>
2493 /// <para>Настройка печатной формы тегов</para>
2494 /// <para>Необходимо выполнять после IFiscalCore.SetTagAttribute и перед вызовом IFiscalCore.PrintRecItem</para>
2495 /// <para>Не имеет смысла без IFiscalCore.SetTagAttribute с параметром, отличным от дефолтного.</para>
2496 /// <para>Значения по умолчанию см. com.multisoft.drivers.fiscalcore.Tag.</para>
2497 /// <para>После вызова IFiscalCore.PrintRecItem значение сбрасывается в дефолт.</para>
2498 /// </summary>
2499 /// <param name="tag">номер тега. в 1.12.37 поддерживается только 1212</param>
2500 /// <param name="printForm">Печатная форма тега. com.multisoft.drivers.fiscalcore.TagPrintForm</param>
2501 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2502 /// <seealso cref="com.multisoft.drivers.fiscalcore.Tag"/>
2503 /// <seealso cref="com.multisoft.drivers.fiscalcore.TagPrintForm"/>
2504 /// <seealso cref="IFiscalCore.SetTagAttribute"/>
2505 void SetTagPrintForm(int tag, int printForm, IExceptionCallback callback);
2506
2507 /// <summary>
2508 /// <para><b>Временные настройки</b></para>
2509 /// <para>Преобразует входную строку в дату и время методом DateTime.Parse()</para>
2510 /// <para>Устанавливает фиксированную дату и время в фискальном ядре.</para>
2511 /// <para>Только для нефискального режима, либо при подключенном МГМ ФН.</para>
2512 /// </summary>
2513 /// <param name="dateTime">строка с датой и временем</param>
2514 void FreezeDateTime(String dateTime, IExceptionCallback callback);
2515
2516 /// <summary>
2517 /// <para><b>Временные настройки</b></para>
2518 /// <para>Восстанавливает системные дату и время в фискальном ядре</para>
2519 /// </summary>
2521
2522 /// <summary>
2523 /// <para><b>Итог</b></para>
2524 /// <para>Печать итога с округлением до рубля.</para>
2525 /// <para>Используется вместо PrintRecTotal.</para>
2526 /// <para>Допускается округлять итог в меньшую сторону до целого значения итога рублях.</para>
2527 /// </summary>
2528 /// <param name="total">желаемая сумма итога</param>
2529 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2530 /// <seealso cref="PrintRecTotal"/>
2531 void PrintRecTotalRound(String total, IExceptionCallback callback);
2532
2533 /// <summary>
2534 /// <para><b>Статус ККТ</b></para>
2535 /// <para>Получение статуса фискализации ККТ в фискальной памяти (ФП).</para>
2536 /// <para>До регистрации ФП не фискализирована.</para>
2537 /// <para>После первой и последующей регистраций ФП фискализирована.</para>
2538 /// <para>При клонировании ФП не фискализирована.</para>
2539 /// </summary>
2540 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2541 /// <returns>true - фискальная память фискализирована, false - нет или ошибка</returns>
2542 /// <seealso cref="GetSerial"/>
2544
2545 /// <summary>
2546 /// <para><b>Чек</b></para>
2547 /// <para>Подать сигнал на открытие денежного ящика (ДЯ), если присутствует.</para>
2548 /// <para>Если ДЯ отсутствует, коллбек об ошибке не вызывается.</para>
2549 /// </summary>
2550 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2552
2553 /// <summary>
2554 /// <para><b>Чек</b></para>
2555 /// <para>Принудительная установка ширины ленты.</para>
2556 /// <para>Только для MSPOS-Т-Ф с 80й лентой. В процессе работы ФЯ переинициализируется.</para>
2557 /// </summary>
2558 /// <param name="narrowWide">true - узкая, false - широкая</param>
2559 /// <param name="callback">функция обратного вызова для передачи информации об ошибке.</param>
2560 void SetPaperWidth(boolean narrowWide, IExceptionCallback callback);
2561
2562 /// <summary>
2563 /// <para><b>Чек</b></para>
2564 /// <para>Установка атрибутов тега по номеру.</para>
2565 /// <para>Значения по умолчанию см. com.multisoft.drivers.fiscalcore.Tag.</para>
2566 /// <para>Поддерживается только Tag.CommodityCode - 1162.</para>
2567 /// <para>Печатная форма тега 1162 зависит от действующих на данный момент форматов фискальных данных.</para>
2568 /// <para>В этом случае невозможно сформировать печатную форму, идентичную электронной.</para>
2569 /// <para>1162 устанавливается только одной из функций SetTagByteAttribute или SetTagAttribute.</para>
2570 /// <para>Установка одного и того же тега одновременно SetTagAttribute и SetTagByteAttribute недопустимо.</para>
2571 /// </summary>
2572 /// <param name="tag">номер тега</param>
2573 /// <param name="value">значение в виде массива байт. null недопустим.</param>
2574 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2575 void SetTagByteAttribute(int tag, in byte[] value, IExceptionCallback callback);
2576
2577 /// <summary>
2578 /// <para><b>Статус ККТ</b></para>
2579 /// Запрос счётчиков накоплений на начало смены по типу счётчика
2580 /// </summary>
2581 /// <param name="counter">тип счётчика. Поддерживаются SELL, SELL_REFUND, BUY, BUY_REFUND </param>
2582 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2583 /// <returns>Строковое значение счётчика.</returns>
2584 /// <seealso cref="com.multisoft.drivers.fiscalcore.Counter"/>
2585 String GetGrandTotalsSalesGross(int counter, IExceptionCallback callback);
2586
2587 /// <summary>
2588 /// <para><b>Работа с архивом ФН</b></para>
2589 /// <para>Запрос значения тега по его номеру и номеру документа о (пере)регистрации</para>
2590 /// <para>Рекомендуется использовать вместо IFiscalCore.FDI_GetDocJSON</para>
2591 /// </summary>
2592 /// <param name="regNum">номер регистрации в ФН</param>
2593 /// <param name="tlvNum">номер тега</param>
2594 /// <param name="callback">функция обратного вызова для передачи информации об ошибке.</param>
2595 /// <returns>значение тега из TLV, приведённое к строке</returns>
2596 /// <seealso cref="IFiscalCore.FDI_GetDocJSON"/>
2597 String GetRegistrationParameter(int regNum, int tlvNum, IExceptionCallback callback);
2598
2599 /// <summary>
2600 /// <para><b>Установка основных настроек</b></para>
2601 /// <para>Установить настройку форматно-логического контроля (ФЛК) TLV</para>
2602 /// <para>Значение по умолчанию - false (выкл.)</para>
2603 /// </summary>
2604 /// <param name="newValue">true - контроль вкл, false - выкл.</param>
2605 void SetFLC(boolean newValue);
2606
2607 /// <summary>
2608 /// <para><b>Установка основных настроек</b></para>
2609 /// <para>Получить значение настройки форматно-логического контроля (ФЛК) TLV</para>
2610 /// <para>Значение по умолчанию - false (выкл.)</para>
2611 /// </summary>
2612 /// <returns>true - контроль вкл, false - выкл.</returns>
2613 boolean GetFLC();
2614
2615 /// <summary>
2616 /// <para><b>Чек</b></para>
2617 /// <para>Установка компактного режима печати</para>
2618 /// <para>Normal - (0) обычный режим. Построчная печать.</para>
2619 /// <para>Compact - (1) компактный режим. Печать QR, огибающего текст.</para>
2620 /// </summary>
2621 /// <param name="newValue">код режима</param>
2622 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2623 void SetCompactMode(int newValue, IExceptionCallback callback);
2624
2625 /// <summary>
2626 /// <para><b>Чек</b></para>
2627 /// <para>Получить режим компактной печати</para>
2628 /// </summary>
2629 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2630 /// <returns>Режим компактной печати</returns>
2632
2633 /// <summary>
2634 /// <para><b>Чек</b></para>
2635 /// <para>Печать копии последнего документа</para>
2636 /// </summary>
2637 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2638 /// <returns>true - копия напечалась, false - ошибка</returns>
2640
2641 /// <summary>
2642 /// <para><b>Чек</b></para>
2643 /// <para>Получить строку QR-кода из последнего фискального документа</para>
2644 /// </summary>
2645 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2646 /// <returns>Строка QR-кода</returns>
2648
2649 /// <summary>
2650 /// <para><b>Регистрация</b></para>
2651 /// <para>Регистрация (первоначальная регистрация) по ФФД 1.1. Выполняется 1 раз за всё время жизни ФН.</para>
2652 /// <para>В режиме ЧПМ в качестве параметров необходимо передать корректный ИНН, имя кассира и reg_num, остальные параметры не влияют на результат выполнения.</para>
2653 /// </summary>
2654 /// <param name="cashier">строка - имя и номер кассира</param>
2655 /// <param name="inn">строка - ИНН пользователя при регистрации</param>
2656 /// <param name="reg_num">строка - регистрационный номер ККТ. В режиме ЧПМ - является паролем налогового инспектора: передавать "00000".</param>
2657 /// <param name="tax">байт - код системы налогообложения - битовая маска TaxCode.
2658 /// Поддеживаемый тип налогов устанавливает соответствующий бит в байте.
2659 /// Для корректной работы необходимо установить хотя бы один бит в 1.</param>
2660 /// <param name="op_mode">байт - код режима работы - битовая маска OperatingMode.
2661 /// Поддеживаемый режим работы устанавливает соответствующий бит в байте.
2662 /// Может принимать значение 0.</param>
2663 /// <param name="gambling">true или false - признак проведения азартных игр</param>
2664 /// <param name="lottery">true или false - признак проведения лотереи</param>
2665 /// <param name="agent">байт - код платёжного агента - битовая маска AgentTag.
2666 /// Поддеживаемый код платёжного агента устанавливает соответствующий бит в байте.
2667 /// Может принимать значение 0.</param>
2668 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2669 /// <seealso cref="com.multisoft.drivers.fiscalcore.TaxCode"/>
2670 /// <seealso cref="com.multisoft.drivers.fiscalcore.OperatingMode"/>
2671 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
2672 /// <example>
2673 /// <code>
2674 /// //команды настройки полей:
2675 /// String regnum = RegNumTextBox.Text;
2676 /// // ... Формирование РНМ ККТ происходит на стороне ФНС России:
2677 /// // базовый РНМ дополняется лидирующими нулями до длины строки в 10 символов,
2678 /// // затем вычисляется и добавляется контрольная сумма (6 символов).
2679 /// //настройка системы налогообложения
2680 /// int tax = TaxCode.Common + TaxCode.SimplifiedWithExpense + TaxCode.ENVD;
2681 /// //настройка режима работы:
2682 /// int opmode = OperatingMode.Service + OperatingMode.Encryption;
2683 /// //настройка агента:
2684 /// int agent = AgentTag.BankPayAgent + AgentTag.BankPaySubAgent;//установлены 1й и 2й биты
2685 /// //регистрация:
2686 /// IFiscalCore.Register1_1(cashierTextBox.Text, "1234567890", regnum, tax, opmode, false, false, agent, callback);
2687 /// callback.Complete();
2688 /// </code>
2689 /// </example>
2690 void Register1_1(String cashier, String inn, String reg_num, int tax, int op_mode, boolean gambling, boolean lottery, int agent, IExceptionCallback callback);
2691
2692 /// <summary>
2693 /// <para><b>Регистрация</b></para>
2694 /// Исправление регистрации || Перерегистрация, ФФД 1.1
2695 /// </summary>
2696 /// <param name="kktReRegCode">причина перерегистрации RegParamsChangeCode</param>
2697 /// <param name="inn">строка - ИНН пользователя при регистрации</param>
2698 /// <param name="reg_num">строка - регистрационный номер ККТ</param>
2699 /// <param name="tax_code">байт - код системы налогообложения - битовая маска TaxCode.
2700 /// Поддеживаемый тип налогов устанавливает соответствующий бит в байте.
2701 /// Для корректной работы необходимо установить хотя бы один бит в 1.</param>
2702 /// <param name="opmode">байт - код режима работы - битовая маска OperatingMode.
2703 /// Поддеживаемый режим работы устанавливает соответствующий бит в байте.
2704 /// Может принимать значение 0.</param>
2705 /// <param name="gambling">true или false - признак проведения азартных игр</param>
2706 /// <param name="lottery">true или false - признак проведения лотереи</param>
2707 /// <param name="agent">байт - код платёжного агента - битовая маска AgentTag.
2708 /// Поддеживаемый код платёжного агента устанавливает соответствующий бит в байте.
2709 /// Может принимать значение 0.</param>
2710 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2711 /// <seealso cref="com.multisoft.drivers.fiscalcore.RegParamsChangeCode"/>
2712 /// <seealso cref="com.multisoft.drivers.fiscalcore.TaxCode"/>
2713 /// <seealso cref="com.multisoft.drivers.fiscalcore.OperatingMode"/>
2714 /// <seealso cref="com.multisoft.drivers.fiscalcore.AgentTag"/>
2715 /// <example>
2716 /// <code>
2717 /// kktReRegCode = (int)RegParamsChangeCode.UsernameChanged;
2718 /// kktRegNum = regNumTextBox.Text;
2719 /// tax = TaxCode.Common + TaxCode.SimplifiedWithExpense + TaxCode.ENVD;
2720 /// opMode = OperatingMode.Service + OperatingMode.Encryption;
2721 /// agentTag = AgentTag.BankPayAgent + AgentTag.BankPaySubAgent;
2722 /// IFiscalCore.CorrectRegistration1_1(kktReRegCode, "Иванов И.И", "1234567890", kktRegNum, (int)opMode, tax, false, false, agentTag, callback);
2723 /// callback.Complete();
2724 /// </code>
2725 /// </example>
2726 void CorrectRegistration1_1(int kktReRegCode, String cashier, String inn, String reg_num, int tax_code, int op_mode,boolean gambling, boolean lottery, int agent, IExceptionCallback callback);
2727
2728 /// <summary>
2729 /// <para><b>Чек коррекции</b></para>
2730 /// <para>Добавление позиции коррекции, ффд 1.1, 1.2</para>
2731 /// </summary>
2732 /// <param name="correctionType">тип коррекци com.multisoft.drivers.fiscalcore.CorrectionRecType</param>
2733 /// <param name="docDate">строка, дата документа основания документа в формате "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"</param>
2734 /// <param name="docNum">строка, номер документа основания</param>
2735 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2736 /// <seealso cref="com.multisoft.drivers.fiscalcore.CorrectionRecType"/>
2737 /// <example>
2738 /// работа с чеком коррекции:
2739 /// <code>
2740 /// IFiscalCore.SetUserName(cashier,callback);
2741 /// IFiscalCore.SetTaxationUsing(TaxCode.Common,callback);
2742 /// callback.Complete();
2743 /// IFiscalCore.OpenRec(RecType.SellCorrection,callback);
2744 /// callback.Complete();
2745 /// IFiscalCore.SetItemTaxes((int)TaxNum._20,callback);//без ндс
2746 /// callback.Complete();
2747 /// IFiscalCore.SetShowTaxes(true,callback);
2748 /// callback.Complete();
2749 /// IFiscalCore.SetTagAttribute((int)Tag.ItemProperty, "1", callback); // Товар
2750 /// callback.Complete();
2751 /// IFiscalCore.SetTagAttribute((int)Tag.PaymentProperty, "1", callback); // Предоплата 100%
2752 /// callback.Complete();
2753 /// IFiscalCore.PrintRecItem("1", "100", "товар", "артикул", callback);
2754 /// callback.Complete();
2755 /// string docNum = "32";
2756 /// string docDate = "2020-02-28T19:12:03.000Z";
2757 /// IFiscalCore.AddCorrectionRecItem1_1((int)CorrectionRecType.Independent, docDate, docNum, IExceptionCallback callback);
2758 /// callback.Complete();
2759 /// IFiscalCore.PrintRecTotal(callback);//печать итога
2760 /// callback.Complete();
2761 /// IFiscalCore.PrintRecItemPay((int)PayType.Cash, "100", "НАЛИЧНЫМИ",callback);
2762 /// callback.Complete();
2763 /// IFiscalCore.CloseRec(callback);//закрытие документа
2764 /// callback.Complete();
2765 /// </code>
2766 /// </example>
2767 void AddCorrectionRecItem1_1(int correctionType, String docDate, String docNum, IExceptionCallback callback);
2768
2769 /// <summary>
2770 /// <para><b>Режим рассылки оповещений</b></para>
2771 /// <para>Включение режима рассылки широковещательных оповещений (по-умолчанию режим отключен)</para>
2772 /// </summary>
2773 /// <param name="broadcastOn">true/false - включить/отключить режим широковещательных оповещений</param>
2774 // Чтобы при следующей загрузке ядра настройки были применены, их нужно сохранить функцией IFiscalCore.SaveOptions()
2775 void SetBroadcastMode(boolean broadcastOn, IExceptionCallback callback);
2776
2777 /// <summary>
2778 /// <para><b>Режим рассылки оповещений</b></para>
2779 /// <para>Возвращает состояние режима рассылки широковещательных оповещений</para>
2780 /// </summary>
2781 /// <returns>(true - включен, false - отключен)</returns>
2783
2784 /// <summary>
2785 /// <para><b>Временные настройки</b></para>
2786 /// <para>Получить текущее имя кассира.</para>
2787 /// <para>Не является опцией.</para>
2788 /// </summary>
2789 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2790 /// <returns>строка - имя и номер кассира</returns>
2791 /// <example>
2792 /// <code>
2793 /// String cashierName = IFiscalCore.GetUserName(callback);
2794 /// callback.Complete();
2795 /// </code>
2796 /// </example>
2798
2799 /// <summary>
2800 /// <para><b>Чтение статуса ФН</b></para>
2801 /// Запрос кода версии ФФД которую может поддерживать ФН
2802 /// </summary>
2803 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2804 /// <returns>код версии ФФД которую может поддерживать ФН</returns>
2805 /// <example>
2806 /// <code>
2807 /// int fnFfdVersion = core.FNGetFnFfdVersion(callback);
2808 /// callback.Complete();
2809 /// </code>
2810 /// </example>
2812
2813 /// <summary>
2814 /// <para><b>Регистрация</b></para>
2815 /// <para>Закрытие архива ФН с указанием даты и времени. Необратимая для пользователя операция.</para>
2816 /// <para>После выполнения работа с ФН невозможна до следующей регистрации.</para>
2817 /// </summary>
2818 /// <param name="datetime">дата и время в формате "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"</param>
2819 /// <param name="fnNum">номер фн</param>
2820 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2821 /// <example>
2822 /// <code>
2823 /// string docDate = "2020-02-28T19:12:03.000Z";
2824 /// IFiscalCore.CloseFiscalModeWithDateTime(docDate, "9999078900000001", callback);
2825 /// callback.Complete();
2826 /// </code>
2827 /// </example>
2828 void CloseFiscalModeWithDateTime(String datetime, String fnNum, IExceptionCallback callback);
2829
2830 /// <summary>
2831 /// <para><b>Смена</b></para>
2832 /// Напечатать Z-отчёт и закрыть смену с указанием даты и времени
2833 /// </summary>
2834 /// <param name="datetime">дата и время в формате "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"</param>
2835 /// <param name="cashier">имя и номер кассира</param>
2836 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2837 /// <example>
2838 /// <code>
2839 /// string docDate = "2020-02-28T19:12:03.000Z";
2840 /// IFiscalCore.CloseDayWithDateTime("Иванов И.И", docDate, callback);
2841 /// callback.Complete();
2842 /// </code>
2843 /// </example>
2844 void CloseDayWithDateTime(String cashier, String datetime, IExceptionCallback callback);
2845
2846 /// <summary>
2847 /// <para><b>Регистрация</b></para>
2848 /// <para>Регистрация (первоначальная регистрация) по ФФД 1.2. Выполняется 1 раз за всё время жизни ФН.</para>
2849 /// </summary>
2850 /// <param name="cashier">строка - имя и номер кассира</param>
2851 /// <param name="inn">строка - ИНН пользователя при регистрации</param>
2852 /// <param name="reg_num">строка - регистрационный номер ККТ. В режиме ЧПМ - является паролем налогового инспектора: передавать "00000".</param>
2853 /// <param name="tax">байт - код системы налогообложения - битовая маска TaxCode.
2854 /// Поддеживаемый тип налогов устанавливает соответствующий бит в байте.
2855 /// Для корректной работы необходимо установить хотя бы один бит в 1.</param>
2856 /// <param name="op_mode">байт - код режима работы - битовая маска OperatingMode.
2857 /// Поддеживаемый режим работы устанавливает соответствующий бит в байте.
2858 /// Может принимать значение 0.</param>
2859 /// <param name="gambling">true или false - признак проведения азартных игр</param>
2860 /// <param name="lottery">true или false - признак проведения лотереи</param>
2861 /// <param name="excise">true или false - признак продажи подакцизного товара<</param>
2862 /// <param name="marking">true или false - признак работы с маркированными товарами</param>
2863 /// <param name="lombard">true или false - признак осуществления ломбардной деятельности</param>
2864 /// <param name="insurance">true или false - признак осуществления страховой деятельности</param>
2865 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2866 /// <seealso cref="com.multisoft.drivers.fiscalcore.TaxCode"/>
2867 /// <seealso cref="com.multisoft.drivers.fiscalcore.OperatingMode"/>
2868 /// <example>
2869 /// <code>
2870 /// //команды настройки полей:
2871 /// String regnum = RegNumTextBox.Text;
2872 /// // ... Формирование РНМ ККТ происходит на стороне ФНС России:
2873 /// // базовый РНМ дополняется лидирующими нулями до длины строки в 10 символов,
2874 /// // затем вычисляется и добавляется контрольная сумма (6 символов).
2875 /// //настройка системы налогообложения
2876 /// int tax = TaxCode.Common + TaxCode.SimplifiedWithExpense + TaxCode.ENVD;
2877 /// //настройка режима работы:
2878 /// int opmode = OperatingMode.Service + OperatingMode.Encryption;
2879 /// //регистрация:
2880 /// IFiscalCore.Register1_2(cashierTextBox.Text, "1234567890", regnum, tax, opmode, false, false, false, true, false, false, callback);
2881 /// callback.Complete();
2882 /// </code>
2883 /// </example>
2884 void Register1_2(String cashier, String inn, String reg_num, int tax, int op_mode, boolean gambling, boolean lottery, boolean excise, boolean marking, boolean lombard, boolean insurance, IExceptionCallback callback);
2885
2886 /// <summary>
2887 /// <para><b>Регистрация</b></para>
2888 /// Исправление регистрации || Перерегистрация, ФФД 1.2
2889 /// </summary>
2890 /// <param name="kktReRegCode">причина перерегистрации RegParamsChangeCode</param>
2891 /// <param name="cashier">строка - имя и номер кассира</param>
2892 /// <param name="inn">строка - ИНН пользователя при регистрации</param>
2893 /// <param name="reg_num">строка - регистрационный номер ККТ</param>
2894 /// <param name="tax_code">байт - код системы налогообложения - битовая маска TaxCode.
2895 /// Поддеживаемый тип налогов устанавливает соответствующий бит в байте.
2896 /// Для корректной работы необходимо установить хотя бы один бит в 1.</param>
2897 /// <param name="opmode">байт - код режима работы - битовая маска OperatingMode.
2898 /// Поддеживаемый режим работы устанавливает соответствующий бит в байте.
2899 /// Может принимать значение 0.</param>
2900 /// <param name="gambling">true или false - признак проведения азартных игр</param>
2901 /// <param name="lottery">true или false - признак проведения лотереи</param>
2902 /// <param name="excise">true или false - признак продажи подакцизного товара<</param>
2903 /// <param name="marking">true или false - признак работы с маркированными товарами</param>
2904 /// <param name="lombard">true или false - признак осуществления ломбардной деятельности</param>
2905 /// <param name="insurance">true или false - признак осуществления страховой деятельности</param>
2906 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2907 /// <seealso cref="com.multisoft.drivers.fiscalcore.RegParamsChangeCode"/>
2908 /// <seealso cref="com.multisoft.drivers.fiscalcore.TaxCode"/>
2909 /// <seealso cref="com.multisoft.drivers.fiscalcore.OperatingMode"/>
2910 /// <example>
2911 /// <code>
2912 /// kktReRegCode = (int)RegParamsChangeCode.UsernameChanged;
2913 /// kktRegNum = regNumTextBox.Text;
2914 /// tax = TaxCode.Common + TaxCode.SimplifiedWithExpense + TaxCode.ENVD;
2915 /// opMode = OperatingMode.Service + OperatingMode.Encryption;
2916 /// IFiscalCore.CorrectRegistration1_2(kktReRegCode, "Иванов И.И", "1234567890", kktRegNum, (int)opMode, tax, false, false, false, true, false, false, callback);
2917 /// callback.Complete();
2918 /// </code>
2919 /// </example>
2920 void CorrectRegistration1_2(int kktReRegCode, String cashier, String inn, String reg_num, int tax_code, int op_mode, boolean gambling, boolean lottery, boolean excise, boolean marking, boolean lombard, boolean insurance, IExceptionCallback callback);
2921
2922 /// <summary>
2923 /// <para><b>Чек</b></para>
2924 /// <para>Установка атрибутов тега STLV по номеру.</para>
2925 /// <param name="tag">Номер STLV</param>
2926 /// <param name="tlv">Номер TLV</param>
2927 /// <param name="value">Данные TLV/param>
2928 /// <example>
2929 /// <code>
2930 /// stlv = 1270;
2931 /// tlv = new int[] { 1271, 1272, 1273 };
2932 /// value = new string[] { "0", "1234", "2021-06-08T12:00:00.000Z" };
2933 /// IFiscalCore.SetSTLVTagAttribute(stlv, tlv, value, callback);
2934 /// callback.Complete();
2935 /// </code>
2936 /// </example>
2937 void SetSTLVTagAttribute(int tag, in int[] tlv, in String[] value, IExceptionCallback callback);
2938
2939 // **************************** Параметры ОИСМ ****************************
2940
2941 /// <summary>
2942 /// <para><b>Установка параметров ОИСМ</b></para>
2943 /// Установка адреса сервера ОИСМ для подключения
2944 /// </summary>
2945 /// <param name="host">сервер ОИСМ, например, "test.server.oism" или "11.2.222.11"</param>
2946 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2947 void SetOismHost(String host, IExceptionCallback callback);
2948
2949 /// <summary>
2950 /// <para><b>Запрос параметров ОИСМ</b></para>
2951 /// Запрос адреса сервера ОИСМ
2952 /// </summary>
2953 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2954 /// <returns>адрес сервера, например "test.server.oism" или "11.2.222.11"</returns>
2956
2957 /// <summary>
2958 /// <para><b>Установка параметров ОИСМ</b></para>
2959 /// Установка порта сервера ОИСМ для подключения
2960 /// </summary>
2961 /// <param name="port">порт, например 9999</param>
2962 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2963 void SetOismPort(int port, IExceptionCallback callback);
2964
2965 /// <summary>
2966 /// <para><b>Запрос параметров ОИСМ</b></para>
2967 /// Запрос порта ОИСМ
2968 /// </summary>
2969 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2970 /// <returns>порт сервера, например, 12345</returns>
2972
2973 // **************************************************************************
2974
2975 // **************************** Параметры АС ОКП ****************************
2976
2977 /// <summary>
2978 /// <para><b>Установка параметров АС ОКП</b></para>
2979 /// Установка адреса сервера АС ОКП для подключения
2980 /// </summary>
2981 /// <param name="host">сервер АСОКП, например, "test.server.a" или "11.2.222.11"</param>
2982 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2983 void SetKeyServerHost(String host, IExceptionCallback callback);
2984
2985 /// <summary>
2986 /// <para><b>Запрос параметров АС ОКП</b></para>
2987 /// Запрос адреса сервера АС ОКП
2988 /// </summary>
2989 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2990 /// <returns>адрес сервера, например "test.server.keyserver" или "11.2.222.11"</returns>
2992
2993 /// <summary>
2994 /// <para><b>Установка параметров АС ОКП</b></para>
2995 /// Установка порта сервера АС ОКП для подключения
2996 /// </summary>
2997 /// <param name="port">порт, например 9999</param>
2998 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
2999 void SetKeyServerPort(int port, IExceptionCallback callback);
3000
3001 /// <summary>
3002 /// <para><b>Запрос параметров АС ОКП</b></para>
3003 /// Запрос порта АС ОКП
3004 /// </summary>
3005 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3006 /// <returns>порт сервера, например, 12345</returns>
3008
3009 // **************************************************************************
3010
3011 // ******************************* Маркировка *******************************
3012
3013 /// <summary>
3014 /// <para><b>Маркировка</b></para>
3015 /// Передача маркировки на проверку в ФН
3016 /// </summary>
3017 /// <param name="code">Полное значение КМ, включая код проверки, без терминирующего 0, если он есть.</param>
3018 /// <param name="codeType">Тип кода маркировки соответствует значению реквизита ФФД «тип кода маркировки» (тег 2100).</param>
3019 /// <param name="offset91">Смещение в байтах от начала КМ до первого байта («39h») идентификатора применения GS1 «91», содержащего идентификатор ключа проверки КМ.</param>
3020 /// <param name="offset92">Смещение в байтах от начала КМ до первого байта («39h») идентификатора применения GS1 «92», содержащего идентификатор ключа проверки КМ.</param>
3021 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3022 /// <returns>массив байт, [0] - Результат проверки КМ в ФН (тег 2004), [1] - Причина того, что КМ не был проверен в ФН</returns>
3023 byte[] SendMarkupCodeFnCheck(String code, int codeType, int offset91, int offset92, IExceptionCallback callback);
3024
3025 /// <summary>
3026 /// <para><b>Маркировка</b></para>
3027 /// Передача маркировки на проверку в ОИСМ
3028 /// </summary>
3029 /// <param name="processingMode">Режим обработки кода маркировки (тег 2102)</param>
3030 /// <param name="plannedStatus">Планируемый статус товара (тег 2003)</param>
3031 /// <param name="count">Количество предметов расчёта (тег 1023)</param>
3032 /// <param name="measureUnit">Мера количества предмета расчёта (тег 2108)</param>
3033 /// <param name="numeratorFraction">Числитель реквизита дробное количество маркированного товара (тег 1293)</param>
3034 /// <param name="denominatorFraction">Знаменатель реквизита дробное количество маркированного товара (тег 1294)</param>
3035 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3036 void SendMarkupCodeOismCheck(int processingMode, int plannedStatus, String count, String measureUnit, String numeratorFraction, String denominatorFraction, IExceptionCallback callback);
3037
3038 /// <summary>
3039 /// <para><b>Маркировка</b></para>
3040 /// Сохранение результатов проверки КМ в ФН
3041 /// </summary>
3042 /// <param name="save">Состояние результата проверки КМ</param>
3043 /// <param name="callback">Функция обратного вызова для передачи информации об ошибке</param>
3044 /// <returns>Результат проверки сведений о товаре (тег 2106)</returns>
3046
3047 /// <summary>
3048 /// <para><b>Маркировка</b></para>
3049 /// Очистка всех результатов проверки КМ в ФН
3050 /// </summary>
3052
3053 /// <summary>
3054 /// <para><b>Маркировка</b></para>
3055 /// Ответ от ОИСМ
3056 /// </summary>
3057 /// <param name="callback">Функция обратного вызова для передачи информации об ошибке</param>
3058 /// <param name="oismCallback">Функция обратного вызова для получения результата проверки в ОИСМ</param>
3060
3061 /// <summary>
3062 /// <para><b>Статус ККТ</b></para>
3063 /// Запрос используемой версии ФФД
3064 /// </summary>
3065 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3066 /// <returns>код используемой версии ФФД</returns>
3067 /// <seealso cref="com.multisoft.drivers.fiscalcore.FfdVersion"/>
3068 /// <example>
3069 /// <code>
3070 /// int ffdVersion = core.GetCurrentFfdVersion(callback);
3071 /// callback.Complete();
3072 /// </code>
3073 /// </example>
3075
3076 /// <summary>
3077 /// <para><b>Статус ККТ</b></para>
3078 /// Запрос версии модели
3079 /// </summary>
3080 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3081 /// <returns>код версии модели ККТ</returns>
3082 /// <example>
3083 /// <code>
3084 /// String kktVersion = core.GetKktVersion(callback);
3085 /// callback.Complete();
3086 /// </code>
3087 /// </example>
3089
3090 /// <summary>
3091 /// <para><b>Статус ККТ</b></para>
3092 /// Запрос максимальной версии ФФД поддерживаемой ККТ
3093 /// </summary>
3094 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3095 /// <returns>код максимальной версии ФФД поддерживаемой ККТ</returns>
3096 /// <seealso cref="com.multisoft.drivers.fiscalcore.FfdVersion"/>
3097 /// <example>
3098 /// <code>
3099 /// int ffdVersion = core.GetKktFfdVersion(callback);
3100 /// callback.Complete();
3101 /// </code>
3102 /// </example>
3104
3105 /// <summary>
3106 /// <para><b>Установка дополнительных настроек</b></para>
3107 /// <para>Включение режима печати Z отчёта без внутренних счётчиков (по-умолчанию режим отключен)</para>
3108 /// </summary>
3109 /// <param name="printZReportWithoutInternalСounters">true/false - включить/отключить режим печати Z отчёта без внутренних счётчиков</param>
3110 // Чтобы при следующей загрузке ядра настройки были применены, их нужно сохранить функцией IFiscalCore.SaveOptions()
3111 void SetPrintZReportWithoutInternalCounters(boolean printZReportWithoutInternalCounters, IExceptionCallback callback);
3112
3113 /// <summary>
3114 /// <para><b>Запрос дополнительных настроек</b></para>
3115 /// <para>Возвращает состояние режима печати Z отчёта без внутренних счётчиков</para>
3116 /// </summary>
3117 /// <returns>(true - включен, false - отключен)</returns>
3119
3120 /// <summary>
3121 /// <para><b>Установка дополнительных настроек</b></para>
3122 /// <para>Включение режима отключения печати автотеста (по-умолчанию печать автотеста включена)</para>
3123 /// </summary>
3124 /// <param name="muteAutotest">true/false - включить/отключить режим отключения печати автотеста </param>
3125 // Чтобы при следующей загрузке ядра настройки были применены, их нужно сохранить функцией IFiscalCore.SaveOptions()
3126 void SetMuteAutotest(boolean muteAutotest, IExceptionCallback callback);
3127
3128 /// <summary>
3129 /// <para><b>Запрос дополнительных настроек</b></para>
3130 /// <para>Возвращает состояние режима отключения печати автотеста</para>
3131 /// </summary>
3132 /// <returns>(true - включен, false - отключен)</returns>
3134
3135 /// <summary>
3136 /// <para><b>Получить состояние по передачи уведомлений</b></para>
3137 /// </summary>
3139
3140 /// <summary>
3141 /// <para><b>Получить статус передачи уведомлений</b></para>
3142 /// </summary>
3144
3145 /// <summary>
3146 /// <para><b>Получить количество уведомлений в очереди</b></para>
3147 /// </summary>
3149
3150 /// <summary>
3151 /// <para><b>Получить номер текущего уведомления</b></para>
3152 /// </summary>
3154
3155 /// <summary>
3156 /// <para><b>Получить процент заполнения области хранения уведомлений</b></para>
3157 /// </summary>
3159
3160 /// <summary>
3161 /// <para><b>Получить дату и время текущего уведомления</b></para>
3162 /// </summary>
3164
3165 /// <summary>
3166 /// <para><b>Маркировка</b></para>
3167 /// Передача маркировки для объемно-сортового учета
3168 /// </summary>
3169 /// <param name="code">КМ для объемно-сортового учета</param>
3170 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3172
3173 /// <summary>
3174 /// <para><b>plaftorm-specific</b></para>
3175 /// <para><b>Для внутреннего использования</b></para>
3176 /// Запрос SN устройства
3177 /// </summary>
3178 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3179 /// <returns>строка c SN</returns>
3181
3182 /// <summary>
3183 /// <para><b>Чек</b></para>
3184 /// Установка параметров QR
3185 /// </summary>
3186 /// <param name="param">Параметр</param>
3187 /// <param name="value">Значение параметра</param>
3188 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3189 /// <seealso cref="com.multisoft.drivers.fiscalcore.QRParam"/>
3190 void SetQRParam(int param, int value, IExceptionCallback callback);
3191
3192 /// <summary>
3193 /// <para><b>Регистрация</b></para>
3194 /// <para>Регистрация (первоначальная регистрация) по ФФД 1.2. Выполняется 1 раз за всё время жизни ФН.</para>
3195 /// </summary>
3196 /// <param name="cashier">строка - имя и номер кассира</param>
3197 /// <param name="inn">строка - ИНН пользователя при регистрации</param>
3198 /// <param name="reg_num">строка - регистрационный номер ККТ. В режиме ЧПМ - является паролем налогового инспектора: передавать "00000".</param>
3199 /// <param name="tax">байт - код системы налогообложения - битовая маска TaxCode.
3200 /// Поддеживаемый тип налогов устанавливает соответствующий бит в байте.
3201 /// Для корректной работы необходимо установить хотя бы один бит в 1.</param>
3202 /// <param name="op_mode">байт - код режима работы - битовая маска OperatingMode.
3203 /// Поддеживаемый режим работы устанавливает соответствующий бит в байте.
3204 /// Может принимать значение 0.</param>
3205 /// <param name="extended_op_mode">байт - расширенные признаки работы ККТ - битовая маска ExtendedOperatingMode.
3206 /// Поддеживаемый режим работы устанавливает соответствующий бит в байте.
3207 /// Может принимать значение 0.</param>
3208 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3209 /// <seealso cref="com.multisoft.drivers.fiscalcore.TaxCode"/>
3210 /// <seealso cref="com.multisoft.drivers.fiscalcore.OperatingMode"/>
3211 /// <seealso cref="com.multisoft.drivers.fiscalcore.ExtendedOperatingMode"/>
3212 /// <example>
3213 /// <code>
3214 /// //команды настройки полей:
3215 /// String regnum = RegNumTextBox.Text;
3216 /// // ... Формирование РНМ ККТ происходит на стороне ФНС России:
3217 /// // базовый РНМ дополняется лидирующими нулями до длины строки в 10 символов,
3218 /// // затем вычисляется и добавляется контрольная сумма (6 символов).
3219 /// //настройка системы налогообложения
3220 /// int tax = TaxCode.Common + TaxCode.SimplifiedWithExpense + TaxCode.ENVD;
3221 /// //настройка режима работы:
3222 /// int opmode = OperatingMode.Service + OperatingMode.Encryption;
3223 /// //настройка расширенных признаков работы ККТ
3224 /// int extended_opmode = ExtendedOperatingMode.Marking + ExtendedOperatingMode.VendingMachine;
3225 /// //регистрация:
3226 /// IFiscalCore.Register1_2_A(cashierTextBox.Text, "1234567890", regnum, tax, opmode, extended_opmode, callback);
3227 /// callback.Complete();
3228 /// </code>
3229 /// </example>
3230 void Register1_2_A(String cashier, String inn, String reg_num, int tax, int op_mode, int extended_op_mode, IExceptionCallback callback);
3231
3232 /// <summary>
3233 /// <para><b>Регистрация</b></para>
3234 /// Исправление регистрации || Перерегистрация, ФФД 1.2
3235 /// </summary>
3236 /// <param name="kktReRegCode">причина перерегистрации RegParamsChangeCode</param>
3237 /// <param name="cashier">строка - имя и номер кассира</param>
3238 /// <param name="inn">строка - ИНН пользователя при регистрации</param>
3239 /// <param name="reg_num">строка - регистрационный номер ККТ</param>
3240 /// <param name="tax_code">байт - код системы налогообложения - битовая маска TaxCode.
3241 /// Поддеживаемый тип налогов устанавливает соответствующий бит в байте.
3242 /// Для корректной работы необходимо установить хотя бы один бит в 1.</param>
3243 /// <param name="opmode">байт - код режима работы - битовая маска OperatingMode.
3244 /// Поддеживаемый режим работы устанавливает соответствующий бит в байте.
3245 /// Может принимать значение 0.</param>
3246 /// <param name="extended_op_mode">байт - расширенные признаки работы ККТ - битовая маска ExtendedOperatingMode.
3247 /// Поддеживаемый режим работы устанавливает соответствующий бит в байте.
3248 /// Может принимать значение 0.</param>
3249 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3250 /// <seealso cref="com.multisoft.drivers.fiscalcore.RegParamsChangeCode"/>
3251 /// <seealso cref="com.multisoft.drivers.fiscalcore.TaxCode"/>
3252 /// <seealso cref="com.multisoft.drivers.fiscalcore.OperatingMode"/>
3253 /// <seealso cref="com.multisoft.drivers.fiscalcore.ExtendedOperatingMode"/>
3254 /// <example>
3255 /// <code>
3256 /// kktReRegCode = (int)RegParamsChangeCode.UsernameChanged;
3257 /// kktRegNum = regNumTextBox.Text;
3258 /// tax = TaxCode.Common + TaxCode.SimplifiedWithExpense + TaxCode.ENVD;
3259 /// opMode = OperatingMode.Service + OperatingMode.Encryption;
3260 /// extended_opmode = ExtendedOperatingMode.Marking + ExtendedOperatingMode.VendingMachine;
3261 /// IFiscalCore.CorrectRegistration1_2_A(kktReRegCode, "Иванов И.И", "1234567890", kktRegNum, (int)opMode, (int)extended_opmode, callback);
3262 /// callback.Complete();
3263 /// </code>
3264 /// </example>
3265 void CorrectRegistration1_2_A(int kktReRegCode, String cashier, String inn, String reg_num, int tax_code, int op_mode, int extended_op_mode, IExceptionCallback callback);
3266
3267 /// <summary>
3268 /// <para><b>Запрос статуса ФН по работе с кодами маркировки</b></para>
3269 /// <para>Возвращает статус ФН по разрешению не формировать запрос о коде маркировки</para>
3270 /// </summary>
3271 /// <returns>(true - есть разрешение, false - нет разрешения)</returns>
3273
3274 /// <summary>
3275 /// <para><b>Запрос статуса ФН по работе с кодами маркировки</b></para>
3276 /// <para>Возвращает статус ФН по поддержке битов 14, 15, 16 в теге 1290</para>
3277 /// </summary>
3278 /// <returns>(true - есть поддержка, false - нет поддержки)</returns>
3280
3281 /// <summary>
3282 /// <para>Возвращает заголовок чека - строки, печатающиеся до чека</para>
3283 /// </summary>
3284 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3286
3287 /// <summary>
3288 /// <para>Возвращает дополнительные строки, печатающиеся после чека</para>
3289 /// </summary>
3290 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3292
3293 /// <summary>
3294 /// <para>Устанавливает тег 1011 (Часовая зона)</para>
3295 /// </summary>
3296 /// <param name="timeZone">Часовоая зона</param>
3297 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3298 /// <seealso cref="com.multisoft.drivers.fiscalcore.TimeZoneNum"/>
3299 void SetTimeZone(int timeZone, IExceptionCallback callback);
3300
3301 /// <summary>
3302 /// <para>Возвращает установленное значение тега 1011 (Часовая зона)</para>
3303 /// </summary>
3304 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3305 /// <seealso cref="com.multisoft.drivers.fiscalcore.TimeZoneNum"/>
3307
3308 /// <summary>
3309 /// <para>Устанавливает режим группировки позиций в чеке при печати</para>
3310 /// </summary>
3311 /// <param name="groupItems">true или false - признак проведения лотереи</param>
3312 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3313 void SetGroupItems(boolean groupItems, IExceptionCallback callback);
3314
3315 /// <summary>
3316 /// <para>Возвращает статус режима группировки позиций в чеке при печати</para>
3317 /// </summary>
3318 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3320
3321 /// <summary>
3322 /// <para>Сканирует код</para>
3323 /// <para>Устаревший метод. Используйте GetScanner().</para>
3324 /// </summary>
3325 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3327
3328 /// <summary>
3329 /// <para>Возвращает интерфейс аппаратного сканера, или null, если устройство его не поддерживает</para>
3330 /// <para>Если устройство не готово, callback вернёт ErrCode.Hardware=4, ExtHardwareErr.Initialization=0</para>
3331 /// <para>Если устройство не поддерживает сканер, callback вернёт ErrCode.Hardware=4, ExtHardwareErr.Null=1</para>
3332 /// </summary>
3333 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3335
3336 /// <summary>
3337 /// <para>Возвращает интерфейс второго дисплея, или null, если устройство его не поддерживает</para>
3338 /// <para>Если устройство не готово, callback вернёт ErrCode.Hardware=4, ExtHardwareErr.Initialization=0</para>
3339 /// <para>Если устройство не поддерживает второй дисплей, callback вернёт ErrCode.Hardware=4, ExtHardwareErr.Null=1</para>
3340 /// </summary>
3341 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3343
3344 /// <summary>
3345 /// <para>Возвращает интерфейс ТСПИоТ</para>
3346 /// </summary>
3347 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3349
3350 /// <summary>
3351 /// <para>Устанавливает лицензию ТС ПИоТ</para>
3352 /// </summary>
3353 /// <param name="license">лицензия ТС ПИоТ</param>
3354 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3355 void SetLicenseTspiot(String license, IExceptionCallback callback);
3356
3357 /// <summary>
3358 /// <para>Возвращает лицензию ТС ПИоТ</para>
3359 /// </summary>
3360 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3362
3363 /// <summary>
3364 /// <para>Блокирована ли ККТ</para>
3365 /// </summary>
3366 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3368
3369 /// <summary>
3370 /// <para><b>Запрос дополнительных настроек</b></para>
3371 /// <para>Автоинкассация при закрытии смены.</para>
3372 /// </summary>
3373 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3375
3376 /// <summary>
3377 /// <para><b>Запрос дополнительных настроек</b></para>
3378 /// <para>Настройка флага отрезки.</para>
3379 /// <para>Возможные значения:</para>
3380 /// </summary>
3381 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3382 /// <seealso cref="com.multisoft.drivers.fiscalcore.CutType"/>
3384
3385 /// <summary>
3386 /// <para><b>Запрос дополнительных настроек</b></para>
3387 /// <para>упреждающая печати заголовка.</para>
3388 /// Запрос упреждающей печати заголовка.
3389 /// <para>если true, заголовок следующего чека печатается после окончания печати предыдущего</para>
3390 /// <para>если false, заголовок печатается перед печатью чека.</para>
3391 /// </summary>
3392 /// <param name="callback">функция обратного вызова для передачи информации об ошибке</param>
3394}
Коллбек авторизации.
Определения IAuth.idl:8
Коллбек об ошибке.
Определения IExceptionCallback.idl:7
Определения IFiscalCore.idl:371
String GetReceiptCheckURI(IExceptionCallback callback)
int FNGetFnFfdVersion(IExceptionCallback callback)
int GetDayNumber(IExceptionCallback callback)
void SelfTest(IExceptionCallback callback)
void OpenRec(int recType, IExceptionCallback callback)
String GetDeviceSn(IExceptionCallback callback)
int FNGetRegistrationsMade(IExceptionCallback callback)
String GetLang(IExceptionCallback callback)
void SetTimeZone(int timeZone, IExceptionCallback callback)
boolean GetExtendedAutotest(IExceptionCallback callback)
boolean GetFiscalMemoryFiscalized(IExceptionCallback callback)
int FNGetWarningFlags(IExceptionCallback callback)
String GetOrgName(IExceptionCallback callback)
byte[] SendMarkupCodeFnCheck(String code, int codeType, int offset91, int offset92, IExceptionCallback callback)
int GetRecType(IExceptionCallback callback)
int NotificationStatusOut_GetStatus(IExceptionCallback callback)
String GetKktVersion(IExceptionCallback callback)
int FDI_GetDocType(IExceptionCallback callback)
void SetOismHost(String host, IExceptionCallback callback)
void Register1_2(String cashier, String inn, String reg_num, int tax, int op_mode, boolean gambling, boolean lottery, boolean excise, boolean marking, boolean lombard, boolean insurance, IExceptionCallback callback)
String OfdOut_GetFiscalSign(IExceptionCallback callback)
int FNGetRegistrationsLeft(IExceptionCallback callback)
String FNGetRegTimeByNum(int regNum, IExceptionCallback callback)
String NotificationStatusOut_GetCurrentDateTime(IExceptionCallback callback)
String FDI_GetDocJSON()
void AddCorrectionRecItem1_1(int correctionType, String docDate, String docNum, IExceptionCallback callback)
String FNGetSoftwareVersion(IExceptionCallback callback)
int GetTimeZone(IExceptionCallback callback)
boolean GetFLC()
void CorrectRegistration(int corr_reason, String cashier, String inn, String reg_num, int tax_code, int op_mode, boolean gambling, boolean lottery, int agent, IExceptionCallback callback)
int OFDGetConnectionStatus(IExceptionCallback callback)
long FNGetLastFiscalSign(IExceptionCallback callback)
void Register(String cashier, String inn, String reg_num, int tax, int op_mode, boolean gambling, boolean lottery, int agent, IExceptionCallback callback)
void SetKeyServerHost(String host, IExceptionCallback callback)
String GetPayTotal(int counterType, IExceptionCallback callback)
long OfdOut_GetFDNumber(IExceptionCallback callback)
String FNGetLastDocDateTime(IExceptionCallback callback)
void SetReceiptCheckURI(String text, IExceptionCallback callback)
int NotificationStatusOut_GetFillPercentage(IExceptionCallback callback)
void SetMuteAutotest(boolean muteAutotest, IExceptionCallback callback)
void CloseDayWithDateTime(String cashier, String datetime, IExceptionCallback callback)
void SetOfdTaxId(String text, IExceptionCallback callback)
String GetOfdName(IExceptionCallback callback)
boolean FDI_GetConfirmFromOFD(IExceptionCallback callback)
int GetTaxation(IExceptionCallback callback)
void SetTagPrintForm(int tag, int printForm, IExceptionCallback callback)
String GetAidlVersion()
int FNGetRegFDByNum(int regNum, IExceptionCallback callback)
void ContinueDateTime()
String GetPhysicalAddress(IExceptionCallback callback)
boolean PrintRecCopy(IExceptionCallback callback)
void SetOfdPort(int port, IExceptionCallback callback)
void CorrectRegistration1_1(int kktReRegCode, String cashier, String inn, String reg_num, int tax_code, int op_mode, boolean gambling, boolean lottery, int agent, IExceptionCallback callback)
void SetFont(int fontSize, IExceptionCallback callback)
int GetDayPayCount(int counterType, IExceptionCallback callback)
void SetTransferOperatorTaxId(String text, IExceptionCallback callback)
String GetPaymentAgentTelNum(IExceptionCallback callback)
String GetTransferOperatorTelNum(IExceptionCallback callback)
void CloseDay(String cashier, IExceptionCallback callback)
String GetDayCanceledTotal(IExceptionCallback callback)
void SetCompactMode(int newValue, IExceptionCallback callback)
int GetKeyServerPort(IExceptionCallback callback)
void PrintRecItem(String count, String price, String itemname, String article, IExceptionCallback callback)
void SetTransferOperatorTelNum(String text, IExceptionCallback callback)
void SetSenderEmail(String text, IExceptionCallback callback)
void CheckDrawerCash(String total, IExceptionCallback callback)
boolean GetMuteAutotest(IExceptionCallback callback)
void SetShowTaxes(boolean val, IExceptionCallback callback)
String GetTrailerLines(IExceptionCallback callback)
ISecondDisplay GetSecondDisplay(IExceptionCallback callback)
void GetMarkupCodeOismResult(IExceptionCallback callback, IOismResultCallback oismCallback)
boolean GetPrintZReportWithoutInternalCounters(IExceptionCallback callback)
int NotificationStatusOut_GetCount(IExceptionCallback callback)
String FDI_GetDataArray(IExceptionCallback callback)
String FDI_GetDate()
String GetOrgAddress(IExceptionCallback callback)
String GetUserName(IExceptionCallback callback)
void SetCommissionAgentTelNum(String text, IExceptionCallback callback)
String GetTaxId(IExceptionCallback callback)
IScanner GetScanner(IExceptionCallback callback)
void CloseFiscalModeWithDateTime(String datetime, String fnNum, IExceptionCallback callback)
void RecVoid(IExceptionCallback callback)
void SendClientAddress(String addr, IExceptionCallback callback)
void Register1_1(String cashier, String inn, String reg_num, int tax, int op_mode, boolean gambling, boolean lottery, int agent, IExceptionCallback callback)
String GetLicenseTspiot(IExceptionCallback callback)
void SetSumTaxes(in int[] taxNum, in String[] taxSum, IExceptionCallback callback)
void SetTagByteAttribute(int tag, in byte[] value, IExceptionCallback callback)
String GetTransferOperatorTaxId(IExceptionCallback callback)
int GetAgentTag(IExceptionCallback callback)
int GetRecState(IExceptionCallback callback)
boolean IsKktBlocked(IExceptionCallback callback)
String GetDayPayTotalByDocType(int docType, int payType, IExceptionCallback callback)
boolean OFDGetMessageStatus(IExceptionCallback callback)
int GetKktFfdVersion(IExceptionCallback callback)
void SetPrintZReportWithoutInternalCounters(boolean printZReportWithoutInternalCounters, IExceptionCallback callback)
String GetUUID(IExceptionCallback callback)
void SetCutType(int newValue, IExceptionCallback callback)
void SetPaperWidth(boolean narrowWide, IExceptionCallback callback)
String GetRegNum(IExceptionCallback callback)
void SetTransferOperatorAddress(String text, IExceptionCallback callback)
void SetOismPort(int port, IExceptionCallback callback)
void SetDayCloseAutoPayOut(boolean newState, IExceptionCallback callback)
String GetGrandTotalsSalesGross(int counter, IExceptionCallback callback)
int GetDayState(IExceptionCallback callback)
String OFDGetLastNotSentDocTime(IExceptionCallback callback)
void SetQRParam(int param, int value, IExceptionCallback callback)
String GetFiscalModuleVersion(IExceptionCallback callback)
void PrintRecItemPay(int type, String total, String itemText, IExceptionCallback callback)
String OfdOut_GetTime(IExceptionCallback callback)
String GetPaymentAgentOperation(IExceptionCallback callback)
String GetRegistrationParameter(int regNum, int tlvNum, IExceptionCallback callback)
void SetAgentTagUsing(int agent, IExceptionCallback callback)
int OFDGetQueuedMessagesCount(IExceptionCallback callback)
void FreezeDateTime(String dateTime, IExceptionCallback callback)
boolean GetPrePrintHeaderLines(IExceptionCallback callback)
long FDI_GetFiscalSign()
void ForcePrintForm(boolean printNextDocument, IExceptionCallback callback)
void SetTrailerLines(in List< String > trailer, IExceptionCallback callback)
int GetOfdPort(IExceptionCallback callback)
int GetCompactMode(IExceptionCallback callback)
void OpenDrawer(IExceptionCallback callback)
int GetCurrentFfdVersion(IExceptionCallback callback)
String ScanCode(IExceptionCallback callback)
String GetCommissionAgentTelNum(IExceptionCallback callback)
String FNGetNumber(IExceptionCallback callback)
void SetTagAttribute(int tag, String value, IExceptionCallback callback)
void SaveOptions(IExceptionCallback callback)
void SetSerial(String serial, IExceptionCallback callback)
void PrintQRCode(String value, int align, IExceptionCallback callback)
boolean GetFnSupportedNewBitsInTag1290(IExceptionCallback callback)
void SetLicenseTspiot(String license, IExceptionCallback callback)
String GetOismHost(IExceptionCallback callback)
void SetOfdName(String text, IExceptionCallback callback)
void SetExtendedAutotest(boolean newstate, IExceptionCallback callback)
long NotificationStatusOut_GetCurrentNumber(IExceptionCallback callback)
String GetCashierTaxId(IExceptionCallback callback)
int OFDGetFirstQueuedDocNumber(IExceptionCallback callback)
void FNMakeCorrectionRec(int operation, String cash, String emoney, String advance, String credit, String other, int taxNum, int corrType, String docName, String docDate, String docNum, IExceptionCallback callback)
void SetVendingSerial(String text, IExceptionCallback callback)
void SetKeyServerPort(int port, IExceptionCallback callback)
void PrintRecTotalRound(String total, IExceptionCallback callback)
String GetTransferOperatorAddress(IExceptionCallback callback)
String GetOfdTaxId(IExceptionCallback callback)
int FNGetFirmwareType(IExceptionCallback callback)
void QueryFiscalDocInfo(int docNum, IExceptionCallback callback)
int FNGetDocDataStatus(IExceptionCallback callback)
String FNGetRegTimeFirst(IExceptionCallback callback)
String GetVendingSerial(IExceptionCallback callback)
String GetOfdHost(IExceptionCallback callback)
int FNGetOpModeByNum(int regNum, IExceptionCallback callback)
void QueryNotificationStatus(IExceptionCallback callback)
void SetTaxationUsing(int tax, IExceptionCallback callback)
boolean GetDayCloseAutoPayOut(IExceptionCallback callback)
void SetCashierTaxId(String text, IExceptionCallback callback)
void SetOfdHost(String host, IExceptionCallback callback)
void CorrectRegistration1_2(int kktReRegCode, String cashier, String inn, String reg_num, int tax_code, int op_mode, boolean gambling, boolean lottery, boolean excise, boolean marking, boolean lombard, boolean insurance, IExceptionCallback callback)
int OfdOut_GetSize(IExceptionCallback callback)
void SetContractorTelNum(String text, IExceptionCallback callback)
void Register1_2_A(String cashier, String inn, String reg_num, int tax, int op_mode, int extended_op_mode, IExceptionCallback callback)
void SetTransferOperatorName(String text, IExceptionCallback callback)
void PrintXReport(IExceptionCallback callback)
int GetCutType(IExceptionCallback callback)
ITspiot GetTspiot(IExceptionCallback callback)
void SetGroupItems(boolean groupItems, IExceptionCallback callback)
int SaveMarkupCodeCheckResult(boolean save, IExceptionCallback callback)
void SetFnsServerAddress(String text, IExceptionCallback callback)
void PrintRaster(in byte[] rawFileData, IExceptionCallback callback)
void SetItemTaxes(int taxNum, IExceptionCallback callback)
void SetUserName(String cashier, IExceptionCallback callback)
void FNResetDebug(IExceptionCallback callback)
void SetOrgAddress(String text, IExceptionCallback callback)
String GetContractorTelNum(IExceptionCallback callback)
int FNGetLastFDNumber(IExceptionCallback callback)
String GetTransferOperatorName(IExceptionCallback callback)
boolean GetBroadcastMode(IExceptionCallback callback)
void CorrectRegistration1_2_A(int kktReRegCode, String cashier, String inn, String reg_num, int tax_code, int op_mode, int extended_op_mode, IExceptionCallback callback)
String GetLastQRCodeValue(IExceptionCallback callback)
void QueryOFDReceiptByNum(int docnum, IExceptionCallback callback)
int FNGetState(IExceptionCallback callback)
boolean GetGroupItems(IExceptionCallback callback)
String GetSerial(IExceptionCallback callback)
boolean IsReady()
void SetFLC(boolean newValue)
void CloseRec(IExceptionCallback callback)
void DirectIO(int cmd, String argument, IAuth auth, IExceptionCallback callback)
void SetPaymentAgentOperation(String text, IExceptionCallback callback)
String GetDayOpenDateTime(IExceptionCallback callback)
void PrintCalculationsReport(IExceptionCallback callback)
String FNGetLifetime(IExceptionCallback callback)
void SetOrgName(String text, IExceptionCallback callback)
int GetDayLastReceiptNumber(IExceptionCallback callback)
void SetDateTime(String datetime, IExceptionCallback callback)
void SetPaymentAgentTelNum(String text, IExceptionCallback callback)
void Feed(int count, IExceptionCallback callback)
void PrintRecTotal(IExceptionCallback callback)
String GetSenderEmail(IExceptionCallback callback)
String GetRecPayTotal(int payType, IExceptionCallback callback)
void SetHeaderLines(in List< String > header, IExceptionCallback callback)
void SetPhysicalAddress(String text, IExceptionCallback callback)
void PrintBarCode(int type, int align, String value, IExceptionCallback callback)
String GetHeaderLines(IExceptionCallback callback)
String GetAppVersion(IExceptionCallback callback)
long FNGetLastFDNum(IExceptionCallback callback)
String GetKKTRegisteredName()
void SendMarkupCodeVolumeVarietal(String code, IExceptionCallback callback)
void SetBroadcastMode(boolean broadcastOn, IExceptionCallback callback)
int FNGetRegTaxSystemByNum(int regNum, IExceptionCallback callback)
void PrintLineAligned(String left, String right, IExceptionCallback callback)
void FNPrintDocFromArchive(int docNum, IExceptionCallback callback)
String GetRecTotal(IExceptionCallback callback)
void LoggerControl(int loggerCommand, IExceptionCallback callback)
void ClearAllMarkupCodeCheckResult(IExceptionCallback callback)
int FNGetCurrentDocType(IExceptionCallback callback)
void CloseFiscalMode(IExceptionCallback callback)
boolean GetFnSupportedSkipOISMCheck(IExceptionCallback callback)
void OpenDay(String cashier, IExceptionCallback callback)
void SendMarkupCodeOismCheck(int processingMode, int plannedStatus, String count, String measureUnit, String numeratorFraction, String denominatorFraction, IExceptionCallback callback)
String GetKeyServerHost(IExceptionCallback callback)
String GetFNSServerAddress(IExceptionCallback callback)
void SetSTLVTagAttribute(int tag, in int[] tlv, in String[] value, IExceptionCallback callback)
int GetOismPort(IExceptionCallback callback)
void SetPrePrintHeaderLines(boolean newState, IExceptionCallback callback)
String GetDayPayTotal(int counterType, IExceptionCallback callback)
void PrintLine(int align, String line, IExceptionCallback callback)
Коллбек проверки в ОИСМ
Определения IOismResultCallback.idl:7
Определения IScanner.idl:9
Определения ISecondDisplay.idl:7
Определения ITspiot.idl:12
Определения Enums.cs:8
Определения Enums.cs:8
Определения Enums.cs:8