Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
кассир5:внешниемодули:доработкаконфигурации [2020/04/16 17:24] dzayonchkovskiy |
кассир5:внешниемодули:доработкаконфигурации [2024/12/24 09:50] (текущий) dzayonchkovskiy |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Инструкции по доработке конфигурации ====== | ====== Инструкции по доработке конфигурации ====== | ||
| + | ===== Отладка через конфигуратор 1С ===== | ||
| + | Для запуска отладки конфигурации из конфигуратора 1С нужно указать параметры сеанса 1С (указать используемый номер ПОС):\\ | ||
| + | < | ||
| + | |||
| + | Если используется ключ катран, | ||
| + | |||
| ===== Возможные способы доработки конфигурации: | ===== Возможные способы доработки конфигурации: | ||
| + | |||
| + | Рекомендуем ознакомиться с вебинаром [[https:// | ||
| + | |||
| - пользовательские раскладки клавиатуры | - пользовательские раскладки клавиатуры | ||
| - [[кассир5: | - [[кассир5: | ||
| Строка 15: | Строка 24: | ||
| Способ №4 решает большинство задач без необходимости доработок конфигурации и типовых обработок с максимальной совместимостью при обновлении конфигурации.\\ | Способ №4 решает большинство задач без необходимости доработок конфигурации и типовых обработок с максимальной совместимостью при обновлении конфигурации.\\ | ||
| + | [[кассир5: | ||
| + | [[кассир5: | ||
| + | Ниже можно скачать архивы с заготовкой модуля логики. В конце модуля основной формы каждой заготовки есть краткая пошаговая инструкция.\\ | ||
| + | {{ : | ||
| + | {{ : | ||
| + | {{ : | ||
| + | {{ : | ||
| + | {{ : | ||
| Вариант №5 крайне не рекомендуется использовать по следующим причинам: | Вариант №5 крайне не рекомендуется использовать по следующим причинам: | ||
| * Изменение базовой версии конфигурации невозможно. | * Изменение базовой версии конфигурации невозможно. | ||
| + | * Обновление через дистрибутив невозможно, | ||
| * При каждом обновлении конфигурации потребуется переносить изменения вручную. | * При каждом обновлении конфигурации потребуется переносить изменения вручную. | ||
| * В новой версии конфигурации возможно изменение кода, которое потребует дополнительное время на актуализацию доработок. | * В новой версии конфигурации возможно изменение кода, которое потребует дополнительное время на актуализацию доработок. | ||
| Строка 23: | Строка 41: | ||
| ===== Основные реквизиты, | ===== Основные реквизиты, | ||
| При доработке конфигурации рекомендуется использовать типовые методы, | При доработке конфигурации рекомендуется использовать типовые методы, | ||
| + | Список методов в защищенной компоненте описан в статье [[[кассир5: | ||
| Наиболее часто используемые методы описаны ниже.\\ | Наиболее часто используемые методы описаны ниже.\\ | ||
| Формат описания методов: | Формат описания методов: | ||
| Строка 112: | Строка 131: | ||
| Ложь);// | Ложь);// | ||
| </ | </ | ||
| - | ==== Запись транзакций ==== | + | ==== Работа с главным |
| - | Транзакции бывают двух видов: | + | Для установки значения главного поля ввода (ГПВ) |
| - | 1. Справочник Временные транзакции - хранит информацию о текущем чеке, при закрытии чека переносятся в справочник Транзакции и удаляются.\\ | + | Для установки нечислового |
| - | 2. Справочник Транзакции - хранит информацию об основных действиях кассира, | + | Параметры: |
| + | 1: строка или число - значение, | ||
| + | Пример: | ||
| + | < | ||
| + | УстановитьГлавноеПолеВвода("" | ||
| + | УстановитьГлавноеПолеВвода(" | ||
| + | УстановитьГлавноеПолеВвода(1000.50);// | ||
| + | </ | ||
| + | |||
| + | Для получения текущего значения ГПВ используется функция формы регистрации ПолучитьГлавноеПолеВвода, | ||
| + | * 0 - Строка | ||
| + | * 1 - Сумма - Получить значение главного поля ввода, преобразованного к формату суммы | ||
| + | * 2 - Количество - Получить значение главного поля ввода, преобразованного к формату количества | ||
| + | Пример: | ||
| + | < | ||
| + | УстановитьГлавноеПолеВвода(1.456);// | ||
| + | Значение | ||
| + | Значение | ||
| + | Значение | ||
| + | </ | ||
| + | ==== Работа с ККМ ==== | ||
| + | Пример печати произвольного текста на ККМ (из формы регистрации, | ||
| + | < | ||
| + | //ф-я КонвертироватьВМассивДляПечати принимает на вход макет чека, можно использовать тэги форматирования | ||
| + | //< | ||
| + | //< | ||
| + | //< | ||
| + | // | ||
| + | //< | ||
| + | //<s> - штрихкод ean13 | ||
| + | //< | ||
| + | //< | ||
| + | ПС = Символ(182); | ||
| + | Текст = "< | ||
| + | " | ||
| + | "< | ||
| + | "< | ||
| + | "< | ||
| + | "< | ||
| + | " " + ПС + | ||
| + | " " + ПС + | ||
| + | "< | ||
| + | ЗК = МенеджерОбъектов.ПолучитьОбщийОбъект(" | ||
| + | МассивДляПечати = ЗК.КонвертироватьВМассивДляПечати(Текст); | ||
| + | СтрокаККМ = Кассир5_DataAccess.ПолучитьККМ(); | ||
| + | РезультатПечати_бул = ЗК.FnKKM_PrintStringBlock(СтрокаККМ, | ||
| + | </ | ||
| + | === Подключение к ККМ === | ||
| + | Если неизвестно подключен ККМ в данный момент или нет, то нужно выполнить следующий код. | ||
| + | Если ККМ не подключен, | ||
| + | < | ||
| + | Функция ВыполнитьЧтоТоНаККМ() | ||
| + | СтрокаККМ = Кассир5_DataAccess.ПолучитьККМ(); | ||
| + | Если СтрокаККМ = Неопределено Тогда | ||
| + | ИнтерфОшибка(" | ||
| + | Возврат Ложь; | ||
| + | КонецЕсли; | ||
| + | |||
| + | ЗК = МенеджерОбъектов.ПолучитьОбщийОбъект(" | ||
| + | БылПолключен = ЗК.FnKKM_GetParam(СтрокаККМ, | ||
| + | Если НЕ БылПолключен И НЕ МенеджерОбъектов.ПолучитьОбщийОбъект(" | ||
| + | Возврат Ложь; // не удалось подключиться к ККМ | ||
| + | КонецЕсли; | ||
| + | |||
| + | // | ||
| + | Результат = Истина; | ||
| + | |||
| + | Если НЕ БылПолключен Тогда | ||
| + | ЗК.FnKKM_Disconnect(СтрокаККМ, | ||
| + | КонецЕсли; | ||
| + | Возврат Результат; | ||
| + | КонецФункции | ||
| + | </ | ||
| + | ==== Работа со справочниками транзакций ==== | ||
| + | В Кассир 5 есть | ||
| + | 1. Справочник Временные транзакции - хранит информацию о текущем чеке, при закрытии | ||
| + | 2. Справочник Транзакции - хранит информацию об основных действиях кассира, | ||
| + | Справочник выгружается в файл отчета по [[: | ||
| + | Элементы | ||
| \\ | \\ | ||
| - | Таким образом, если нужно записать произвольную транзакцию, | + | === Работа со справочником Временные транзакции === |
| + | Перед работой с временными транзакциями рекомендуется ознакомиться со статьей [[:таблицавременныхтранзакцийкассира|Таблица временных транзакций кассира]].\\ | ||
| + | Если нужно записать произвольную транзакцию, | ||
| + | Все функции для работы с временными транзакциями находятся в модуле обработки Кассир5_DataAccess.\\ | ||
| + | |||
| + | **ПолучитьВремТранзакцию** - ф-я получает информация о временной транзакции по коду. Если врем. транзакция не найдена, | ||
| + | Параметры:\\ | ||
| + | 1: Число - код временной транзакции для поиска.\\ | ||
| + | < | ||
| + | Транз = Кассир5_DataAccess.ПолучитьВремТранзакцию(100); | ||
| + | </ | ||
| + | **ПолучитьВремТранзакцииПоТипу** - ф-я выполняет отбор временных транзакций по типу (поле ТипТранзакции), | ||
| + | < | ||
| + | Транзакции11 = Кассир5_DataAccess.ПолучитьВремТранзакцииПоТипу(11);// | ||
| + | </ | ||
| + | **ПисатьВремТранзакцию** - ф-я создаёт новый элемент справочника Временные транзакции.\\ | ||
| + | Параметры: | ||
| + | 1: Число - код транзакции (используется для уникальности врем. транзакций и определяет порядок записи в справочник Транзакции). Если передано значение " | ||
| + | 2: Число - поле Тип транзакции\\ | ||
| + | 3: Дата (Неопределено) - поле Дата транзакции (если не указана - подставляется текущая дата)\\ | ||
| + | 4: Число - поле Секция\\ | ||
| + | 5: Строка (до 150 символов) - поле Код товара (поле используется для записи строковых данных)\\ | ||
| + | 6: Число - поле Цена\\ | ||
| + | 7: Число - поле Количество\\ | ||
| + | 8: Число - поле Сумма\\ | ||
| + | 9: Число - номер ККМ (определяет к какому ККМ относится транзакция, | ||
| + | 10: Строка ("" | ||
| + | Пример записи врем. транзакции с типом 777 на чек, с явным указанием кода: | ||
| + | < | ||
| + | КодВремТранзакции = 900000; | ||
| + | // запишем транзакцию на чек, если транзакция с переданным кодом уже существует, | ||
| + | // дата транзакции = ТекущаяДата(), | ||
| + | Кассир5_DataAccess.ПисатьВремТранзакцию(КодВремТранзакции, | ||
| + | </ | ||
| + | Пример записи врем. транзакции на чек, без явного указания кода: | ||
| < | < | ||
| ТипТранзакцииДопИнфо = 777; | ТипТранзакцииДопИнфо = 777; | ||
| Строка 127: | Строка 258: | ||
| Кассир5_DataAccess.ПисатьВремТранзакцию(0, | Кассир5_DataAccess.ПисатьВремТранзакцию(0, | ||
| </ | </ | ||
| - | + | См. также в модуле обработки Кассир5_DataAccess: | |
| + | **ИзменитьВремТранзакциюПоСтруктуре**\\ | ||
| + | **ИзменитьВремТранзакцию**\\ | ||
| + | **УдалитьВремТранзакцию**\\ | ||
| + | **ПолучитьВыборкуСкидок**\\ | ||
| + | **ПолучитьВремТранзакцииЧека**\\ | ||
| + | |||
| + | === Работа со справочником Транзакции === | ||
| + | Для записи транзакции напрямую в справочник Транзакции (транзакции, | ||
| + | Параметры: | ||
| + | 1: Таблица значений (неопределено) - таблица значений, | ||
| + | Пример записи одной транзакции с типом 777: | ||
| + | < | ||
| + | Кассир5_DataAccess.ЗаписатьТранзакции(Кассир5_DataAccess.ДобавитьТранзакциюВТаблицу(Неопределено, | ||
| + | Неопределено,// | ||
| + | 777,// тип транзакции | ||
| + | Неопределено,// | ||
| + | 0,// | ||
| + | "",// | ||
| + | 0,// | ||
| + | 0,// | ||
| + | 0));// | ||
| + | </ | ||
| + | Пример записи нескольких транзакций: | ||
| + | < | ||
| + | ТаблицаТранзакций = Неопределено; | ||
| + | Кассир5_DataAccess.ДобавитьТранзакциюВТаблицу(ТаблицаТранзакций, | ||
| + | Кассир5_DataAccess.ДобавитьТранзакциюВТаблицу(ТаблицаТранзакций, | ||
| + | Кассир5_DataAccess.ЗаписатьТранзакции(ТаблицаТранзакций); | ||
| + | </ | ||
| ==== Работа с правами пользователя ==== | ==== Работа с правами пользователя ==== | ||
| Строка 171: | Строка 332: | ||
| </ | </ | ||
| + | Также в настройках сканера можно добавить эмулятор сканера. | ||