1С:Интеграция ЕГАИС + Инвентаризация на ТСД

11.01.16

Учетные задачи - Логистика, склад и ТМЦ

Интеграция ЕГАИС модуля для 1С: 8.3 + модуль WMS контура для инвентаризации алкогольных марок на ТСД.

Скачать исходный код

Наименование Файл Версия Размер
Интеграция ЕГАИС 1.9
.cf 12,52Mb
2
.cf 12,52Mb 2 Скачать
Интеграция ЕГАИС (демо версия)
.cf 12,60Mb
11
.cf 12,60Mb 11 Скачать
СправочникиЕГАИС.epf
.epf 7,27Kb
8
.epf 7,27Kb 8 Скачать
Мобильное приложение инентаризации марок.
.xml 567,79Kb
6
.xml 567,79Kb 6 Скачать

 ОБРАБОТКА

Представлю небольшую обработку по парсингу файла xml, загруженного из УТМ модуля ЕГАИС. Подобных примеров уже достаточно много, но данный всего скорей, самый "бюджетный"Smile. Поставлена задача загрузить справоники номенклатуры и контрагентов из заранее сформированных с УТМ файлов, из 65 запрошенных поставщиков получилось порядка 100 тыс. наименований, совсем немало, если учесть, что сопоставить нужно только примерно 2 тысячи наименований.  Загрузку классификаторов можно произвести с использовани ПО Центринформ для оптовиков http://egais2016.ru/files/, но ОК может эксплуатироватся бесплатно в течении периода до 31.03.2016 (триальная версия).

Для парсинга используем COMОбъект("MSXML2.DomDocument.4.0") и COMОбъект("Scripting.FileSystemObject"), можно и стандарные 1С: методы, но больше удобны при формировании. Отличительный момент: файлы содержат ns имена, соответственно их нужно задать в свойства:

xmlDoc.setProperty("SelectionNamespaces","xmlns:rap=""http://fsrar.ru/WEGAIS/ReplyAP"" xmlns:pref=""http://fsrar.ru/WEGAIS/ProductRef"" xmlns:oref=""http://fsrar.ru/WEGAIS/ClientRef""");

Структура 1С справочников, думаю, для специалистов будет понятна из текста самой обработки, ее расписывать не буду.

Вторым этапом будет выполнена загрузка и выгрузка ТТН из(в) УТМ, после того как специально обученные люди сопоставят справочники с номенклатурой и контрагентами КИС.

Безусловные минусы это скорость обработки такого количества элементов, но xml быстрее, всего скорей, не обработать в объектные данные. Было бы неплохо, если бы УТМ готовил файлы в JSON формате. Возможно, как вариант, предварительно конвертировать файлы в СУБД, к примеру, в SQL классический вид, а далее уже com-маccивом тянуть в базу. Думаю, данный финт позволит обработать более 100 тыс. позиций быстрее. Замер времени загрузки на сделанных примерах выполняет это примерно минут за 15, в то время как представленная "обработка" парсила значения сразу в 1С базу более 2-х часов.

 ИНТЕГРАЦИЯ ЕГАИС

Внесен модуль интеграции ЕГАИС в демо режиме. За основу взяты модули от Розница 2.0 и УТ 11, и модернизированы под интеграцию кастомной КИС на платформе 8.3, проверенный функционал: соединение с УТМ и загрузка классификаторов. На текущий момент тестируются ТТН, Справки А и В, соответствия к партиям.

