Инструменты пользователя

Инструменты сайта


кассир5:внешниемодули:доработкаконфигурации

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
кассир5:внешниемодули:доработкаконфигурации [2020/04/20 16:03]
dzayonchkovskiy
кассир5:внешниемодули:доработкаконфигурации [2024/12/24 09:50] (текущий)
dzayonchkovskiy
Строка 1: Строка 1:
  
 ====== Инструкции по доработке конфигурации ====== ====== Инструкции по доработке конфигурации ======
 +===== Отладка через конфигуратор 1С =====
 +Для запуска отладки конфигурации из конфигуратора 1С нужно указать параметры сеанса 1С (указать используемый номер ПОС):\\
 +<code>STARTER+POSNUMBER="1"+ROCKEY</code>
 +
 +Если используется ключ катран, тогда вместо ROCKEY нужно написать KATRAN.\\
 +
 ===== Возможные способы доработки конфигурации: ===== ===== Возможные способы доработки конфигурации: =====
 +
 +Рекомендуем ознакомиться с вебинаром [[https://www.youtube.com/watch?v=6B2C0I5MIN0|Вебинар - доработки конфигурации Кассир 5]]
 +
   - пользовательские раскладки клавиатуры   - пользовательские раскладки клавиатуры
   - [[кассир5:стартер:пользовательскиекнопкисупервизора|пользовательские кнопки в форме супервизор]]   - [[кассир5:стартер:пользовательскиекнопкисупервизора|пользовательские кнопки в форме супервизор]]
Строка 15: Строка 24:
  
 Способ №4 решает большинство задач без необходимости доработок конфигурации и типовых обработок с максимальной совместимостью при обновлении конфигурации.\\ Способ №4 решает большинство задач без необходимости доработок конфигурации и типовых обработок с максимальной совместимостью при обновлении конфигурации.\\
 +[[кассир5:внешниемодули:apiлогическихмодулей|API логических модулей]]\\
 +[[кассир5:внешниемодули:обработчикивзк|Список обработчиков в защищенной компоненте]]\\
 +Ниже можно скачать архивы с заготовкой модуля логики. В конце модуля основной формы каждой заготовки есть краткая пошаговая инструкция.\\
 +{{ :кассир5:внешниемодули:lm_empty.zip |ПустаяЗаготовка}} - пустой модуль логики, обработчики для добавления закладки подключатся автоматически при заполнении переменных ИмяМодуля и ЗаголовокЗакладкиНастроек.\\
 +{{ :кассир5:внешниемодули:lm_print.zip |ЗаготовкаМакетЧека}} - заготовка модуля логики, который позволяет добавить дополнительные поля в макет чека.\\
 +{{ :кассир5:внешниемодули:lm_main.zip |ЗаготовкаОсновныеОбработчики}} - заготовка модуля с наиболее часто используемыми обработчиками. Каждый обработчик прокомментирован.\\
 +{{ :кассир5:внешниемодули:lm_discount.zip |Переопределение активности автоскидок}} - модуль логики позволяет программно переопределять активность автоматических скидок.
 +{{ :кассир5:внешниемодули:settings_example.zip |Пример работы с элементами формы настроек модуля}} - модуль логики с примером работы с элементами формы настроек модуля.
  
 Вариант №5 крайне не рекомендуется использовать по следующим причинам:\\ Вариант №5 крайне не рекомендуется использовать по следующим причинам:\\
   * Изменение базовой версии конфигурации невозможно.   * Изменение базовой версии конфигурации невозможно.
 +  * Обновление через дистрибутив невозможно, т.к. дистрибутив выполняет загрузку оригинальной конфигурации.
   * При каждом обновлении конфигурации потребуется переносить изменения вручную.   * При каждом обновлении конфигурации потребуется переносить изменения вручную.
   * В новой версии конфигурации возможно изменение кода, которое потребует дополнительное время на актуализацию доработок.   * В новой версии конфигурации возможно изменение кода, которое потребует дополнительное время на актуализацию доработок.
Строка 23: Строка 41:
 ===== Основные реквизиты, функции, процедуры,  ===== ===== Основные реквизиты, функции, процедуры,  =====
 При доработке конфигурации рекомендуется использовать типовые методы, которые можно найти в коде конфигурации.\\ При доработке конфигурации рекомендуется использовать типовые методы, которые можно найти в коде конфигурации.\\
 +Список методов в защищенной компоненте описан в статье [[[кассир5:интерфейсзк|API компоненты AddIn.CashContext]]\\
 Наиболее часто используемые методы описаны ниже.\\ Наиболее часто используемые методы описаны ниже.\\
 Формат описания методов:\\ Формат описания методов:\\
Строка 135: Строка 154:
 Значение = ПолучитьГлавноеПолеВвода(2);// вернёт число 1.456 Значение = ПолучитьГлавноеПолеВвода(2);// вернёт число 1.456
 </code> </code>
 +==== Работа с ККМ ====
 +Пример печати произвольного текста на ККМ (из формы регистрации, считаем что ККМ подключен):
 +<code>
 +//ф-я КонвертироватьВМассивДляПечати принимает на вход макет чека, можно использовать тэги форматирования
 +//<CENTER> - выравнивание по центру
 +//<LEFT> - выравнивание по левому краю (по-умолчанию)
 +//<RIGHT> - выравнивание по правому краю
 +//Слева<HR> </HR>Справа - разделить слова пробелами на всю ширину
 +//<HR>.</HR> - повторить на всю ширину
 +//<s> - штрихкод ean13
 +//<s2d> - qr-код
 +//<CUT> - отрезка
 +ПС = Символ(182);
 +Текст = "<CENTER>Строка по центру" + ПС +
 +        "Строка слева" + ПС +
 +        "<RIGHT>Строка справа" + ПС +
 +        "<HR>*</HR>" + ПС +
 +        "<s>1234567890123</s>" + ПС +
 +        "<s2d>http://host</s2d>" + ПС +
 +        " " + ПС + 
 +        " " + ПС +
 +        "<CUT>";
 +ЗК = МенеджерОбъектов.ПолучитьОбщийОбъект("AddIn.CashContext");
 +МассивДляПечати = ЗК.КонвертироватьВМассивДляПечати(Текст);
 +СтрокаККМ = Кассир5_DataAccess.ПолучитьККМ();
 +РезультатПечати_бул = ЗК.FnKKM_PrintStringBlock(СтрокаККМ, МассивДляПечати);
 +</code>
 +=== Подключение к ККМ ===
 +Если неизвестно подключен ККМ в данный момент или нет, то нужно выполнить следующий код.
 +Если ККМ не подключен, то выполнится подключение, а после окончания работы с ККМ - отключение, если он не был подключен.
 +<code>
 +Функция ВыполнитьЧтоТоНаККМ()
 +СтрокаККМ = Кассир5_DataAccess.ПолучитьККМ();
 +Если СтрокаККМ = Неопределено Тогда
 +  ИнтерфОшибка("Не настроена ККМ");
 +  Возврат Ложь;
 +КонецЕсли;
  
 +ЗК = МенеджерОбъектов.ПолучитьОбщийОбъект("AddIn.CashContext");
 +БылПолключен = ЗК.FnKKM_GetParam(СтрокаККМ, "Подключен");
 +Если НЕ БылПолключен И НЕ МенеджерОбъектов.ПолучитьОбщийОбъект("AddIn.CashContext").FnKKM_Connect(СтрокаККМ, Истина) Тогда
 +  Возврат Ложь; // не удалось подключиться к ККМ
 +КонецЕсли;
 +
 +//работа с ККМ
 +Результат = Истина;
 +
 +Если НЕ БылПолключен Тогда
 +  ЗК.FnKKM_Disconnect(СтрокаККМ, Истина);
 +КонецЕсли;
 +Возврат Результат;
 +КонецФункции
 +</code>
 ==== Работа со справочниками транзакций ==== ==== Работа со справочниками транзакций ====
 В Кассир 5 есть два типа справочников с транзакциями:\\ В Кассир 5 есть два типа справочников с транзакциями:\\
Строка 144: Строка 215:
 \\ \\
 === Работа со справочником Временные транзакции === === Работа со справочником Временные транзакции ===
 +Перед работой с временными транзакциями рекомендуется ознакомиться со статьей [[:таблицавременныхтранзакцийкассира|Таблица временных транзакций кассира]].\\
 Если нужно записать произвольную транзакцию, которая относится к текущему чеку, тогда нужно записать временную транзакцию.\\ Если нужно записать произвольную транзакцию, которая относится к текущему чеку, тогда нужно записать временную транзакцию.\\
 Все функции для работы с временными транзакциями находятся в модуле обработки Кассир5_DataAccess.\\ Все функции для работы с временными транзакциями находятся в модуле обработки Кассир5_DataAccess.\\
Строка 168: Строка 240:
 8: Число - поле Сумма\\ 8: Число - поле Сумма\\
 9: Число - номер ККМ (определяет к какому ККМ относится транзакция, если задать несуществующий номер ККМ - транзакция не будет перенесена в справочник Транзакции)\\ 9: Число - номер ККМ (определяет к какому ККМ относится транзакция, если задать несуществующий номер ККМ - транзакция не будет перенесена в справочник Транзакции)\\
-10: Строка ("")- поле Скидка, поле используется для оперативной работы с длинными строка, в справочник Транзакции не переносится\\+10: Строка ("")- поле Скидка, поле используется для оперативной работы с длинными строками, в справочник Транзакции не переносится\\
 Пример записи врем. транзакции с типом 777 на чек, с явным указанием кода: Пример записи врем. транзакции с типом 777 на чек, с явным указанием кода:
 <code> <code>
Строка 194: Строка 266:
  
 === Работа со справочником Транзакции === === Работа со справочником Транзакции ===
 +Для записи транзакции напрямую в справочник Транзакции (транзакции, не относящиеся к конкретному чеку) используется процедура модуля обработки Кассир5_DataAccess **ЗаписатьТранзакции**.\\
 +Параметры:\\
 +1: Таблица значений (неопределено) - таблица значений, получаемая функцией модуля формы регистрациии или модуля обработки Кассир5_DataAccess **ДобавитьТранзакциюВТаблицу**.\\
 +Пример записи одной транзакции с типом 777:
 +<code>
 +Кассир5_DataAccess.ЗаписатьТранзакции(Кассир5_DataAccess.ДобавитьТранзакциюВТаблицу(Неопределено,
 +Неопределено,// код кассира
 +777,// тип транзакции
 +Неопределено,// дата транзакции
 +0,//секция
 +"",// код товара
 +0,//цена
 +0,//количество
 +0));//сумма
 +</code>
 +Пример записи нескольких транзакций:
 +<code>
 +ТаблицаТранзакций = Неопределено;
 +Кассир5_DataAccess.ДобавитьТранзакциюВТаблицу(ТаблицаТранзакций, Неопределено, 777, Неопределено, 0, "", 0, 0, 0);
 +Кассир5_DataAccess.ДобавитьТранзакциюВТаблицу(ТаблицаТранзакций, Неопределено, 778, Неопределено, 0, "", 0, 0, 0);
 +Кассир5_DataAccess.ЗаписатьТранзакции(ТаблицаТранзакций);
 +</code>
  
  
Строка 238: Строка 332:
 </code> </code>
  
 +Также в настройках сканера можно добавить эмулятор сканера.
кассир5/внешниемодули/доработкаконфигурации.1587398618.txt.gz · Последнее изменение: 2020/04/20 16:03 — dzayonchkovskiy