<?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С:Предприятие 8.1 (8.1.9.57) «Управление торговлей», редакция 10.3 (10.3.1.12) , а у меня пишет: Невозможно обработать параметр «ВалютаУправленческого учета» для получения значения.
по кнопке подробно:
{ОбщийМодуль.ОбщегоНазначения(2191)}: Невозможно обработать параметр «ВалютаУправленческогоУчета» для получения значения
по причине:
{ОбщийМодуль.ОбщегоНазначения(2191)}: Невозможно обработать параметр «ВалютаУправленческогоУчета» для получения значения
Хотя валюта управленческого учета установлена= рубли.
Что то он как то хреновастенько работает, т.е. совсем не работает:
{ВнешнийОтчет._СтоимостнаяОценкаСкладаВЦенахНоменклатуры(16,3)}: Переменная не определена (УправлениеОтчетами)
<<?>>УправлениеОтчетами.ВосстановитьРеквизитыОтчета(ЭтотОбъект, ДополнительныеПараметры);
{ВнешнийОтчет._СтоимостнаяОценкаСкладаВЦенахНоменклатуры(1890,28)}: Переменная не определена (УправлениеОтчетами)
ДополнительныеПараметры = <<?>>УправлениеОтчетами.СохранитьРеквизитыОтчета(ЭтотОбъект);
{ВнешнийОтчет._СтоимостнаяОценкаСкладаВЦенахНоменклатуры(1900,2)}: Переменная не определена (УправлениеОтчетами)
<<?>>УправлениеОтчетами.СохранитьРеквизитыОтчета(ЭтотОбъект, СтруктураСНастройками);
{ВнешнийОтчет._СтоимостнаяОценкаСкладаВЦенахНоменклатуры(1908,2)}: Переменная не определена (УправлениеОтчетами)
<<?>>УправлениеОтчетами.ВосстановитьРеквизитыОтчета(ЭтотОбъект, СтруктураСНастройками);
Может отчет заточен под спец. версию!
У меня «Управление торговлей», редакция 10.3 (10.3.3.3)
Мне его делали под заказ. Исправить ничего не смогу. Не умею 🙂
Под УТ 10.3 все нормально работает. 🙂
У меня вообще пустой файл скачивается 🙁 , народ — поделитесь у кого есть, плиз
(7) попробовал. у меня скачивается нормально
Скачалось, дело с настройках было …
Работает нормально, понравилось, +
Это ведь типовой отчет. А не работает, потому, что с какой-то версии прогеры УТ стали использовать объект «УправлениеОтчетами», в версиях ниже этого объекта нет.
Очень удобный отчет, кто посильнее в коде как правильно модифицировать, чтобы несколько цен вывести можно было?
Мне понравилось, у меня в УТ 10.3.7.8 работает. +
а у меня не показывает склады НТТ, а так все работает, как сделать чтобы склады НТТ выводило?
Сергей
г. Днепропетровск
vitaphoto@mail.ru
Гигантское спасибо!
Нконец-то нашел, что искал, сейчас проверяю, но вроде работает! Особенно спасибо за выбор цен номенклатуры, очень удобно!
Забыл:
«Управление торговлей», редакция 10.3 (10.3.8.9)
Так кто поможет в этом отчете со складами НТТ они не выводятся…
А чем не устроил отчет «Ведомость по партиям товаров на складах»? Он должен показать все движения/остатки по всем складам (п том числе и по НТТ).
Интересно… почему он показывает разные цифры на один документ-регистратор при разных группировках?
База УТ 10.3.8.9 Демо — можно проверить самостоятельно по данным демо-версии
Вроде работает… и вроде что-то показывает… ключевое слово пока «ЧТО-ТО», а что именно нужно проверять.
Данные, которые показывает отчет, отличаются от данных по встроенным отчетам (Ведомость по товарам на складах, Ведомость по партиям товаров на складах)…
пока минус
Чего то не идет ( при скачивании получаешь текстовый файл с «корявицей»),жаль хотелось бы сравнить отчеты 😥
здравствуйте. Необходима небольшая доработка этого отчета. Естественно, не бесплатно.
Как можно с вами связаться? моя ася 323388539
Доработка нужна к пятнице, крайний срок — понедельник
необходима доработка — тут описание ошибки со скриншотамиhttp://rapidshare.com/files/359310118/______.doc.html
Отличный отчет.Спасибо.Очень помогли. То- что надо.Сама никак не могла период вствить в связку с регистром Товары на складах.
В каком режиме его выводить на экран? Где он формируется?
жаль что не для 7.7
Немного доработав, использую эту обработку, спасибо.
В оперативном режиме(остаток) не выводит значение цены по розничному складу
Раньше работал отчет отлично долго им пользовался, но недавно почему то отвалились оптовые склады, выводится только розница, в чем может быть проблема?
описание понравилось, вот только коменты что- то не радуют…все ведь пытаюсь жизнь себе упростить, чтобы вручную не считать. теперь с баллами для скачивания лишний раз подумаешь качать или нет..
Вот вот, с баллами придумали что то странное, раньше можно было хотя бы раз в день скачать один файл, а теперь…
У меня эта обработка почему то перестала выводить одновременно склады и розницу. В чем причина не заню. Может кто подскажет как залезть в обработку для того чтобы ее немного подправить (отредактировать)?
спасибо большое, нам ваш отчет очччччень помог!!!!!!!!!!!!!!!!!!!!!!!
Не выводит группировку по номенклатуре в иерархии в режиме «Оперативный (остатки)».
при расшифровке движения выводит ошибку (если открывать из справочника внешних отчетов, если открывать через файл на диске — такой ошибки нет).
{Отчет.УниверсальныйОтчет.МодульОбъекта(5568)}: Ошибка при вызове метода контекста (Создать)
ОтчетРасшифровка = ВнешниеОтчеты.Создать(Отчет.ИспользуемоеИмяФайла);
по причине:
Ошибка подключения внешних метаданных
по причине:
Файл не обнаружен ‘C:UsersadminAppDataLocalTempv8_FD66_a2.tmp’
— еще ошибка
{Отчет.УниверсальныйОтчет.МодульОбъекта(2736)}: Ошибка при вызове метода контекста (Добавить)
Так же было бы удобно если бы настройки группировок сохранялись при переключении между режимами.
МассивВыбранныеПоляПоказатели.Добавить(ПостроительОтчета.ВыбранныеПоля.Добавить(Показатель.Имя));
по причине:
Поле не найдено. «НеотфактурованныйНачальныйОстаток»
У меня работает, на одном предприятии, на другом проверю в понедельник..
пока + !!!
Ну как работает нет?
Я просто уже замучился искать подобный отчет.
Скачал их целую кучу, Где в расходе цены ставит закупочные, где вообще нереально большие остатки выводит
(26) hmv59, А как доработали?
Ничешная такая вещица.
Отчет отличный! Жаль что он только для УТ10.3, и на УТ11 не работает.
(33) neuromancer_aza, удалось найти решение ошибки?
Добрый день!
Отчет работает. Но, при сравнении его данных с данными из ведомости по товарам на складах и стоимостной оценки склада (на мой взгляд, он должен совмещать эти два отчета), то идут расхождения по количеству (цены не проверял, те что смотрел — верные). В данном отчете количество меньше, чем во встроенных. У кого есть мысли, в чем может быть причина расхождения данных и как решить эту проблему?
Сам по себе отчет отличный, очень не хватает. Постоянно требуется оборотно-сальдовая ведомость по продукции за определенный период.
Количественный учет работает некорректно. Попробуйте поэкспериментировать с измерениями.
Как сделать группировку по номенклатуре в иерархии в режиме «Оперативный (остатки)», чтобы по иерархии считались остатки?