INFOSTART EVENT 2018 EDUCATION

Второй тур голосования за доклады.
Окончание 5 сентября.

Карук Евгения | Руководитель проектов | Центр разработки

«Плюсы и минусы перехода на EDT»

Доклад о преимуществах и недостатках 1С разработки в среде Enterprise Development Tools. - Расскажу о личном опыте работы с этой средой. - Что лично мне в ней нравится, что нет. - Новые возможности среды разработки. - Какие есть проблемы и неудобства при использовании. - В каких случаях и для каких конфигураций с ней имеет смысл работать уже сейчас.

Небольшая доработка УТ 10.3 для открытия денежного ящика из 1С для онлайн ККТ (ШТРИХ-М-01-Ф, ШТРИХ-М-02-Ф)

Оборудование - ККМ

3
Актуально для релиза: 10.3.41.1. Доработка УТ 10.3 для открытия денежного ящика из 1С для онлайн ККТ (ШТРИХ-М-01-Ф, ШТРИХ-М-02-Ф) + немного доработанная обработка обслуживания с функцией открытия денежного ящика.

Для открытия денежного ящика на форму чека ККМ "ФормаРегистрацииПродаж" нужно добавить кнопку, в обработчике прописать:

Процедура ДействияФормыОткрытьДенежныйЯщик(Кнопка)
			
	Если мФУ <> Неопределено Тогда
		Результат = ПолучитьСерверТО().ОткрытьДенежныйЯщик(мФУ);
		Если ЗначениеЗаполнено(Результат) Тогда
			ТекстОшибки = ПолучитьСерверТО().ПолучитьТекстОшибкиФРТО(Результат);
			Предупреждение(ТекстОшибки);
		КонецЕсли;
	КонецЕсли;
		
КонецПроцедуры

В переменной мФУ должен быть идентификатор ККТ.

В модуль объекта обработки "ТОСервер" добавить функцию:

Функция ОткрытьДенежныйЯщик(Идентификатор) Экспорт
	
	Обработка = Неопределено;
	Объект    = Неопределено;
	Результат = ПолучитьОбъектДрайвера(Идентификатор, Обработка, Объект);

	Если Не ЗначениеЗаполнено(Результат) Тогда
		Результат = Обработка.ОткрытьДенежныйЯщик(Объект);
		мОписаниеОшибки = Объект.ОписаниеОшибки;
	Иначе
		мОписаниеОшибки = ПолучитьТекстОшибкиПодключенияТО("ФР");
	КонецЕсли;

	Возврат Результат;
	
КонецФункции

В обработке обслуживания ShtrihMkkt.epf уже есть готовая функция ОткрытьДенежныйЯщик.

3

Скачать файлы

Наименование Файл Версия Размер
ShtrihMkkt.epf
.epf 279,59Kb
03.05.17
7
.epf 279,59Kb 7 Скачать

См. также

Комментарии
Сортировка: Древо
1. heroinepta 13.07.18 13:00 Сейчас в теме
И для открытия через форму документа ЧекККМ нужно на ней дополнительно добавить:

//Для открытия денежного ящика
Перем мФУ;
Перем мВидФУ;

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

//Для открытия денежного ящика
ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма);

	Запрос = Новый Запрос("
	|ВЫБРАТЬ
	|	НастройкиПользователей.Значение
	|ИЗ
	|	РегистрСведений.НастройкиПользователей КАК НастройкиПользователей
	|ГДЕ
	|	НастройкиПользователей.Пользователь = &Пользователь
	|	И НастройкиПользователей.Настройка  = &Настройка
	|");
	
	Запрос.УстановитьПараметр("Пользователь", ПараметрыСеанса.ТекущийПользователь);
	Запрос.УстановитьПараметр("Настройка"   , ПланыВидовХарактеристик.НастройкиПользователей.ОсновнаяКассаККМ);
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		КассаККМ = Выборка.Значение;
	КонецЕсли;

	МассивФР  = ПолучитьСерверТО().ПолучитьСписокУстройств(
	            	Перечисления.ВидыТорговогоОборудования.ФискальныйРегистратор,
	            	КассаККМ);
	МассивККТ = ПолучитьСерверТО().ПолучитьСписокУстройств(
	            	Перечисления.ВидыТорговогоОборудования.ККТ,
	            	КассаККМ);
	МассивФУ = Новый Массив();
	ОбщегоНазначенияКлиентСервер.ДополнитьМассив(МассивФУ, МассивФР);
	ОбщегоНазначенияКлиентСервер.ДополнитьМассив(МассивФУ, МассивККТ);
	КоличествоФУ = МассивФУ.Количество();

	Если КоличествоФУ = 0
	   И Не КассаККМ.ФормироватьНефискальныеЧеки Тогда
		Предупреждение("Фискальный регистратор не подключен!");
		Отказ = Истина;
		Возврат;
	ИначеЕсли КоличествоФУ = 1 Тогда
		мФУ = МассивФУ[0];
	ИначеЕсли КоличествоФУ > 1 Тогда
		СписокФУ = РаботаСТорговымОборудованием.ПолучитьСписокУстройствТОДляВыбора(МассивФУ);

		мФУ = СписокФУ.ВыбратьЭлемент("Необходимо выбрать фискальный регистратор:");
		Если мФУ = Неопределено Тогда
			Предупреждение("Выбор фискального регистратора не был осуществлен.
			               |Продолжение работы невозможно.");
			Отказ = Истина;
			Возврат;
		КонецЕсли;
		мФУ = мФУ.Значение;
	КонецЕсли;
	
	мВидФУ = ПолучитьСерверТО().ПолучитьВид(мФУ);
	
	Если УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ПарольАдминистратораФискальногоРегистратора") <> 0 Тогда
		ЭлементыФормы.НадписьТекущийПользователь.Заголовок = "Администратор: " + глЗначениеПеременной("глТекущийПользователь");
	ИначеЕсли УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ПарольКассираФискальногоРегистратора") <> 0 Тогда
		ЭлементыФормы.НадписьТекущийПользователь.Заголовок = "Кассир: " + глЗначениеПеременной("глТекущийПользователь");
	КонецЕсли;

КонецПроцедуры // ПередОткрытием()
Показать
Оставьте свое сообщение