<?php // Полная загрузка сервисных книжек, создан 2025-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='\
Если достаточно хорошо владеть программой, то штатные возможности Розницы выглядят ни чуть не хуже Вашей обработки, за исключением правки реквизитов. За всё время работы с ЕГАИС изменял заблокированнные реквизиты 3 раза (14 магазинов). При этом пользовался штатной обработкой. Это которая лежит в «Администрирование»-«Поддержка и обслуживание»-«Корректировка данных» и называется «Групповое изменение реквизитов». Вполне удобненько на мой взгляд) А за труды Вам огромное спасибо! Думаю юзверы оценят Вашу программу по достоинству.
(1) asylum34ru, Спасибо за отзыв! В дальнейшем планируется ввести функцию переброса всех остатков со склада в торговый зал ЕГАИС одним документом.
(3) Aidar123, Спасибо за отзыв!
Обработка очень долго открывается в файловой базе по сети. Хорошо бы было чтобы не выводилась вся номенклатура при открытии и чтобы можно было ставить какие-нибудь фильтры типа «в папке», «Алкогольная продукция», «Вид номенклатуры». Так будет гораздо быстрее.
При нажатии «Сопоставить» на уже сопоставленной номенклатуре (для проверки) в окошке сопоставления слева не отображается сопоставленная АП…
Ну а копирование незаполненных реквизитов из АП — выше всяких похвал! Спасибище!
При заполнении из номенклатуры ЕГАИС почему-то иногда не подставляет Производителя.
Не хватает фильтра и упорядочивания по колонкам.
В таблицу нельзя вывести реквизиты Номенклатуры ЕГАИС
(6) sancho86,
ВНИМАНИЕ: для корректной работы функции автозаполнения реквизитов из сопоставленной номенклатуры ЕГАИС, должны быть заранее созданы все необходимые контрагенты ЕГАИС: производители, импортёры продукции, заведённой в программе.
(НСИ->Сопоставлений организаций ЕГАИС->Не связанные->Выделить всех->Создать контрагентов)
Если это сделать, производитель будет попадать.
Возможность вытаскивать реквизиты добавим, починим!
не открывается и завешивает всю розницу 2.2.5.21
(8) Василий, будет глобальная переписка обработки с сохранением функционала и очень мощным ускорением работы. Она открывается, просто долго, иногда очень долго, минут 5, если база сетевая и ПК медленный.
(9)ок спасибо за ответ, а когда планирется перреписка? Хотя бы примерно?
(10) Уже в процессе, пару дней.
(11) спасибо ждем
Здравствуйте! Скачала 22.03.17 обработку 2.0, штука должна быть очень удобная, но работать с ней категорически не получается ((( Висит со страшной силой (номенклатура алкоголя большая), в окошке «Алкогольная продукция» не отображается сопоставленная номенклатура ЕГАИС (возможно не успевает). Каждая прокрутка подвисает мин на 5. Посоветуйте, может как-то можно ускорить или что. Пока работать невозможно.
(13) Сейчас посмотрю кое-что и напишу
Добрый день!
А в чем разница файлов? какой необходимо скачивать если у меня нет акцизов ?
спасибо за ответ.
(15) Здравствуйте! Вторую версию, если ЕГАИСА нет — его не будет и в обработке.
Очень медленно работает…
Здравствуйте! Скачала 2.1, 19.04.17, а 26.04.17 обработка обновилась до 2.2, подскажите пожалуйста, как обновиться?
Спасибо за оперативный ответ ( Ответьте пожалуйста еще на один: Почему в отчете не везде заполняется таблица Поставщик?
(18) Здравствуйте! Необходимо скачать обновление.
(19) Зависит от настроек вашей программы. От этого поставщика должны быть поступления. Контрагент должен быть отмечен как поставщик в регистре.
(21) Спасибо, Поступления есть, а как отметить что он поставщик в регистре?
(21) Отличная обработка! Подскажите, как бы увидеть привязанные алкокоды с нулевыми остатками, сейчас они скрываются. И (в идеале) общую сумму бутылок по привязанным алкокодам.
Спасибо!
Не обижайтесь… С виду да, красивая обработка, но нам не пригодилась для практической работы, на складе сказали эта обработка для них бесполезна, номенклатура итак автоматом создается, при загрузке, либо находит через инт-т, остаток по последнему поступлению алко так и не поняли, для чего его нужно видеть…
(21)пожелание: было бы прекрасно находить номенклатуру по алкокоду. Т.е. в поиск вбиваем алкокод. выпадает список номенклатур, к которым привязанон привязан.
Часто встречается один алкокод может быть на разных номенклатурах. Это наборы, подарочная упаковка, сувенирные бутылки и пр. Добавляют один АК к разным номенклатурам через РегистрСведений.СоответствиеНоменклатурыЕГАИС добавляя идентификатор упаковки.
Спасибо!
(4)Артём, большая просьба выпустить версию расширенной номенклатуры в.2.2 под розницу 2.2.6.*
Сейчас при открытии на 2.2.6.* выдаёт: Поле объекта не обнаружено (ЗапросОстатковВТорговомЗале)
Спасибо!
(27) Сделаю в ближайшее время
Добрый день!
С несколькими организациями обработка умеет работать?
Открываю в Розница 2.2.7.32. Обработку версии 2.2 пишет ошибку скриншот с ошибкой.
(20)Добрый день. Необходима ваша обработка для розницы 2.2.7.* Та версия, которая на первом скриншоте. Используем постоянно, стал уже базовым инструментом для алкогольного магазина.
Спасибо!
Добрый день, та-же проблема, как и у (30) только Розница 2.2.7.42(
Подскажите когда и как можно получить обновленную версию обработки, без данной ошибки.
в 2.2.7 у документов уже нет реквизита «Статус обработки», статус берется из протокола обмена
Будет ли обработка обновлена до версии 2.2.8.29?
(34)эта подходит, если закомментировать в тексте обработки ту строку, на которую ругается 1с-ка
если закомментировать в тексте обработки ту строку — я этого не понимаю.
Я простой пользователь 1с Розница 2.2.8.29. Если я ее скачаю-работать будет?
разработчик , ответьте, пожалуйста, будет ли работать на 1с розница базовая 2.2.8.29 без танцев с бубном. Надоело прыгать из одного окна в другое. Давно хотел такую обработку, сейчас как раз месячный абонемент куплен.
(37)я не разработчик, но точно скажу, что не будет.
можете войти в конфигуратор и закомментировать/удалить строки
| И ОстаткиЕГАИС.СтатусОбработки = &СтатусОбработки
а также
Запрос.УстановитьПараметр(«СтатусОбработки», Перечисления.СтатусыОбработкиОстатковЕГАИС.ПолученыОстатки);
(38)Денис, я понимаю, что Вы хотите мне помочь, но как я базовую розницу сниму с поддержки? Итак каждый релиз новый «останавливает» магазин. Хорошо , что я сам хозяин магазина и тестирую каждое обновление дома. А другие, где «программы» от 500руб/час ходят обновляют? То выгрузка на Фронтол-кассу умрет, то наоборот выгрузка в ТУ умирает.
Тот кто хоть раз работал в 1с Розница для розничного продуктового магазина понимает, что эта обработка — то, что нужно. Максимум инфы в одном окне.
Разраб откликнись.
(37)тю, видимо я некорректно выразился, эти строки нужно подправить в самой обработке через конфигуратор)
скачали, сделали копию обработки. зашли в конфигуратор, открыли обработку, отредактировали эти строки, сохранили, открыли в обычном режиме пользователя)
вы потратие ну может пол часа на все)и узнаете чуть больше, может еще пригодится)тут ничего нет страшного)
если что, напишите мне в личные сообщения
(40)Спасибо за участие и помощь. В течении недели попробую и отпишусь. А то несколько дней осталось до 3 ЕГАИСа, Меркурия, онлайн-касс для ИП.
Пару слов почему обработки не в полном объеме востребованы:
1. 99.99% в магазинах используют 1с программы наемные работники-операторы ( как правило девчонки 20 лет, которые вообще боятся нажать клавишу, т.к. их уже наругали за «кривые руки».
2.Директор, зав, зам.зав. тоже наемные работники, которым все на**ать.
3. Хозяину тоже на все наплевать лишь бы была хорошая прибыль.
Таких как я , когда магазин в «деревне» и приходится делать все самому единицы и понимают истинное значение этой обработки.
Когда день начинается с обмена отчетов о проданной продукции со списания пива в ЕГАИС с пересортицей алкокодов, а тебе в спину дышат несколько представителей поставщиков алкоголя и пива, параллельно приход ТТН ЕГАИС, сопоставления, 2 регистр и т.д. поймет меня. А на пороге помарочный учет!
(41) ну так все получилось?
подскажите для УТ 11 есть такая обработка
Не нужна, по одной простой причине: нету цен и остатков по складам в самой таблице напротив карточки товара.
Выделять и смотреть остаток очень не удобно.