Инвентаризация акцизных марок

16.08.21

Учетные задачи - Розничная торговля

Инвентаризация акцизных марок + Веб Сервис + Приложение на Андроид

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?] Купить один файл
Инвентаризация акцизных марок:
.epf 36,60Kb
5
5
1 SM
Скачать Купить за 1 850 руб.
Сверка марок в наличии с остатками товаров
.erf 6,35Kb
3
3
1 SM
Скачать Купить за 1 850 руб.

В магазинах самообслуживания "случаются" недостачи товаров. И если это не маркированный товар, то тут нет проблем. Но в магазинах, торгующих алкоголем, необходимо, чтобы учёт совпадал с ЕГАИС. Поэтому мной ещё для 1с8 Розницы 1.0 была написана простенькая обработка (ПроверитьСоответствиеОстатковТоваровСНоменклатуройЕГАИС.erf). При обнаружении недостачи или пересорта определённого вида товара, на компьютере запускалась обработка (ИнвентаризацияАкцизныхМарок.epf), загружались акцизные марки из регистра сведений. Далее бутылки несли к компьютеру и сканировались. 

 

 

"Помощником корректировки остатков ЕГАИС" управляющие магазином отказались пользоваться категорически. Поэтому при переходе на Розницу редакция 2.3 (2.3.9.28) обработки были перенесены на УФ. 

Далее хотелось передавать данные на смартфон, дабы не носить бутылки из подсобного помещения. Я решил сохранять список марок во временный файл, а путь к файлу выводить на экран в виде qr-кода.

 

            
&НаКлиенте
Процедура ОтправитьДанные(Команда)      
	
	Если ЗначениеЗаполнено(Объект.АдресХранилищаМарок) Тогда
		ВыбФайл = Новый Файл(Объект.АдресХранилищаМарок);		
		Если ВыбФайл.Существует() Тогда
			УдалитьФайлы(Объект.АдресХранилищаМарок); 	
		КонецЕсли;
	КонецЕсли;
		
	МассивМарок = Новый Массив;   
	Для Каждого Стр Из МаркиВНаличии Цикл 
		МассивМарок.Добавить(ПолучитьАМ(Стр.АкцизнаяМарка));
	КонецЦикла;
	Объект.АдресХранилищаМарок	= ОтправитьНаСервере(МассивМарок); 

	СформироватьДанныеQRКода(Объект.АдресХранилищаМарок);
	
КонецПроцедуры

&НаСервере
Функция ОтправитьНаСервере(МассивМарок)
	
	АдресХранилищаМарок = ПолучитьИмяВременногоФайла();
	
	ЗаписьJSON = Новый ЗаписьJSON;
	ЗаписьJSON.ОткрытьФайл(АдресХранилищаМарок);
	 
	СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, МассивМарок, НазначениеТипаXML.Явное);
	
	СериализованнаяСтрока = ЗаписьJSON.Закрыть();   
	
	Возврат АдресХранилищаМарок;
	
КонецФункции

&НаСервере
Процедура СформироватьДанныеQRКода(Идентификатор)
	
	ИдентификаторQRКода = Идентификатор;
	ДанныеQRКода = ПоместитьВоВременноеХранилище(
		ГенерацияШтрихкода.ДанныеQRКода(
			Идентификатор,
			0,
			190),
		ЭтотОбъект);
		
КонецПроцедуры

 

 

 

На смартфоне считываем qr-код файла с марками и отправляем его Веб сервису, чтобы получить список марок.

 

 

Первая кнопка сканировать задание


&НаКлиенте
Процедура СкнироватьЗадание(Команда)      
	
	ОчиститьСообщения();
	
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("Форма", ЭтотОбъект);
	ДополнительныеПараметры.Вставить("КодQR", Истина);
	ДополнительныеПараметры.Вставить("ИмяОбработчикаЗакрытияСканирования", "ОбработкаЗакрытияСканирования");
	
	ПодключаемоеОборудованиеКлиент.ПолучитьШтрихкод(ДополнительныеПараметры);    
	
КонецПроцедуры

Вторая кнопка

 


#Область ВебСерверПолучить 

&НаСервере
Функция ПолучитьМаркиНаСервере(АдресМарок)
	
	User	= ЗначениеНастроек.ПолучитьЗначениеКонстанты("Пользователь");
	Pass	= ЗначениеНастроек.ПолучитьЗначениеКонстанты("Пароль");
       
	АдресСервера	= ЗначениеНастроек.ПолучитьЗначениеКонстанты("АдресСервера");    
	ИмяПубликации	= ЗначениеНастроек.ПолучитьЗначениеКонстанты("ИмяПубликации");//"Svr";
	ВебСервис		= ЗначениеНастроек.ПолучитьЗначениеКонстанты("ИмяВебСервиса");//"Stock";      
	
	ВебОпределение	= "/"+ИмяПубликации+"/ws/"+ВебСервис+".1cws?wsdl";	
	
	Определение = Новый WSОпределения("http://"+АдресСервера+ВебОпределение,User,Pass);

	Прокси = Новый WSПрокси(Определение, "http://localhost/"+ВебСервис, ВебСервис, ВебСервис+"Soap");
	Прокси.Пользователь = User;
	Прокси.Пароль 		= Pass;     
	
	Возврат Прокси.GetData(АдресМарок);    

КонецФункции

&НаКлиенте
Процедура ПолучитьМарки(Команда)      
	
	АдресМарок	= ЗначениеНастроек.ПолучитьЗначениеКонстанты("АдресХранилища");	
	СтрокаМарок = ПолучитьМаркиНаСервере(АдресМарок);
	МассивМарок	= СтрРазделить(СтрокаМарок,";");

	ОтправитьМаркиВХранилище(МассивМарок);    
	
КонецПроцедуры    