Как писал ранее, выполняется задача по сопоставлению номенклатуры, но на практике эта задача не самая простая оказалась, т.к. ЕГАИС поленился внести штрихкоды в классификатор продукции и теперь вместо того чтобы отобрать два три завода на позицию, приходиться рыскать во всей номенклатуре производителя, а если это импортер "???", как на пример Лудинг это более 10 тыс. товаров на один ИНН.

 ТТН и СПРАВКА А

 Сегодня прогрузили ТТН и справки АБ, и сразу возник вопрос почему в справках А нет номера и даты подтверждения фиксации ЕГАИС? Что дает данный сервис получается не понятно, как проверять поставку б без данной информации? Попытка подгрузить расширенную Справку А, кроме потерянных 30 минут на парсинг ни чего нового не дало, обновились только поля дата отгрузки и кол-во. Погуглил, на данный вопрос пользователя в егаис ответа нет. Поражает и скорость тех. поддержки егаис, вопрос задан 12 ноября , сегодня на дворе 16 декабря 2015 г. :

  http://egais2016.ru/forum/viewtopic.php?t=202

  ИНВЕНТАРИЗАЦИЯ МАРОК

  Тестируем инвентаризацию марок на складе с использование подготовленной WMS и приложения для ТСД на базе 1с:расширение для кпк. ТСД выбираем корейской марки MobileBase DS5 на базе WM 6.5 ОС. Серверная база подготовлена с учетом партий, поэтому привязывать марки будем не только к ШК но и к партиям. Ранее делал публикацию "Складские операции на ТСД", в ней описан принцип сделаных партий //infostart.ru/public/418190. Скрин работы приложения в прил., проводим инвентаризацию на складе, делаем обработку по переносу в Акт постановки на баланс для ЕГАИС.

 В ходе полученной информации по содержанию алкокода в PDF, задача для операторов сопоставить номенклатуру упразднились, т.к. теперь все связки есть и обработка автоматически делает сопоставление через ШК. Для окончательного результата остается привязать к партиям справки А (пошли немного другим путем ,проставляем к партиям номера фиксации, если больше одного номера через запятую), либо попросить поставщиков скинуть через УТМ все поставки за 2015 год, тогда через номер ТТН их можно привязать к данным номенклатуры КИС.

 АКТ ПОСТАНОВКИ НА БАЛАНС

  Ни для кого не новость, что ипортеры вписывали в Справку А по несколько номеров фиксации и куча диапозонов марок без всякого соотвествия, эти поставщики/имортеры и не слишком то спешат выгрузить запрошенные ТТН. Что получили при отправке акта постановки, где попалась такая Справка А, а их как правило процентов 50-75 от всех приходов, а получили отказ в постановке. В первой попытке не совпадает общее количество по Справке А, вторая попытка отправляем равное количеству марок - акт выдает, что данная марка не в диапозоне номера фиксации, начинаем перебирать номера фиксации попорядку, угадали на втором, а их может быть и три и шесть и т.д! Привязка к партиям номеров фиксации особо не спасает ситуацию, т.к. к одной позиции склада может быть два-три алкокода ЕГАИС, причем эти коды в одном диапозоне марок. 

 Перенос инвентаризаций в Акт постановки на баланс, переносим каждую партию в отдельный акт, т.к. не понятно нужно будет перебирать номера фиксации или нет:

Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("Проведен",Истина);
	Запрос.Текст = 
		"ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	ИнвентаризацияТовары.Партия.Ссылка   КАК Партия
		|ИЗ
		|	Документ.Инвентаризация.Товары КАК ИнвентаризацияТовары
		|ГДЕ
	    |  НЕ ИнвентаризацияТовары.Партия.НомерТТН В
	    |			(ВЫБРАТЬ РАЗЛИЧНЫЕ
	    |				ЕГАИСТовары.Ссылка.НомерВходящий
	    |			ИЗ
	    |				Документ.алкТоварноТранспортнаяНакладнаяЕГАИС.Товары КАК ЕГАИСТовары
	    |			ГДЕ
	    |				ЕГАИСТовары.Ссылка.Проведен = &Проведен)";
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		 Док = Документы.алкАктПостановкиНаБалансЕГАИС.СоздатьДокумент();
		 Док.Организация = Справочники.Организации.НайтиПоКоду("000000001");
		 Док.алкПунктРазгрузкиОрганизации = "Склад";
		 Док.Дата = ТекущаяДата();
		 Док.РежимВводаДанныхПоСправкеА = Истина;
		 Док.СтатусДокумента = Перечисления.алкСтатусыДокументовЕГАИС.Создан;
		 Товары = Док.Товары;
		 СтрокаТовара = Товары.Добавить();
		 Партия = ВыборкаДетальныеЗаписи.Партия;
		 СтрокаТовара.АлкогольнаяПродукция  = Партия.Владелец.НоменклатураЕГАИС;
		 СтрокаТовара.ДатаРозливаПоСправкеА = Формат(Сред(Партия.ДатаРозлива,7,4)+Сред(Партия.ДатаРозлива,4,2)+Сред(Партия.ДатаРозлива,1,2),"ДФ=дд.ММ.гггг");
		 СтрокаТовара.ДатаТТНПоСправкеА     = Партия.ДатаТТН;
		 СтрокаТовара.ДатаФиксацииТТНПоСправкеА = Партия.ДатаФиксацииЕГАИС;
		 СтрокаТовара.Количество                = Партия.Остаток;
		 СтрокаТовара.КоличествоПоСправкеА  = Партия.КолРА;
		 Если СтрокаТовара.АлкогольнаяПродукция.Производитель.КодСтраны = "643" Тогда
		 	СтрокаТовара.НомерТТНПоСправкеА    = Партия.НомерТТН;
		 Иначе
			СтрокаТовара.НомерТТНПоСправкеА    = Сред(Партия.ГТД,1,8)+Сред(Партия.ГТД,16);
		 КонецЕсли;
		 СтрокаТовара.НомерФиксацииТТНПоСправкеА = Партия.НомерФиксацииЕГАИС;
		 
		ЗапросМАрок = Новый Запрос;
		ЗапросМАрок.УстановитьПараметр("Партия",Партия);
		ЗапросМАрок.Текст = 
		"ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	ИнвентаризацияТовары.Марка   КАК Марка
		|ИЗ
		|	Документ.Инвентаризация.Товары КАК ИнвентаризацияТовары
		|ГДЕ
	    |   ИнвентаризацияТовары.Партия = &Партия";
	
		РезультатЗапроса = ЗапросМАрок.Выполнить();
		
		ВыборкаМарок = РезультатЗапроса.Выбрать();
		i = 0;
		Пока ВыборкаМарок.Следующий() Цикл
			СтрокаМАрки = Док.КодыМарок.Добавить();
		    СтрокаМАрки.Код = ВыборкаМарок.Марка; 
			i = i + 1;
		КонецЦикла;
		СтрокаТовара.Количество = i;
		Док.Комментарий = Строка(Партия)+ " К:" +Строка(СтрокаТовара.АлкогольнаяПродукция.Производитель.КодСтраны)+" П:"+ Строка(СтрокаТовара.АлкогольнаяПродукция.Производитель) +
		                 " И:"+ Строка(СтрокаТовара.АлкогольнаяПродукция.Импортер);
		Док.Записать();
	КонецЦикла;

