<?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='\
Код обработки и её служебные функции пока не прокомментированы.
Немного попозже сделаю нормальную статью по разработке печатных форм для УТ 11, так как сам ещё толком не разобрался. В частности непонятно, как заместить штатную форму подключаемой, как это сделано в УТ 10.3.
А ВПФ товарный чек по УТ 10.3 есть? Поделитесь.
За деньги поделюсь.
+ Добавлена форма для тестирования печатной формы с претензиями на универсальность (см. скриншот). В режиме предприятия открыть через меню Файл, выбрать какой-либо объект, кликнуть «Выполнить».
—-
Немного попозже сделаю униве
За деньги поделюсь.
ага щщас, все брошу…
Если такой умник, делай сам, чего раскудахтался.
Добавил форму для УНФ 1.2
(1) Очень интересно. Хорошая вещь. Сразу многое стало понятно.
Я так понимаю что и механизма «Параметры обработки» в УТ 11 пока не реализован?
(8) Здесь речь идёт даже не про УТ 11, а БСП, так механизм внешних печатных форм/обработок/отчетов это её функционал. Вот передаваемых параметров там нет.
Некоторые изменения в модуле обработки.
В будущей УТ 11.0.6 (на момент написания поста доступной только как тестовая) изменились некоторые используемые процедуры и функции, часть добавлена, часть перемещена в другие общие модули.
Модуль обработки переработан для универсальности.
На УНФ релиза 1.3.1.4 не взлетает сообщает ошибку {ВнешняяОбработка.ТоварныйЧек.МодульОбъекта(56,12)}: Переменная не определена (ФормированиеПечатныхФорм) 😮 а я так надеялся
(11) Самому допилить религия не позволяет? Если сильно надо, могу за деньги сделать.
Я просто предоставил инфу
>>> а я так надеялся
, что забесплатно сделают и спасибо скажут.
На УНФ релиза 1.3.1.4 действительно выдает ошибку «ВнешняяОбработка.ТоварныйЧек.МодульОбъекта(56,12)»: Переменная не определена (ФормированиеПечатныхФорм)
а так хотелось попробовать
(15) Знаю. Всё жду смелого человека, который бы решился профинансировать доработку. Всем жалко несчастные триста рублей, а мне жалко забесплатно тратить полчаса времени.
(15) А может не ту форму скачали? Там их две, если у вас зрение слабое.
(17)на 1.3.2.5 твоя обработка падает с сообщением на скриншоте:
(18) Жду поста вида: скажи номер телефона, кину деньги, только доработай эту с.раную обработку.
Написано русским по белому: Тестировалась на релизе УТ 11.0.4.6, УТ 11.0.5.4, УТ 11.0.6.3, УНФ 1.2.1.
Где тут слова про УНФ 1.3.2.5?
Сколько и куда, чтобы можно было распечатать из «Реализации товаров и услуг»? И привинтить снизу стандартное гарантийное обязательство?
(22) Пишите в приват, там скажу. От вас точное название конфигурации, текст стандартного гарантийного обязательства
Добавлен вариант для УТ 11.0.7.8
Спасибо интересно а когда статью для печатных форм
(29) Забесплатно лень.
хорошая обработка. лишней не будет
все прекрасно, нов форме списка обработка не появилась . Уже несколько дней пытаюсь распросить у всех и все молчат
(32) Это косяк не обработки, а БСП.
Протестировал кто-нибудь на УТ 11.0.7.8, в частности печать товарного чека из реализации товаров и услуг?
(34) Из реализации в любом случае работать не будет. И вообще разуй глаза и внимательно почитай описание, для чего эта ВПФ.
(35) упс, не заметил что для ккм. прочитал вот это:
«blackbabay 10.10.11 19:17
Сколько и куда, чтобы можно было распечатать из «Реализации товаров и услуг»? И привинтить снизу стандартное гарантийное обязательство?»
и подумал что уже реализовано. Т.е. вопрос от blackbabay повис в воздухе или … ?))) (сколько и куда?)
(36) Напишите в приват, что нужно конкретно. Тому человеку я что-то ещё дорабатывал. Деньги предпочтительно на яндекс-кошелёк, если нет возможности, то на телефон.
(37) ок, кину ссылку заинтересованному человеку, пусть общается напрямую.
Нашёл на диске форму для Розницы 2 и решил вывалить до кучи.
Дважды пробывал скачать. Списалось каждый раз 1 стартмани, но ничего не загрузилось.
(42) Скачайте с моего сайта. Найдите в гугле по заголовку.
для 11.2 будет работать?
(44) Данная печатная форма разработана как пример или шаблон внешней печатной формы для Управления торговлей, редакция 11.
работает, написано очень качественно, респект
Интересно, кто-нибудь помнит, что при скачивании выдаётся сообщение, что все программы для личного использование и передача их другому является нарушением правил. А тут чел нагло говорит, что удалят строку и считает программу своей. И ещё жалуется, что разработчик ставит свою фамилию, вот же гад и из-за это не удаётся продать чужую обработку.
Сергей, добрый день!
У меня при установке, выдает ошибку:
(53) Товарный чек для УТ 11.epf — для Управление Торговлей 11.0.7.2 и ранее.
Ещё вопросы есть?
Так релиз Управление торговлей, редакция 11.2 (11.2.3.143) (http://v8.1c.ru/trade/)
http://www.1c.ru)
Copyright © ООО «1C-Софт», 2003-2016. Все права защищены
(
поставил обработку Без скидок Розница 2.2 , но скидки в чеки остались, подскажите как их удалить?