&НаСервере
Процедура ОтправитьМаркиВХранилище(МассивМарок)

	ТМарки = Новый ТаблицаЗначений;
	ТМарки.Колонки.Добавить("Марка",  	Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(200)));
	ТМарки.Колонки.Добавить("Количество",    Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(3, 0)));
	
	Для Считать=1 По МассивМарок.Количество()  Цикл 
		НоваяСтрока = ТМарки.Добавить();
		НоваяСтрока.Марка = МассивМарок[Считать-1];
		НоваяСтрока.Количество	= 0;		
	КонецЦикла;
	
	Константы["ТаблицаМарок"].Установить(Новый ХранилищеЗначения(ТМарки));

КонецПроцедуры	

#КонецОбласти
 

 

Веб сервис состоит из 2х процедур. Первая отправляет файл с марками, вторая получает марки со смртфона и записывает в тот же файл.

 


Функция GetData(ЗапросСайта)
	
	Возврат ПрочитатьФайлНаСервере(ЗапросСайта);
	
КонецФункции    

&НаСервере
Функция ПрочитатьФайлНаСервере(ЗапросСайта)
	
	ЧтениеJSON = Новый ЧтениеJSON;

	ЧтениеJSON.ОткрытьФайл(ЗапросСайта);
		
	МассивМарок = СериализаторXDTO.ПрочитатьJSON(ЧтениеJSON);	
	
	ЧтениеJSON.Закрыть();
		
	Возврат СтрСоединить(МассивМарок,";");
	
КонецФункции    

Функция PutData(АдресХранилища, СтрМассивМарок)      
	
	Возврат ЗаписатьФайлНаСервере(АдресХранилища,СтрМассивМарок);

КонецФункции

&НаСервере
Функция ЗаписатьФайлНаСервере(АдресХранилища,СтрМассивМарок) 
	
	МассивМарок	= СтрРазделить(СтрМассивМарок,";");
	
	ЗаписьJSON = Новый ЗаписьJSON;
	ЗаписьJSON.ОткрытьФайл(АдресХранилища);
	 
	СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, МассивМарок, НазначениеТипаXML.Явное);
	
	СериализованнаяСтрока = ЗаписьJSON.Закрыть();   
	
	Возврат "1";

КонецФункции


Далее отсканированные марки читаем из файла, который отправил нам смартфон.

&НаКлиенте
Процедура ПолучитьДанные(Команда)
	
	МаркиИзХранилища	= ПолучитьДанныеНаСервере(Объект.АдресХранилищаМарок); 

	Для Считать=0 По МаркиИзХранилища.Количество()-1 Цикл 
		
		ПараметрыОтбора = Новый Структура;
		ПараметрыОтбора.Вставить("ШтрихКодМарки", МаркиИзХранилища[Считать]);
		НайденнаяСтрока = ЭтаФорма.МаркиВНаличии.НайтиСтроки(ПараметрыОтбора);
		
		Если НайденнаяСтрока.Количество() = 0 Тогда
			//Сообщение.Текст	= НСтр("ru = 'Марка не найдена!';"
			//+ " en = 'Article not found!'");
			//Сообщение.Сообщить();
		Иначе
			НайденнаяСтрока[0].Проверена	= Истина;
		КонецЕсли;
	КОнецЦикла;
	
	
КонецПроцедуры

Тестирование производилось на 1С:Предприятие 8.3 (8.3.19.1150). Розница, редакция 2.3 (2.3.9.28), IIS, SQL.

Обработка отчёт Инвентаризация акцизных марок + Веб Сервис +Приложение на Андроид

См. также

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения 1С:CRM ПРОФ, КОРП Россия Платные (руб)

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1). Подключайте любую онлайн кассу к практически любой конфигурации. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Поддерживает разрешительный режим. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows ЭМУЛЯТОР + ЭКВАЙРИНГ + МАРКИРОВКА + ПОДДЕРЖКА ФФД 1.2

6000 руб.

27.02.2017    788212    4755    9507    

2817

Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер Платформа 1С v8.3 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полнофункциональное расширение (ранее известное как Модуль 1С-ЕГАИС) для взаимодействия типовых конфигураций 1С и ЕГАИС, предоставляющее максимум возможностей по работе с УТМ. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

8970 руб.

15.12.2015    168706    807    364    

394

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Пользователь Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Система управления запасами для 1С помогает работать с запасами правильно: автоматически рассчитывает потребность и делает заказ поставщику, загружает прайсы, перемещает товары по филиалам, анализирует продажи и позволяет управлять ассортиментом.

28500 руб.

21.04.2017    93680    119    40    

210

Розничная торговля Маркетплейсы Программист Платформа 1С v8.3 1С:Розница 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Платные (руб)

Модуль для интеграции 1С с сервисом СберМаркет/Купер. Предназначен для обмена данными из торговых точек розничных сетей из баз данных 1С в базы данных СберМаркет/Купер, для отображения информации по товарам, остаткам, ценам, заказам и статусам заказов. Позволяет оперативно начать работать с сервисом СберМаркет, существенно повысить продажи и лояльность клиентов.

35000 руб.

14.10.2022    8737    15    14    

11

Оптовая торговля Розничная торговля Обмен с ГосИС Программист Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)

Данная публикация создана для помощи разработчикам, интеграторам и другим заинтересованным лицам по настройке системы маркировки обуви, одежды, лекарств, табака, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин. Смело задавайте вопросы по работе с ЦРПТ, GS1, ЭДО, Национальным каталогом, накопили достаточно большую базу знаний по данным темам и готовы ответить на все Ваши вопросы.

5000 руб.

18.03.2019    111872    29    114    

182

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки и разрешительного режима.

5400 руб.

25.05.2015    330539    1898    3031    

1013
Оставьте свое сообщение