Итак, наша задача: сделать так чтобы пользователь мог печатать чеки из 1С 7.7 Торговля и Склад. Прямо из документов "Реализация" (при продаже) и "Возврат товара покупателю" (при возврате товара).
Подключение кассы Штрих Онлайн - это отдельная ый гем0рой история, если кому-то надо будет, напишу в свободное время про это.
Допустим что касса уже подключена, настроена и работает, у нас есть 1С 7.7 Торговля и склад.
Заходим в конфигуратор, добавляем на форму документов "Реализация" и "ВозвратОтПокупателя" несколько реквизитов (зачем, почему - отдельная история, просто надо чтобы все работало ок):
На форму документа "ВозвратОтПокупателя" добавляем кнопку "Чек возврата":
На форму документа "Реализация" добавляем 2 кнопки "Чек возврата" и "Чек":
В документ "ВозвратОтПокупателя" добавляем кнопку "Чек возврата":
Вставляем код в форму документа “Реализация” и “ВозвратОтПокупателя” в процедуру "ПриОткрытии()" в конец:
Процедура ПриОткрытии()
///...
фНаличными=1;
фКарта=0;
фНалКарта=0;
фВозвратЧека=1;
Форма.фНаличными.Доступность(1);
Форма.фКарта.Доступность(1);
Форма.фНалКарта.Доступность(1);
Форма.фВозвратЧека.Доступность(1);
Форма.фНаличными.Видимость(0);
Форма.фКарта.Видимость(0);
Форма.фНалКарта.Видимость(0);
Форма.фВозвратЧека.Видимость(0);
КонецПроцедуры
Вставляем этот код в форму документа “Реализация”:
Процедура Чек()
фВозвратЧека=0;
ОткрытьФормуМодально("Обработка.ПечатьЧекаШтрихОнлайн",Контекст);
КонецПроцедуры
Процедура ВозвратЧека()
фВозвратЧека=1;
ОткрытьФормуМодально("Обработка.ПечатьЧекаШтрихОнлайн",Контекст);
КонецПроцедуры
Вставляем этот код в форму документа “ВозвратОтПокупателя”:
Процедура ЧекВозврата()
ОткрытьФормуМодально("Обработка.ПечатьЧекаШтрихОнлайн",Контекст);
КонецПроцедуры
Если необходимо чтобы пользователь печатал из какой-то определенной кассы то в глобальный модуль конфигурации вставляем этот код(вместо “Имя пользователя Х” вставляем реальное имя пользователя):
Функция глПолучитьНомерКассыПоИмениПользователя() Экспорт
Если СокрЛП(ИмяПользователя())="Имя пользователя 1" Тогда
Возврат 2;
КонецЕсли;
Если СокрЛП(ИмяПользователя())="Имя пользователя 2" Тогда
Возврат 2;
КонецЕсли;
Если СокрЛП(ИмяПользователя())="Имя пользователя 3" Тогда
Возврат 1;
КонецЕсли;
Если СокрЛП(ИмяПользователя())="Имя пользователя 4" Тогда
Возврат 1;
КонецЕсли;
Если СокрЛП(ИмяПользователя())="Имя пользователя 5" Тогда
Возврат 1;
КонецЕсли;
Если СокрЛП(ИмяПользователя())="Имя пользователя 6" Тогда
Возврат 1;
КонецЕсли;
КонецФункции
Далее, добавляем в конфигурацию обработки:
"ШтрихОнлайн.ert"
"Открыть смену" - открывает смену для кассы
"Закрыть смену" - закрывает смену и печатает Z-отчет.
"Снять Z-отчет без гашения" - печатает Z-отчет НЕ закрывая смену.
"Отмена чека" - аннулирует всю загруженную информацию в кассе (если чек не был закрыт).
"Подключить ККМ" - подключаемся к кассе.
"Отключить ККМ" - отключаемся от кассы.
"ПечатьЧекаШтрихОнлайн.ert"
Обработка выглядит следующим образом из документа "Реализация" (см. выше картинку).
Из документа "ВозвратОтПокупателя"(см. выше).
Как видно со скриншота - есть возможность выбирать оплату при печати чека:
- наличными
- карта
- наличные/карта
Тестировалось на:
- 1С Предприятие 7.70.020
- Торговля и склад 7.70.935