<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55
global $wpdb2;
global $failure;
global $file_hist;
///// echo '<H2><b>Старт загрузки</b></H2><br>';
$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
///// echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}
$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
///// echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}
/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
///// echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
///// echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist); ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7]; ////получаем размер файла
$m_mtime_file=$masiv_data_file[9]; ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file
///// echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
///// echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
///// echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);
if ($results)
{ foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));
////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
///// echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
///// echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}
////загружаем данные
$table='vin_history'; // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация // (путь от корня web-сервера)
$delim=';'; // Разделитель полей в CSV файле
$enclosed='"'; // Кавычки для содержимого полей
$escaped='\
Т.Е ни какого сопоставления, создания документов…
тогда она и на бух и на УТ взлетит?
(1) Tarlich, Да обработка полностью абстрактная, в ней можно только отправить акт всех видов, и посмотреть документы. Необходимые данные хранятся во внешнем файле. Зависимость от конфигурации отсутствует … Интеграции с учетными документами нет — полностью отдельный учет. Ответ на вопрос: Да взлетит , да можно открывать по очереди то там ,тот там, только указывайте одну и туже папку «Каталог хранения данных«
На Рарус-общепит 1.6 будет работать?
(3) MyPuK_OLD, Добрый день! Да подойдет,если Вы запускаете ее на платформе 8.2 в режиме обычного приложения (толстый клиент).
(4) Спасибо за ответ, в данный момент наш общепит работает на 8.1, но я не вижу преград для обновления платформы. Буду обсуждать с руководством.
(5) MyPuK_OLD, Обработка использует только возможности платформы. вы можете использовать обработку в другой БД например в демо-версии одной из типовых конфигураций, хоть ЗУП. Но не забывайте о лицензионном соглашении с 1С и РАРУС. Это должен быть приобретенный продукт… одна эта обработка не дает Вам права использовать 1С.
(6) Да, лицензия на общепит имеется, документы тоже все есть..будем думать..может до 01.07.2016 нам и этого хватит.
на управляемых формах откроется? в рознице 2.1 не хочется делать пока сопоставление и т.п.
(8) vin1c, Добрый день!
Управляемой формы не предусмотрено…
Вы можете создать пустую конфигурацию для разработки(если у Вас не базовая версия) включить в ней режим запуска «Обычное приложение».
Добавьте к ней один справочник чтобы она стала Вашим прикладным решением собственной разработки, и открывайте в ней эту обработку …
Опыт показывает: учитывая нулевую интеграцию к учетной системе, открывать обработку в «соседнем » окне даже удобнее…
а если базовая версия розница 2.1 запустить в обычном приложении мне кажется она тоже откроет эту обработку? у нас куча ноутов в офисе с базовыми версиями и не хочется возится с сопоставлением справочников и т.п всем в принципе нужен только прием накладных.
(10) vin1c, Если у Вас получится запустить Розницу 2.1 в режиме обычного приложения — не вопрос все заработает. Проэксперементируйте с любой «толстой» обработкой если откроется значит и эта обработка откроется. Боюсь что в Рознице 2.1 этот режим не предусмотрен, но на 100 % не уверен пробуйте.
(10) vin1c, Да без проблем будет работать, только функционал самой Розницы будет не доступен. Весь функционал конфигурации доступен в управляемых формах.
А демо или триал есть.? сумма хоть и маленькая ……
(13) Tarlich, Нет. Дэмо и триала нет. Такие версии присущи более крупным решениям. Защита от разтриаливания подобной обработки может стать сложнее самой обработки… Обычно в демо кладут часть функционала, а в самой обработке и так одна существенная функция — отправка акта. Просто верьте гарантиям infostart.ru …
(14) оплатил
(15) Tarlich, Сообщите если возникнут проблемы
Предусмотрена бесплатная поддержка (обновление) (вдруг в Егаисе будут глоб изменения)?
(17) Tarlich, Добрый день! Мелкие изменения однозначно да. Представить себе глобальные изменения пока не могу, думаю их не будет… По крайней мере в части подтверждения факта оприходования(закупки)…
(18) Насколько закрыт код, можно ли будет самостоятельно увеличить функционал(прикрутить привязку). Какая привязка обработки(лицензирование) — у нас база на флешке на двух компьютерах работает.
(19) Filchaleks, Добрый день! Ограничений по лицензиям внутри одного юр. лица(ИП) не предусмотрено. Код полностью открыт. Я не возражаю против использования доработанных версий, как угодно, если это не коммерческий проект, а доработка под собственные нужды. Программной привязки нет.
Что означает сообщение «Нет данных в архиве для сохранения» — в ЕГАИС нет никаких запрашиваемых данных?
(21) derevce, Означает только то, что в таблице сохранения данных нет ни одной записи… Это происходит до момента загрузки первого значимого документа в систему. После появления любой архивной записи сообщение перестанет появляться. Это вызвано тем что для Вас нет пока в егаис ничего… Или Ваш модуль УТМ работает однобоко(не может получить данные с сервера), но сама обработка может видеть только собственный пустой архив. Работу модуля УТМ оценивайте по логам…
почему-то перестали уходить подтверждения актов. (в логах УТМ чисто — только успешное получение накладных). в момент отправки подтверждения обработка как бы «подвисает». очистка транспортного каталога не помогла. в какую сторону копать ?
(23) derevce, Первая рекомендация всегда : перезагрузите компьютер с УТМ. Подвисание при отправке как правило происходит в момент установки подписи (ЭЦП). Проверьте джакарту… Но при этом в логах все равно будут ошибки(если с джакартой что то не так)… Возможно требуется обновление УТМ.
(24) спасибо за ответ. заработало, похоже как раз после обновления УТМ
Доброго дня, правильно ли понимаю, что для ИП данного функционала достаточно и после 01.07? у нас платформа 8.3 — будет работать?
(26) Ольга_tmp, Добрый день! По поводу после 01.07. могу только сказать, что если ИП можно выполнять только приходную часть после этой даты, то да функционал подойдет. По поводу 8.3 отвечаю сама платформа 8.3 подходит, но форма обработки неуправляемая — это значит, что она запускается только в обычном приложении(толстый клиент). Например бухгалтерия предприятия 3.0 и Управление торговлей 11.х запускается только в управляемом приложении, если у Вас не «базовая 1С», то выход есть можно изменить режим запуска конфигурации или создать пустую с режимом запуска «обычное приложение»… Как правило в новых, сопровождаемых, конфигурациях и так есть все необходимое просто поставьте обновления. Это решение создавалось для заброшенных версий и самоделок на базе 1С. Внимание! Прежде чем выбирать решение для интеграции, проверьте работоспособность самого УТМ и сертификатов на джакарте… у ИП зачастую возникали сложности с этим…
Купили и поставили вашу обработку.
Пришли накладные. При нажатии «открыть» в колонке «Управление» на вкладке «поставки» ошибка
Для каждого ТекКлючПроизводитель Из ТекСтрокаТТН.Производитель Цикл
Платформа 8.3.7
Конфигурация БП 3.0.28 в обычном режиме
(27) Terrain25 , Добрый день, загрузили накладные, выбрали одну, нажали «отправить акт».на вкладке Отправленные запроса 2 строчки с QueryPartner и WayBillAct, надо ждать пока ЕГАИС обработает ответы или что-то еще не сделано?
(29) Ольга_tmp, Добрый день! от Вас больше ничего не требуется, просто проследите чтобы впоследствии (обычно в течении 3-20 минут) пришел ответ на акт… Для разных типов актов (расхождение, отказ, подтверждение) разные наборы ответов ….
Спасибо за ответы, обработка отличная, помогает разобраться с сущностью ЕГАИС и стоит каждой копейки..и даже больше)
(30)
Скажите что-нибудь по сообщению (28)
(32) newbas, Добрый день! Я Вам отвечал в ветке техподдержки… Пришлите текст XML WayBill и соответствующей ей FORMBREGINFO, получить тексты можно в соответствующих разделах «входящих» в колонке «ссылка» (нажатие на кнопку открытия)
(33)
Я никаких сообщений не получал. Сейчас скину
(31) Ольга_tmp, Спасибо за одобрение, но вы не нажали на звездочку слева от публикации — по правилам сайта если вы рекомендуете эту разработку то звездочка, если вы остались недовольны то знак «кирпич»
Внимание! Уважаемые пользователи. Подтверждаю информацию в сообщении (28), в арсенале поставщиков появилась программа которая отправляет Документы не прошедшие проверку, в них по отдельным позициям полностью отсутствует информация о производителе. Для подавления ошибки в обработке выпущена новая версия которая будет отправлена каждому покупателю на почту указанную при регистрации заказа на обработку…
Интересует : есть ли доработка не только для приема но и для отправки ТТН нашим покупателям? (желательно УТ 10,3)
Может отдельное решение?
(37) Tarlich, Такой доработки не может быть, для отправки ТТН требуется полная интеграция ЕГАИС УТМ к Вашей учетной системе… Таких решений полно как на этом портале, так и вне его, например от фирмы 1С. Просто надо поставить обновления….
Не реализован ли возврат поставщику?
(39) Tarlich, Добрый день! нет такой функции не предусмотрено…
(40)
Нет ли доработок по запросу остатков?
или (для примера) для каких либо для типовых решений?
(41) Tarlich, На базе вот этого легко сделать:http://infostart.ru/public/402052/
{Обработка.ПростойРозничныйКлиентЕГАИСУТМ.МодульОбъекта(142)}:
Ошибка при вызове конструктора (HTTPСоединение)
НТТР = Новый HTTPСоединение(АдресСервераУТМ, ПортСервераУТМ);
по причине:
Несоответствие типов (параметр номер ‘2’)
(43) Djagernaut, Версия платформы соответствует?
(44) Terrain25,
8.3
Установил режим совместимости, Версия 8.2.16 запросы стали обрабатываться.
(45) Djagernaut, Конструктор HTTPСоединение эволюционировал …