ЕГАИС

См. также.

Бюджетный учет Обмен с ГосИС Бухгалтер Пользователь Бухгалтерский учет 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 1С:Управление холдингом Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Управляйте учетной политикой раздельного учета ГОЗ в 1С:Бухгалтерия 3.0 ПРОФ/КОРП и УХ 3.2. Отчеты по исполнению госконтрактов, расчетно-калькуляционные материалы и контроль операций для исполнения в срок. Готовое расширение подходит для всех бухгалтеров и руководителей производства, помогая вести правильный учет по гособоронзаказу в соответствии 275-ФЗ. Профессиональный консалтинг и регулярные обновления продукта.

28.08.2020    213576    1755    vvmanannikov    133    

877

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Пользователь Платформа 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    92734    117    40    

208

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

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

8970 руб.

15.12.2015    167779    737    364    

393

Бюджетный учет Обмен с ГосИС Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Государственные, бюджетные структуры Россия Бухгалтерский учет Платные (руб)

Доработка конфигурации 1С: Бухгалтерия предприятия, редакция 3.0. Предназначена для ведения раздельного учета и автоматизации заполнения отчетности исполнения контрактов ГОЗ в конфигурациях 1С БП КОРП, ПРОФ, БИТ.ФИНАНС.

30000 руб.

16.08.2019    89278    212    85    

132

Обмен с ГосИС Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обработка для обмена платежными документами в формате xml для системы Федерального казначейства "Электронный бюджет" из конфигураций 1С. Поставляется в двух вариантах для БП 3.0 и КА 2.х/ERP 2.х. Работа только с контрагентами.

15000 руб.

14.10.2020    60361    367    101    

290

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

Универсальная конфигурация ХамелеонЗерно для взаимодействия с системой ФГИС Зерно (тестовый+рабочий контур) может использоваться для интеграции в любую конфигурацию на базе 1С, версии ПРОФ и выше. Работа через API 1.0.7 и на API 1.0.8. Для удобства реализован общий интерфейс в виде обработки, схожей с интерфейсом ФГИС Зерно, но возможностей гораздо больше, т.к. при интеграции в Вашу учетную систему, можно на основании Ваших справочников и документов, создавать соответствующие документы и справочники в системе ФГИС Зерно и наоборот.

20400 руб.

27.06.2023    3527    14    0    

12

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

Программа для фулфилмента: модуль "Ответственное хранение" для 1С (УТ 11.5, КА 2.5, ERP 2.5) позволяет организовать учет ответственного хранения товаров с весовыми характеристиками, в том числе со сроком годности и личным кабинетом Поклажедателя. Модуль реализован в виде расширения конфигурации, устанавливается в режиме 1С:Предприятие 8 за 5 минут по инструкции, что позволяет оставить конфигурацию 1С на стандартной поддержке и продолжать получать стандартные обновления от фирмы "1С".

60000 руб.

09.06.2020    35993    29    59    

58
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gzharkoj 509 18.12.15 22:41 Сейчас в теме
По поводу того, что товаров много тысяч позиций, в общем можно делать так: читаете марки, из марок выбираете алкокоды, только по ним делаете запросы в ЕГАИС.
2. JetBrain 79 19.12.15 10:10 Сейчас в теме
(1) ifal, 68 разрядный код марки в формате PDF не содержит алкокода из классификатора ЕГАИС, и даже если сперва провести инвентаризацию то через связку штрихкод - марка не получаем его. Вариант инвентаризации через Checkmark2 код дает, но тогда мы теряем привязку к партии товара, поскольку инвентаризируем как раз тот товар которого нет в подгруженных ТТН за 2015 год.
3. gzharkoj 509 19.12.15 20:13 Сейчас в теме
(2) штрихкод марки в формате pdf-417 содержит алкокод продукции (ссылка - там есть пример кода в комментариях) , вы говорите про какой-то другой код? Это сказано к тому, что вам там надо всего 2 тыс. позиции из 100 тыс, выделив кода из марок и можете только по ним отправить запрос в ЕГАИС. Про партии и про учет ни слова не говорил.
4. JetBrain 79 19.12.15 23:13 Сейчас в теме
(3) ifal, "...для получения AlcСode из QR-кода надо символы с 8 по 19 (12 символов) перевести из тридцатишестеричной
системы счисления в десятичную систему счисления, добавить впереди недостающие ведущие нули,
и получим 19 -ти разрядное число, состоящее только из цифр"? По описанию кода это символы о производителе инн и т.д. , если это не так, то было бы здорово. Спасибо за информацию.
Оставьте свое сообщение