Дорогие друзья! Предлагаю Вашему вниманию обработку, предназначенную для обмена данными из Вашей учетной системы с ЕГАИС, через универсальный транспортный модуль (УТМ).
В обработке реализован весь функционал обмена:
- загрузка справочных данных по контрагентам, производителям, импортерам алкогольной продукции;
- загрузка справочных данных по номенклатуре алкогольной продукции;
- загрузка остатков;
- помощник сопоставления справочных данных и запись их в базу данных;
- загрузка приходных ТТН и справок Б от поставщиков, отправка по ним актов всех типов, создание по ним приходных документов;
- выгрузка расходных ТТН покупателям;
- управление Марками и ведение Регистра 3;
Обработку возможно использовать автономно, не внося изменений в Вашу Учетную систему.
Код открыт.
Очень нужная обработка. Сейчас присматриваюсь какую купить в каталоге инфостарта и на просторах интернета. Эта наиболее приглянулась для типовой ТИС 77. Подожду еще с недельку, наверное остановлюсь на этой.
Функция ИННКПП(Конт,реж)
Если Реж=1 Тогда
Возврат Производитель.ИНН;
Иначе
Возврат Производитель.КПП;
КонецЕсли;
КонецФункции
Процедура ОбработкаПодбора(ВыбЗнач, КонтФормыПодбора)
Сообщить(ВыбЗнач);
КонецПроцедуры // ОбработкаПодбора()
Процедура ПриНачалеРедактированияСтроки()
// ТМЦ=СоздатьОбъект("Справочник.Номенклатура");
Параметр = СоздатьОбъект("СписокЗначений");
Если флЛитраж=1 Тогда Параметр.ДобавитьЗначение(Литраж , "Литраж");иначе Параметр.ДобавитьЗначение(, "Литраж"); КонецЕсли;
Если флПроизводитель=1 Тогда Параметр.ДобавитьЗначение(Производитель , "Производитель"); КонецЕсли;
Если флИмпортер=1 Тогда Параметр.ДобавитьЗначение(Импортер , "Импортер");КонецЕсли;
Если флКатегория=1 Тогда Параметр.ДобавитьЗначение(Категория , "КодТов");иначе Параметр.ДобавитьЗначение(, "КодТов");КонецЕсли;
Параметр.ДобавитьЗначение(НашаНоменклатура , "НашаНоменклатура");
Параметр.ДобавитьЗначение(глВзятьКонтекст(Контекст) , "Контекст");
// открываем форму
ОткрытьФормуМодально("Справочник.Номенклатура.ЕГАИС", Параметр);
Сообщить( Параметр.Получить("НашаНоменклатура").ТекущийЭлемент());
НашаНоменклатура= Параметр.Получить("НашаНоменклатура").ТекущийЭлемент();
КонецПроцедуры
Процедура ПриВыбореСтроки()
// Форма может быть открыта для выбора из процедур ПриНачалеВыбораЗначения()
// в модальном режиме. В этом случае результат выбора передается передается
// через параметр формы.
Форма.Параметр = ТекущийЭлемент();
КонецПроцедуры // ПриВыбореСтроки()
флЛитраж=1;
флПроизводитель=0;
флИмпортер=0;
флКатегория=1;
Показать
Спр.Номенклатура Форма Списка ЕГАИС
Перем Парам;
Перем Литр,Креп,Пр,Имп,КодТов;
Процедура П()
ИерархическийСписок(0,0);
ИспользоватьСписокЭлементов();
СписОтбора= СоздатьОбъект("СписокЗначений");
СпрТовары= СоздатьОбъект("Справочник.Номенклатура");
СпрТовары.ВыбратьЭлементы();
Пока СпрТовары.ПолучитьЭлемент() = 1 Цикл
Если Число(Литр)<>0 ТОгда
Ст("есть отбор по Литражу:"+Строка(Литр));
Если СпрТовары.Литраж<>Литр Тогда Продолжить; КонецЕсли;
КонецЕсли;
Если Число(Креп)<>0 ТОгда
Ст("есть отбор по Крепости:"+Строка(Креп));
Если СпрТовары.Крепость=Креп Тогда Продолжить; КонецЕсли;
КонецЕсли;
Если Число(КодТов)<>0 ТОгда
Ст("есть отбор по Категории:"+Строка(КодТов));
Если Число(СпрТовары.Категория.Код)<>Число(КодТов) Тогда Продолжить; КонецЕсли;
КонецЕсли;
Если СОКРЛП(ПР)<>"" ТОгда
Ст("есть отбор по ПР:"+Строка(Производитель));
Если (Пр.ИНН=Производитель.ИНН)и(Пр.КПП=Производитель.КПП) Тогда иначе Продолжить; КонецЕсли;
КонецЕсли;
Если СОКРЛП(Имп)<>"" ТОгда
Ст("есть отбор по Имп:"+Строка(Производитель));
Если (Пр.ИНН=Производитель.ИНН)и(Пр.КПП=Производитель.КПП) Тогда иначе Продолжить; КонецЕсли;
КонецЕсли;
СписОтбора.ДобавитьЗначение(СпрТовары.ТекущийЭлемент());
КонецЦикла;
ИспользоватьСписокЭлементов(СписОтбора);
КонецПроцедуры
Процедура ПриНачалеРедактированияСтроки()
Параметр = "Выбор";
КонецПроцедуры
Процедура ПриВыбореСтроки()
Сообщить(1);
Форма.Параметр.Установить("НашаНоменклатура",ТекущийЭлемент());
Форма.Параметр.Установить("СтатусВозврата", 1);
Форма.Закрыть();
Возврат;
КонецПроцедуры // ПриВыбореСтроки()
Функция ИННКПП(Конт,реж)
Если Реж=1 Тогда
Возврат Производитель.ИНН;
Иначе
Возврат Производитель.КПП;
КонецЕсли;
КонецФункции
Процедура ПриОткрытии()
Если ТипЗначенияСтр(Форма.Параметр) <> "СписокЗначений" Тогда
Предупреждение("Форма вызывается только для целей подбора партий в документе!", 60);
СтатусВозврата(0);
Возврат;
КонецЕсли;
Литр = Форма.Параметр.Получить("Литраж");
Сообщить(Литр);
Креп = Форма.Параметр.Получить("Крепость");
Пр= Форма.Параметр.Получить("Производитель");
Имп = Форма.Параметр.Получить("Импортер");
КодТов = Форма.Параметр.Получить("КодТов");
НашаНоменклатура = Форма.Параметр.Получить("НашаНоменклатура");
Сообщить("Подбор с применением фильтров Литраж:"+Строка(Литр)+Строка(", Крепость: ")+Строка(Креп)+Строка(", Пр:")+Строка(Производитель.ИНН)+Строка(", Производитель КПП:")+Строка(Производитель.КПП));
П() ;
// Форма.Параметр.Установить("СтатусВозврата" , 0);
Форма.ОбработкаВыбораСтроки(1);
КонецПроцедуры
Процедура ПриПовторномОткрытии()
ПриОткрытии() ;
КонецПроцедуры
Процедура ДобавитьВсехКонтеров(ЗначПод)
СООБЩИТЬ(ЗначПод);
Если ЗначПод = "Контрагенты" Тогда
С=Создатьобъект("Справочник.Контрагенты");
С.ВыбратьЭлементы();
сч=0;
Пока С.ПолучитьЭлемент()=1 Цикл
Стр = 0;
Если (СТРДЛИНА(сокрлп(С.ИННЮрЛица))<>10) Тогда пРОДОЛЖИТЬ; КонецЕсли;
Если (ИННТЗ.НайтиЗначение(С.ИННЮрЛица,Стр,"INN")=1) Тогда пРОДОЛЖИТЬ; КонецЕсли;
//дубли
д=0;
ИННТЗ.ВыбратьСтроки();
стр=0;
Пока ИННТЗ.ПолучитьСтроку()=1 Цикл
стр=стр+1;
Если ИННТЗ.НайтиЗначение(СокрЛП(С.ИННЮрЛица),Стр,"INN")=1 Тогда Сообщить(С.ИННЮрЛица); д=1; Прервать; КонецЕсли;
КонецЦикла;
Сообщить(С);
Если д=0 ТОгда
сч=сч+1;
// Если сч>10 Тогда
// прервать;
// КонецЕсли;
ИННТЗ.НоваяСтрока();
ИННТЗ.УстановитьЗначение(сч,1,2);
//Сообщить(ShortName);
ИННТЗ.ShortName = С.Наименование;
ИННТЗ.INN = СОКРЛП(С.ИННЮрЛица);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ДобавитьВсехПР(ЗначПод)
СООБЩИТЬ(ЗначПод);
Если ЗначПод = "Производители" Тогда
С=Создатьобъект("Справочник.Производители");
С.ВыбратьЭлементы();
сч=0;
Пока С.ПолучитьЭлемент()=1 Цикл
Стр = 0;
Если (СТРДЛИНА(сокрлп(С.ИНН))<>10) Тогда пРОДОЛЖИТЬ; КонецЕсли;
//дубли
д=0;
ИННТЗ.ВыбратьСтроки();
стр=0;
Пока ИННТЗ.ПолучитьСтроку()=1 Цикл
стр=стр+1;
Если ИННТЗ.НайтиЗначение(СокрЛП(С.ИНН),Стр,"INN")=1 Тогда д=1;Сообщить(С.ИНН); Прервать; КонецЕсли;
КонецЦикла;
Сообщить(С);
Если д=0 ТОгда
сч=сч+1;
// Если сч>10 Тогда прервать;КонецЕсли;
ИННТЗ.НоваяСтрока();
ИННТЗ.УстановитьЗначение(сч,1,2);
//Сообщить(ShortName);
ИННТЗ.ShortName = С.Наименование;
ИННТЗ.INN = СОКРЛП(С.ИНН);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура РаботаСоСписком(Режим,Таблица,ТипСправочника)
Перем ТекПоз;
Перем ТекЭлемент;
Перем Фрм;
ТекПоз = Таблица.ТекущаяСтрока();
Если Режим="Добавить" Тогда // добавляем в список один элемент
СписокПодбора = Таблица;
СправочникПодбора = ВРег(ТипСправочника);
// открываем окно подбора
ОткрытьПодбор("Справочник."+ТипСправочника,,Фрм,0,ТекЭлемент);
Фрм.ВыборГруппы(1);
ИначеЕсли Режим="ДобавитьНесколько" Тогда // добавляем в список несколько элементов
СписокПодбора = Таблица;
СправочникПодбора = ВРег(ТипСправочника);
// открываем окно подбора
ОткрытьПодбор("Справочник."+ТипСправочника,,Фрм,1,ТекЭлемент);
Фрм.ВыборГруппы(1);
ИначеЕсли Режим="ДобавитьВсе" Тогда // добавляем в список несколько элементов
ДобавитьВсехКонтеров(ТипСправочника);
ИначеЕсли Режим="ДобавитьВсеПР" Тогда // добавляем в список несколько элементов
ДобавитьВсехПР(ТипСправочника);
ИначеЕсли Режим="УдалитьВсе" Тогда // удаляем все элементы из списка
Таблица.УдалитьСтроки();
ИначеЕсли Режим="Удалить" Тогда // удаляем из списка один элемент
Если ТекПоз>0 Тогда
Таблица.УдалитьСтроку(ТекПоз);
КонецЕсли;
КонецЕсли;
КонецПроцедуры // работа со списком
Возникла небольшая проблема, если меняем УТМ, то проверка УТМ выдает номер версии первой УТМ, при которой заходили в обработку. Нужно выйти из обработки,
оставив вторую УТМ и снова зайти в обработку, тогда будет работать правильная проверка УТМ для второй УТМ. Увидел это,т.к. стояли разные УТМ рабочая и тестовая на разных фирмах. Вызов проверки УТМ "ПолучитьFSRAR_ID(1)", здесь стоит цифра 1. Берет только текущую строку УТМ.
При приеме накладных от нескольких поставщиков вываливается
АПТЗ.AlcVolume = СокрЛП(ПолучитьЭлемент(хмл_Товар,"AlcVolume";).Text);
{C:\2.0\EGAIS (1)\EGAIS\OBMEN_EGAIS.ERT(3508)}: Значение не представляет агрегатный объект (Text)
понятно что они что-то намудрили с типом переменной, но что с этим делать если они наотрез отказываются у себя что-то менять, аргументируя это тем что с другими контрагентами никаких проблем нет.
rvs-slim, небольшие замечания по загрузке внешних компонент (1с++, FormEx):
1) 1с++ рекомендуется загружать перед FormEx, а не наоборот
2) перез загрузкой внешних компонент предлагаю делать проверку, не были ли они загружены ДО запуска обработки Obmen_egais.ert. Иначе Формекс будет недоступна у вас для использования, а 1с++ загрузиться дважды.
Предлагаю следующее изменение кода:
ПлюсыЗагужены = 1;
Попытка
Модуль = СоздатьОбъект("ВыполняемыйМодуль"); //проверка того, что 1С++ была уже загружена
Исключение
//Компонента Отображения сетки
Если ЗагрузитьВнешнююКомпоненту("1cpp.dll")=0 Тогда
СообщитьПр("Неудачная попытка загрузить 1cpp.dll Некоторые функции будут недоступны !!!");
ПлюсыЗагужены = 0;
КонецЕсли;
КонецПопытки;
Если ПлюсыЗагужены = 1 Тогда
Попытка
МетаИнфо = СоздатьОбъект("MetaInfoClasses");
Версия = МетаИнфо.ПолучитьВерсиюФайла();
Исключение
СообщитьПр("Для корректной работы необходимо использовать 1с++ версии не ниже 3.0.0.0");
ПлюсыЗагужены = 0
КонецПопытки;
Если (Число(Версия) < 3) и (ПлюсыЗагужены=1) Тогда
СообщитьПр("Для корректной работы необходимо использовать 1с++ версии не ниже 3.0.0.0");
ПлюсыЗагужены = 0
КонецЕсли;
Если ПлюсыЗагужены = 0 Тогда
СообщитьПр("Неудачная попытка загрузить 1cpp.dll Некоторые функции будут недоступны !!!");
КонецЕсли;
КонецЕсли;
Попытка
//Компонента расскраски строк
глСервис_FormEx = СоздатьОбъект("Сервис");
Исключение
Если ЗагрузитьВнешнююКомпоненту("FormEx.dll") = 0 Тогда //
//СообщитьПр("Неудачная попытка загрузить FormEx.dll Некоторые функции будут недоступны !!!");
КонецЕсли;
КонецПопытки;
Попытка
Если ПустоеЗначение(глСервис_FormEx)=1 Тогда
глСервис_FormEx = СоздатьОбъект("Сервис");
КонецЕсли;
глСервис_FormEx = СоздатьОбъект("Сервис");
//разрешаем использование раскраски таблиц
глСервис_FormEx.ВключитьРаскраскуТаблиц();
//добавляем индикатор клавиатуры и часы в статус бар
глСервис_FormEx.ПоказыватьИндикаторКлавиатуры(1);
//глСервис_FormEx.УстановитьОбои("Logo",5,0);
глДопМодуль = 0;
Исключение
СообщитьПр("Неудачная попытка загрузить FormEx.dll Некоторые функции будут недоступны !!!");
КонецПопытки;
купил обработку, вопрос в следующем: как с обновлениями? каждый раз покупку делать? или есть какой то период на бесплатное обновление?
Далее по самой обработке
вот этот участок в функции записатьфирму() пишет неверный код соответствия.
Справочник=СоздатьОбъект("Справочник.Контрагенты");
Если Справочник.НайтиПоКоду(Зн) = 1 Тогда
Эл = Справочник.ТекущийЭлемент();
ТекстПривязкиСтр = "Код: "+Эл.Код+" "+Эл.Наименование+" ИНН/КПП: "+Эл.ИННКПП+" Адрес: "+Эл.АдресАкцизногоСклада;
Если Справочник.НайтиПоКоду(Code) = 1 Тогда
Эл = Справочник.ТекущийЭлемент();
ТекстПривязкиНов = "Код: "+Эл.Код+" "+Эл.Наименование+" ИНН/КПП: "+Эл.ИННКПП+" Адрес: "+Эл.АдресАкцизногоСклада;
Если Вопрос("В БД обнаружена привязка кодов!!!("+СокрЛП(ClientRegId)+")"+РазделительСтрок+"Найдена:"+ТекстПривязкиСтр+РазделительСтрок+"Новая:"+ТекстПривязкиНов+РазделительСтрок+"Заменить на новую?","Да+Нет",60) <> "Да" Тогда
Возврат 0;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Показать
делаю запрос по производителю при записи в БД сначала ошибка, ругается на отстутсвие поля иннкпп, когда руками прописываешь .юрфизлицо.ИНН делает запись о контрагенте-производителе,но код берет из юрфизлица а не из контрагента-в торговле спрачоник юрлиц и контрагентов разный
как быть в этой ситуации?
(5) ivanov_alex, Друзья для тех кто купил обработку, обновления как писал выше, полностью бесплатны...
Текущая версия 1.2 (на 16.11.2015)
по процессу обновления: предлагаю, кому необходимо, выслать в личку свою почту или логин, (я знаю, что некоторым нужна только "рыба"...)
Вопрос к тем кто уже приобрел обработку: насколько легко интегрируется?
Предложение к создателю: думаю что инструкция, хоть в самом минимальном варианте, для конечных пользователей нужна. Типа интеграцию провел, дал инструкцию пользователям и пусть учатся пользоваться.
(6) zaoproxy, распаковал архив, посомтрел подключены ли 1cpp и formex если нет, отдельная папка там бантик нужно запустить один раз
потом открываешь обработку в базе, заполняешь фсрарИД и пользуешься
если поля по другому называются адаптируй под себя
при сопоставлении номенклатуры открывается форма для выбора, но выбирать не дает, открывает карточку номенклатуры, если жмешь закрыть возвращает пустой параметр и ошибку про параметр.код
как пофиксить?
Есть вопросы к автору:
Через какие объекты сделано чтение, запись XML и отправка XML к УТМ?
Используется ли curl?
На каких по размеру XML тестировалась обработка?
Добрый день. Есть конфигурация "Бизнес-Логика: Винно-водочная Торговля. Стандартная версия, ред. 9.291 (Торговля+Склад)" Пойдет эта обработка для нее? Где хранятся справочники соответствия? Данные о товаре и контрагенте ЕГАИС? (Алко код, ID контрагента и тд.) Возможно будет доработать ее самостоятельно ? (между структурными подразделениями делается документ перемещение)
(14) dvoinik,
Добрый день. Есть конфигурация "Бизнес-Логика: Винно-водочная Торговля. Стандартная версия, ред. 9.291 (Торговля+Склад)" Пойдет эта обработка для нее?
Подойдет, на ней и пишется…
Где хранятся справочники соответствия? Данные о товаре и контрагенте ЕГАИС? Данные о товаре и контрагенте ЕГАИС?
Локально в указанном Вами месте, при первом запуске обработки (задаем каталог хранения и жмем кнопку Инициализация) Несложно доработать и хранить где угодно механизм одинаковый, код открыт…, но мне кажется это лишним, так как всего позиций .. ну не более 10 тыс. а это в поиске соответствий доли сек. И накоплений здесь не происходит… Таблица соответствий максимально облегчена… и т.п.
Возможно будет доработать ее самостоятельно ? см. выше…
(16) viktorn,
Обработка приобретается один раз!
Обновление:
1 вариант: Вы получаете ссылку на скачивание, она действительна для Вас бесконечно долго (так объяснил представитель инфостарта), при обновлении версии, по той же ссылке Вы еще раз скачиваете уже обновленный архив.
2 вариант: Вы делаете запрос с указанием почтового адреса покупки программы, далее обновления Вы получаете на почту по запросу (Здесь я постараюсь оперативно указывать новую версию…)
Друзья поступают однотипные вопросы, отвечу здесь:
1.Насколько рабочая и проверенная в работе с реальнымы накладными?
Сейчас идет тестовый режим работы с ЕГАИС, все накладные отправленные Поставщиками (производители/Импортеры/Оптовики) в системе видны и загружаются..на основе их создаются приходные накладные в учетной системе… Все обработанные поступления (составлен какой либо из Актов) видны в остатках… Выбрав Расходный документ формируется ТТН .. и т.п. а вот насколько данные циркулирующие в системе сейчас Реальны? Сомневаюсь, данные тестовые (в этом легко убедится загрузив АП от производителей… видны явные ляпы…)
2.Много ли придется переделывать? Думаю, что нет.. тем более от помощи и техподдержки я не отказываюсь, а с учетом Ваших предложений доработаем до хорошего уровня, кроме того эта обработка работает в реально существующей организации, где имеет место и опт и розница...
(20) mootriskoff, мы помогаем правительству избавить и без того пьющих людей от паленки и контрафакта, торгуя качественным продуктом, вспомните 90-е годы и засилие контрафакта на алкорынке и как следствие черезмерный рост смертности от этого контрафакта
запретите людям пить и они вам свернут за это голову. проверено неоднократно
Хорошо было бы еще сделать формирование Журнала розничных продаж - фиктивного, конечно же, но с максимальным приближением к реальности (т.е. с учетом приходов, рандомным списанием в течение заданного пользователем периода). Ведь это одна из основных проблем розничных продавцов, у которых не автоматизирован товарный учет - закупку подтвердить то подтвердим через Вашу обработку, а вот вести Журнал предстоит вручную.
Добрый день. Купил обработку. Указал код ФС РАР.
1) Важно ли расположение каталогов с данной обработкой (локально или на сервере)?
2) Каким образом проверить подключены ли DLL? при запуске файла с регистрацией, выходит сообщение "Не удалось загрузить модуль ..."
3) Делаю запрос по организации - "21:39:19 - Запрос справочника по ИНН ... Файл "reply.xml" не найден!"
4) Делаю запрос по контрагенту - "21:39:49 - Запрос справочника по ИНН 7726260234
Файл "reply.xml" не найден!"
Во входящих ничего нет, при обновлении "Файл "\\...\Torg\EGAIS\Temp\reply.xml" не найден!"
Что делаю не так? Как проверить работает ли обработка?
(27) s_v_p,
Посмотрите вкладку Настройки
Должно быть примерно так:
Каталог хранения файлов обмена: C:\TT\Temp\
Каталог БД соответствий:C:\DemoDB\ExtForms\EGAIS\
Если у Вас не так исправьте...
По dll: система вероятно Win7 x64? тогда используйте regsvr32, из каталога syswow64
Поменял каталог хранения файлов обмена на C:\TT\Temp\.
Каталог БД соответствий оставил в сетевой папке.
Заработало только после того, как я скинул в C:\TT\Temp\ ранее скаченный curl для своей системы.
По dll: у меня система W7x32, так их и не зарегистрировал, хотя брал regsvr32 из системы, скопировал dll везде где можно и вот чудо, при работе с запросами 1Cpp сама зарегистрировалась ""1С++ Загружен. Требуется открыть обработку еще раз!"".
В итоге запросы приходят, разбираюсь с соответствиями: пока не понятно, почему не доступны кнопки "Отвязать контрагента" и "Отвязать номенклатуру", что если не так привязали?
Указанные в настройках каталоги должны СУЩЕСТВОВАТЬ!!!
И еще, попробуйте запросить остатки...
и посмотреть http://localhost:8080/opt/in/ Текущая версия обработки 1.3 (добавлена вкладка Розница)
У меня при запуске curl.exe сообщение, что версия C://TT/Temp/curl.exe не совместима с версией Win 7. У меня 32 разрядная Максимальная. При запуске Установить.bat регистрируется только OcvitaBarcode.ocx, библиотеки 1CPP.dll и FormEx.dll не регистрируются (пишет не удалось загрузить модуль)
Наконец заработало после того как скачал пакет curl http://curl.haxx.se/dlwiz/?type=bin и кинул curl.exe в папку C:/TT/Temp. Остается только вопрос с регистрацией модулей из папки DLL
Не долго музыка играла... Запросы формируются (На вкладке Справочники в таблице Запросы в ЕГАИС по нашей организации появляется ЗапросИД). Выскакивает окно ожидания или отмены. Делаю отмену. Жду 10 мин. Нажимаю кнопку Проверить/Загрузить ответы. Перехожу на вкладку Входящие. Жму кнопку Обновить и Загрузить ответы. Все таблицы пустые. Новую версию обработки 1.3 скачал и переустановил. В чем проблема.
Правильно я понял: по Вашему ИНН ответ системы пуст. Т.е. фирм с таким инн в ЕГАИС не зарегистрировано? Обычно ситуация обратная на один инн есть множество подразделений среди которых по кпп надо выбрать свою...
(36) Здравствуйте. Как таких фирм не зарегистрировано, если я получил из ЕГАИС сертификат RSA на КПП обособленного подразделения. Проверил также в сводном реестре лицензий на fsrar.ru . По нашему ИНН указано 3 разных КПП и 3 разных адреса деятельности. Один КПП по месту регистрации организации и 2 КПП по обособленным подразделениям. При входе в личный кабинет ЕГАИС тоже показывает 3 адреса деятельности и 3 КПП. По одному из них и получил RSA сертификат. И снова тот же вопрос почему не регистрируются модули из DLL ? Объясните подробней куда их кидать и как запускать регистрацию ?
Ошибка: после привязке номенклатуры во многих позициях повторяются кодБД (на закладке приход и справочники).
Предложение по улучшению: при привязке (синзронизации) номенклатуры, сделать поиск по производителю/крепости/емкость/кодАП
Снимаю вопрос по дублям - это один товар с разными справками А и Б, но появились новые:
1) делаю "Акт подтверждения" , как понять прошло все или нет?
2) что будет, если я удалю все запросы и документы без подтверждения прихода, они так и будут висеть неподтвержденные где-то в недрах ЕГАИСа?
И все-таки хотелось бы получить подробную инструкцию, чтобы не задавать глупых вопросов
Еще одно предложение: при поиске товаров не показывать те из них, которые уже привязаны
(48) s_v_p,
1) делаю "Акт подтверждения" , как понять прошло все или нет?
У Вас во Входящих должны появиться квитанции…
Сейчас работаю на тем, чтобы все Входящие документы выстраивались в Дерево, т.е. Вы получили ТТН (+ справки Б), подтвердили ее Актом, получили квитанции…
все эти документы должны объединиться в ветку, посмотрим должно получиться нагляднее…
Ну и конечно результат Вашего Акта должен отразиться на Остатках.
2) что будет, если я удалю все запросы и документы без подтверждения прихода, они так и будут висеть неподтвержденные где-то в недрах ЕГАИСа?
Думаю если Вы НЕ будете реагировать на Входящие документы (не подтверждать прием товара), то больше отгрузок от Вашего Дорогого Поставщика Вы не дождетесь…
Поставщик в свою очередь приобрел право за Вас отправить Акт отказа….
1) делаю "Акт подтверждения" , как понять прошло все или нет?
У Вас во Входящих должны появиться квитанции…
Сейчас работаю на тем, чтобы все Входящие документы выстраивались в Дерево, т.е. Вы получили ТТН (+ справки Б), подтвердили ее Актом, получили квитанции…
все эти документы должны объединиться в ветку, посмотрим должно получиться нагляднее…
Ну и конечно результат Вашего Акта должен отразиться на Остатках.
Я бы предложил: при удачном подтверждении акта удалять приход со справками из входящих (с вопросом), может быть при этом на всякий случай сохранить во временную базу на какой-то период , но и там ее удалять по прошествию например 7 дней.
2) что будет, если я удалю все запросы и документы без подтверждения прихода, они так и будут висеть неподтвержденные где-то в недрах ЕГАИСа?
Думаю если Вы НЕ будете реагировать на Входящие документы (не подтверждать прием товара), то больше отгрузок от Вашего Дорогого Поставщика Вы не дождетесь…
Поставщик в свою очередь приобрел право за Вас отправить Акт отказа….
я немного про другое спрашивал, про опасность того, что пользователь случайно удалит из входящих приход, этот вопрос перекликается с первым, если приходы будут удаляться автоматом после актов, то и пользователю незачем ползать во входящих и удалять все вручную
(52) s_v_p,
Ок! Давайте вместе над этим подумаем (обсудим предлагайте)...
А пока сделаем:
-Акт постановки на баланс;
-Акт о списании товара;
-Проверку любых исходящих движений товара на соответствие остаткам в ЕГАИС;
-Продвинутого Помощника управлением связями кодов ЕГАИС и нашей УС; -Архивные каталоги, куда будем сохранять все полученные/сформированные документы…
<A>
<error>org.xml.sax.SAXParseException; cvc-pattern-valid: Value '' is not facet-valid with respect to pattern '[0-9]{9}' for type 'KPPType'.</error>
<ver>2</ver>
</A>
я понял, что 'KPPType' нет в обработке. в описании утм тоже нет. а в схемах есть.
Дорогие друзья! Писать инструкцию, к сожалению, абсолютно нет времени.
Пытаюсь все сделать дружелюбно и понятно, цена обработки считаю вполне адекватна, для того чтобы самим немного вникнуть…
А небольшая «Помощь» создается Здесь при обсуждении с Вами ее работы…
Спасибо за понимание..
Жду Ваших предложений...
(57) trofimovalexey
При работе с ЕГАИС распределннности не нужно. Работа со справочником в последней версии оптимизирована Вы скоро это увидите. ..используется Помощник.
(57) trofimovalexey,
У нас распределенная база. Сомнения о возможности работать с одной папкой синхронизации не покидают и меня.
В версии 1.4 решена эта задача?
(83) ilyins,
Алексей, для решения задачи по распределенности необходимо таблицы хранения соответствий реализовать в конфигурации и вкл в раср. обмен, но здесь об автономности обработки тогда можно забыть. .
Если многим это нужно, пишите здесь..
Будут желающие сделаем.. или сделаем второй вариант с изменением конфы..
Хотя Код открыт можете сами это сделать. .
(84) заказал обработку отдал счет в бухгалтерию, думаю сегодня оплатят. в идеале бы обращения к хранимым данным локализовать в отдельных процедурах/функциях.
Чтобы люди с распределенками или теми кому просто удобнее хранить соотвествия, коды и тд в самой 1с подправили бы один раз эти места под себя и при обновлениях обработки просто копировали пару процедур,а не лопатили весь код. Еще вопрос судя по скриншотам ттн-ки покупателям отправляются по одной. А какой-то пакетный режим планируется?
P. S. спасибо вам от всех семерочников, помогаете многим людям неоценимо!
(85) knight, Еще одна проблема может возникнуть из-за дублей номенклатуры и контрагентов в ЕГАИС - 1 позиция в 1с должна включать в себя несколько позиций из ЕГАИС.
Добрый день, в вашей обработке определение "справки Б" прихода ТТН определяется по полю
<wb:InformB>
<!--Раздел Б - ид записи предыдущей отгрузки (по которому продукция поступила на склад)-->
<pref:InformBItem>
<pref:BRegId>000000000000008</pref:BRegId>
</pref:InformBItem>
из самой ТТН, что, вроде, в корне не корректно, ибо это справка-б прихода товара к нашему поставщику.
У нас же данные по справке Б надо получать из файла FORMBREGINFO, где в поле
Еще столкнулся спроблемой, в Егаим адреса выглядят так РОССИЯ,,ТВЕРСКАЯ ОБЛ,Конаковский р-н,,Новозавидовский пгт,Первомайский пер,д. 1,, , однако страну и регион нужно отправлять кодом.
Еще столкнулся спроблемой, в Егаисе адреса выглядят так: РОССИЯ,,ТВЕРСКАЯ ОБЛ,Конаковский р-н,,Новозавидовский пгт,Первомайский пер,д. 1,, , однако страну и регион нужно отправлять кодами.
(64) serg75,
Во вкладке Водящие (после кнопки Обновить) загружаются все входящие Документы, в текущей версии они отсортированы по типу и дате прихода,
соответственно самый последний Документ Остатки содержит самые актуальные данные, ставим на нем Отметку и жмем Загрузить ответы….
Переходим на вкладку Остатки, там все должно уже быть…
Добрый день! Обработку уже приобрели. Спасибо! А как получить новую версию? И неплохо бы описание, хотя бы краткое. Например не понятно, нажали "Акт подтверждения", в сообщении написала "отправка акта". Как понять, отправилось (добралось) до ЕГАИС наше подтверждение?
(65) Пользователь 1С
Новая версия проверятся и дорабатывается (что-бы у Вас возникало меньше трудностей, думаю на этой неделе выйдет)…
А как получить новую версию? См. выше…
Например не понятно, нажали "Акт подтверждения", в сообщении написала "отправка акта". Как понять, отправилось (добралось) до ЕГАИС наше подтверждение?
В ответ должны прийти две квитанции… и Товар (подтвержденный) появиться в Остатках… Кстати, этот вопрос поднимался чуть выше…
Далее, планируется сделать Архив входящих документов, после этого успешно подтвержденные документы можно будет автоматически удалять…
(67) Вы имеете по "см выше" в виду перечитать ветку или это написано в описании? Я так понял, появится ссылка для скачивания? И всё же, краткая инструкции не помешала бы. Я, к примеру, минут 10 прокопался, пока понял, как каталоги задать) впрочем, как программист, Вас понимаю, в нашей работе самое нудное и грустное, это писать инструкции, которые потом никто не читает (я про пользователей - бухгалтеров) :)
(69) trofimovalexey,
Да Алексей спасибо, в версии 1.4 уже изменен тип идентификаторов в таблицах на строковые (кнопка Модернизировать БД)
(действительно проблема в "отсутствии" организации в ЕГАИС, вероятно кроется в потери нулей слева при преобразовании строки в число)..
(76) 2 числа в Москве будет совещание по опту. мне непонятна позиция фирмы 1с. есть к примеру утап 195-последний релиз. там учет ведется по сериям. ждать новое обновление придётся если они примут помарочное сканирование, а время на исходе. как-то у них все про розницу и про розницу. я очень благодарен данному автору, что он вселяет надежду для решения общей проблемы- пережить 1января+получить неплохой набросок для опта. пока я только со справочниками работаю+ документы попытался отправить. в утап не работает ничего. выводы:
Купил. Плюсую.
Однако - ошибка имеет место при отправке акта расхождений.
В запросе два раза повторяется wa:Content
Это потому, что в процедуре ОтправитьАкт()
Дважды встречается:
...
Content = WayBillAct.appendChild(DOMDocument.createElement("wa:Content"));
...
ИначеЕсли Вид=3 Тогда
...
Content = WayBillAct.appendChild(DOMDocument.createElement("wa:Content"));
...
УТМ это не ест. Давится ошибкой.
И ЕЩЕ:
Ошибка в в логике этой же процедуре:
В строке: ПриходТЗ.RealQuantity<ПриходТЗ.Quantity нужно бы поствить знак <=
А то ругань идет по каждой строке, где факт равен кол-ву поставщика.
Друзья поступает типовой вопрос про версию 1.4!
К концу недели будет доступна для обновления и скачивания, хочется реализовать большинство Ваших предложений указанных и в форуме и в личке, по удобству, ясности, и минимизации ошибок… Спасибо..
При запросе справочников пишет ошибки.
УзелA=DOMDocument.getElementsByTagName("A").item(0);
{D:\ALCOP\EGAIS\OBMEN_EGAIS.ERT(2021)}: Плохой тип переменной
(87) dvoinik,
Посмотрите сам ответ (reply.xml) когда происходит ошибка «Плохой тип переменной».
Скорее всего с ним что то не в порядке, в личку файл-ответ скиньте… будет яснее...