<?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='\
Генератор модуля универсального отчета для 8.1 и 8.2. Или как очень быстро разработать красивый отчет или изменить отчет из стандартной конфигурации под свои нужды.
Начнем с главного. Что такое «Универсальный отчет”. В типовых конфигурациях 80 процентов отчетов сделано на основе отчетов шаблонов, задающих настройки для отчета, названного фирмой 1С «Универсальный отчет», основанного на построителе отчетов.
Зачем нужен Построитель Отчетов (ПО), когда есть Система Компоновки Данных, скажете Вы, и будете правы. СКД намного мощнее, но очень сильно отличается интерфейсом и инструментарием настройки. Если это не смутит ни заказчика, ни пользователей, то выбор однозначен. Ниже я дам ссылки, на инструменты, которые вам помогут и с СКД.
Но что, если заказчик не хочет переучиваться на незнакомый интерфейс?
Или, если надо взять типовой универсальный отчет по регистру и быстренько прикрутить к нему связку с регистром сведений, например, да еще вставить ряд параметров, вытащить 12 различных новых реквизитов из серии номенклатуры в отборы, да задать всему этому новые представления?
Переучивать на новый интерфейс несколько сотен пользователей, привыкших к старому интерфейсу?
Перейти к публикации
(0)
Так сам генератор модуля для 8.2? Если так, то теряешь значительный контингент, очень многие сидят на 8.1. и платформу в обозримом будущем менять не собираются.
(1) Фирма 1С с этого года отказалась от поддержки платформы 8.1. Не будут выходить обновление конфигураций, исправления ошибок. Я могу понять еще тех, кто не переходит с 7, это действительно стоит денег. Но когда все упирается только в 1 день работ по переходу с 8.1 на 8.2 и можно будем пользоваться всем богатством ее возможностей, обновляться фрагментами из новых конфигураций, или целиком переходить на них…
Согласен с (1) — многие еще сидят на 8.1 и как раз им мог бы пригодиться этот старый интерфейс через построитель по указанным тобой причинам.
Те, кто переходит на 8.2, намного больше юзают СКД.
будут выпускаться только в формате технологической платформы «1С:Предприятие 8.2».
В связи с этим пользователям типовых конфигураций на платформе «1С:Предприятие 8.1»
для установки обновлений, которые будут выпущены фирмой «1С» после 1 мая 2011 г.,
необходимо перейти на платформу «1С:Предприятие 8.2». Порядок перехода
описан в информационном письме 12751 от 30.11.2010 г
я понял что с 8.1 надо всерано слезать потому что обновлений на конфигурации под 8.1 не будет.
Просьба отписаться желающих, кому нужна версия под 8.1. Если количество желающих перевесит мою лень ставить 8.1, то появится версия под 8.1.
(5) Конечно нужна версия под 8.1. Самописную конфигурацию в ближайшее время не планируем переводить 8.2.
Просьба объяснить, как пользоваться файлом ГенераторМодуляУниверсальногоОтчета.epf ? Я скачал сконвертировнную консоль, открыл её и названный файл. Появилась ошибка, лог ниже. Конфигурация самописная.
{Форма.Форма.Форма(9)}: Значение не является значением объектного типа (ПолноеНазваниеПрограммы)
ЭтаФорма.Заголовок = ЭтаФорма.Заголовок + УКО.ПолноеНазваниеПрограммы;
Разобрался: ГенераторМодуляУниверсальногоОтчета.epf уже лежит в папке плагинов и доступен в подменю «Инструменты».
(7) Надо в консоли нажать «Инструменты»->»Генератор модуля управляемого отчета». Обработка должна лежать в папке «UCRplugininstruments». А при попытке открыть ее самостоятельно я попозже сделаю предупреждение.
(5) Я тоже за 8.1.
Я за верную 8.1
(0) Честно когда делал в обработке плагины не думал что кто воспользуется (будет мне уроком учту для 8.2)
(11) Идея с поддержкой плагинов — абсолютно замечательная вещь. У меня появилось еще несколько интересных идей, которые можно сделать как плагины для твоей разработки. Было бы интересно узнать в каком состоянии твой проект на управляемых формах и куда ты планируешь его развивать.
(12) По 8.2 УФ делаю разбор запроса на дерево… Еще хочу сделать мультиязычность… в основном то что не делал до этого
(1)
А что за проблемы перейти на 8.2? Ни тебе материальных затрат, ни умственных. ЗУП, например, амба! — самое последнее апрельское обновление уже только для 8.2.
Так что, собираются, не собираются, а 1С заставит 😉 Но обработки, конечно, лучше вообще в 8.1 выкладывать, ибо 8.2 и сама спокойно ее сконвертит, а вот наоборот — фигушки
Я за верную 8.1
Ага, а упертые старпёры вообще от 7.7 в восторге 😀
(0)(6)(10)(9)
http://infostart.ru/public/84458/forum/topic/39342/
Итак, пока моя лень в стремительном отрыве от количества желающих обработку на 8.1
Попробуем подлить керосинчика и сыграть в логическую игру. Вы приводите аргументы за то, что Вам ну просто необходимо остаться на 8.1. Я пытаюсь логически их оспорить с точки зрения общих затрат на поддержание проекта, человеческого и ресурсного фактора, как опытный разработчик и консультант по вопросам внедрения. Может, я где-то не прав в моих советах клиентам?
Только лучше сделать это в отдельной ветке:
Разве? мы же с тобой специально обсуждали момент перехода на плагины с целью расширения задач, решаемых консолью 🙂
(15) Какие «небольшие изменения» ты добавил в UCR ? что исправлял?
(17) Внес изменения в обработку генерации отчета СКД, она не запускалась из за изменения формата внешних обработок.
Не запускалось какое-то окно редактирования параметра в UCR, то же подправил.
(15)
Тут и обсуждать нечего: обычная, ничем не обоснованная, блажь.
(18) Твои исправления как-то обозначены в коде? Если да, то какими комментариями?
(20) Кстати, раз у тебя работа для 8.2, убери из настроек публикации платформу 8.1.
Все уговорили, уже думаю о переходе на 8.2…вообще планировал до нового года(так удобнее), но что-то не срослось…8.2 шустрее и лучше, конечно, но тут работает старая админская привычка, раз работает, то не трогать…
(15) Сделай проще, версию для 8.1. за деньги.
(26) Да ну, брать деньги со своих же внедренцев, за то что они будут решать чуть быстрее задачи по автоматизации, я считаю не этичным. Я считаю правильным брать деньги только за те продукты, которые предназначены для конечных пользователей (как мой управленческий баланс, например) или для франчайзи, которые с помощью моей обработки по учету серийных номеров могут решать ряд сложных задач клиента по автоматизации не меняя конфигурации.
(20) Выложу обновленный репак на днях. Там точно будут все комментарии, твои исправления и мой новый шаблон.
(27) Ну и зря ты так, любой труд должен оплачиваться, и какая разница внедренец он или конечный пользователь.
(29) Я сам когда то четыре года отработал в питерском СофтБалансе, знаю насколько тяжелый труд внедренца франчайзи. Я лучше свою жабу придушу.
Не запускалось какое-то окно редактирования параметра в UCR, то же подправил.
Ещё 5 копеек:
при нажатии копки «настройки» 8.2 падает.
Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: 1cv8.exe
Версия приложения: 8.2.13.219
Отметка времени приложения: 4d80c789
Имя модуля с ошибкой: backend.dll
Версия модуля с ошибкой: 8.1.15.14
Отметка времени модуля с ошибкой: 4aea0794
Код исключения: c0000005
Смещение исключения: 00772d89
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789
(16) Да да, но это первый плагин сделаный не мной 🙂
Для 8.2 в UCR может быть много косяков в 8.2 вообще не тестировал
(0) Я UCR развивать не планирую если хотите возмите на сопровождение… Я если буду делать только 8.2
(0) 2011-04-26 — Обновлены все файлы, исправлены ошибки, новый шаблон
(31) Конкретно твоя ошибка возникает, когда схема КД не соответсвует метаданным конфигурации. Видимо загрузил мои настройки случайно. Но я исправил несколько других ошибок.
v81.ComConnector поменял на v82… И т.п.
Публикация не полностью отображается под IE. Ошибка в разметке.
(35) Поправил.
Разница в том, что если внедренец франчайзи сможет быстрее внедрять проекты, то это не значит, что он получит с этого больше.
Нельзя все и для всех превращать в коммерцию, потому потом это аукнется тем же.
(1) Огромную экономию времени на разработке отчетов Вам окажет проект «Универсальная консоль запросов”
Надо исправить на: «Универсальная консоль отчетов”
Сделал версию под 8.1. Просьба написать о любых проблемах и пожеланиях.
Не разбирался, просто попробовал.
В консоли отчётов написал по образцу
Сформировал текст модуля универсального отчета, скопировал в модуль отчёта шаблона…
Не взлетело)
Поставил галку «выводить детальные записи» — взлетело.
УПП 1.3.8.1 платформа 8.2.13.202
{Форма.Форма.Форма(10)}: Значение не является значением объектного типа (ПолноеНазваниеПрограммы)
ЭтаФорма.Заголовок = ЭтаФорма.Заголовок + УКО.ПолноеНазваниеПрограммы;
Попробовал на 8.1.
тоже ошибка с УКО…
(0) 2011-09-24 Внес исправления ошибок найденных пользователями инфостарта в архив «универсальной консоли отчетов»для 8.2.
Добавил в архив обновленный шаблон для СКД по диапазоном, с HTML -описанием. Рекомендую перекачать файл.
Обработка действительно хороша, давно пользуюсь. Но есть проблема, которая не дает покоя: Платформа падает, если создать компоновку, а в ней пакетный запрос с использованием временных таблиц. Падает с такой ошибкой:
Сигнатура проблемы:
Имя приложения: 1cv8.exe
Версия приложения: 8.2.14.528
Отметка времени приложения: 4e30380c
Имя модуля с ошибкой: dcscore.dll
Версия модуля с ошибкой: 8.2.14.528
Отметка времени модуля с ошибкой: 4e301804
Код исключения: c0000005
Смещение исключения: 000e0036
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789
Показать
Проблема наблюдалась на всех последних версиях платформы, включая 8.2.12 и 8.2.13, ошибка возникает на ОС Win 7, Win7 SP1, Win Server 2008R2.
Нашел временное решение проблемы: после нажатия «ОК» в компоновке, перехожу на строку с запросом, потом обратно на компоновку, жму сформировать.
Хорошо бы пока поддерживать обе версии (и под 8.1 и под 8.2)
Пригодилось, спасибо!
спасибо за отчет)))очень пригодился))
Спасибо за Генератор. Очень помог при решении срочной и сложной работы по созданию отчета !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Настройки условного оформления не генерирует у меня. Есть вообще такая возможность или нет ?
Может я не так запускаю,но запуская отчет ГенераторМодуляУниверсальногоОтчета в БП 2.0
При открытии отчета ШаблонУниверсальногоОтчетаMilkers1_02.erf, вылезает ошибка:
Как отчет то запустить?
(51) Drizer2000, Генератор Модуля УО выполнен здесь в виде плагина для Универсальной Консоли Отчетов. Надо:
1) Скачать «ГенераторМодуляУниверсальногоОтчета82.epf»
или
Скачать «ГенераторМодуляУниверсальногоОтчета81.epf»
2) Скачать «Шаблон Универсального Отчета Milkers 1.02»
3) Скачать «Универсальная консоль запросов 8.2»
4) Обработку «ГенераторМодуляУниверсальногоОтчета82.epf» положить в папку «UCRplugininstruments»
Универсальной консоли отчетов
5) В консоли нажать «Инструменты»->»Генератор модуля управляемого отчета»
6) Удивляться как все четко сгенерировалось, кроме настроек условного оформления.
7) Сгенерированный код вставить в модуль Шаблон Универсального Отчета Milkers 1.02.
8) Пользоваться отчетом
9) Респект Автору.
(52) powerpc, офигеть как все сложно оказалось)) Автору конечно респект, а что нельзя было сразу все вместе залить и чтобы все было на своих местах сразу. Ладно это я уже придираюсь и так человек большой труд проделал.
(52) powerpc, все-равно не понял, ну сделал я себе отчет с помощью консоли, нажал «Инструменты»->»Генератор модуля управляемого отчета», я так понял полученный генератором код нужно вставить в основной модуль шаблона
Шаблон Универсального Отчета Milkers 1.02, вместо кода который был там, но как запустить сам шаблон?
Ошибка выдается при открытии этого шаблона в БП 2.0:
Эта ошибка выдается в модуле формы.
(54) Drizer2000, В шаблоне отчета есть реквизит «Универсальный отчет», тип которого «Универсальный отчет» конфигурации, в котором реализован весь функционал по обслуживанию универсального отчета. В типовой конфигурации Управление Торговлей такой отчет есть в составе метаданных. А когда вы открываете его в БП, там его нет, так что надо добавить универсальный отчет в БП, чтобы использовать его тип в реквизите. Если не сможете сами разобраться, прикрепите в ответ файл отчета, я посмотрю его.
(55) powerpc, если просто перекопировать универсальныйотчет из УПП в БП выдается ошибки при вставки, СКД я пока очень плохо знаю и не смогу сейчас подпраить,но я нашел другой универсальный отчет, который работает в БП, вот эта публикация:http://infostart.ru/public/84642/
При открытии шаблона , после того как я вставил универсальный отчет в БП выдается ошибка:
Эх, жаль что автор пропал, и неизвестно когда исправит запуск шаблона под БП 2.0
Для 8.1 нормалек. спс
Ну что будет под 8.2?
когда выйдет? =(
ааавтор!!!ты хде?
(61) Я здесь, если есть вопросы спрашивайте.
(60) Что выйдет?
(63) проверьте работу вашего отчета под БП 2.0,ну ни как по нормальному не запускается
Идея с поддержкой плагинов — абсолютно замечательная вещь. У меня появилось еще несколько интересных идей, которые можно сделать как плагины для твоей разработки. Было бы интересно узнать в каком состоянии твой проект на управляемых формах и куда ты планируешь его развивать.
Потдерживаю !
Так есть возможность запуска сего чуда под 8.1? Я так понимаю UCR сдесь только для 8.2?
Все разобрался..Для 8.1UCR 8.1
Спасибо посмотрим
все это хорошо, тоько в управляемом приложении построитель отчета притказал долго жить, так, что изучайте СКД — отпадная вещщьььь!
Вопрос к автору. Попытался запустить под 8.2, причем скачал по ссылке на 8.2, но не запускается, сразу выдает ошибку синтаксиса:
{Форма.Форма.Форма(17)}: Значение не является значением объектного типа (ВыделеннаяСтрока)
ИмяФункции = «ПолучитьРезультатЗапроса_» + УКО.ПолучитьИдентификаторИзСтроки(УКО_Данные.ВыделеннаяСтрока.ИмяОбъекта);
Почему так? И я подозреваю и дальше будут такие косяки.
Запускал на платформе 8.2.15.289
(71) разработка запускается не непосредственно, см пункт обсуждения 52.
(72)
Понял. Спасибо. Было бы лучше если бы инструкция была сразу в шапке вместе с файлами.
Полезная статейка.
Я какраз изучаю отчеты на основе универсального…
Да и у меня был прикол , что в зависимости од разных настроек иерархии менялся порядок строк… При чем тут иерархия не пойму. Но хаос присутствовал…
Кто нибудь знает как в универсальном отчете не выводить итоги по группировкам колонок ?
Отключить можно только общие итоги 🙁
При количестве группировок по колонкам больше одной выводятся итоги по колонкам по каждому уровню.
А они мне не нужны эти промежутиочные итоги.
«Перекопал» весь модуль универсального отчета — не могу понять как можно отключить вывод промежуточных итогов по колонкам 🙁
(77) не совсем понятны твои намерения. группировка на то и группировка чтобы группировать данные и высчитывать сумму или любую другую функцию по колонкам/строкам.
возможно тебе вообще не группировка нужна.
объясни, как ты это себе представляешь, тогда смогу помочь.
+ плюсую. как появиться возможность, обязательно буду использовать у себя. спасибо.
тоже плюсую. как появиться возможность, обязательно скачаю данную обработку и буду использовать для рблегчения своей работы. спасибо автору
К сожалению в текст запроса на вставляются комментарии, которые в последствии заменяются на соединения с таблицами свойств и категорий
Собственно, только из-за этого и качал. А этого нет 🙁
Полезная статья, почерпнул много интересного, но качать не стал, думаю остановится все-таки наhttp://infostart.ru/public/84642/ Думаю он мне больше подходит, но все равно автору большой плюс за его старания улучшить и облегчить работу пользователей!
Хорошая статья, спасибо автору.
Хорошее дополнение к консоли запросов.
(79) trumanl, например, не выводить суппу по ценам. Естественно, сумма в группировке по количеству и сумме затрат нужна. а цен нет.
Процедура ПриОткрытии()
У меня в процедуре возникает ошибка т.к.УКО =Неопределено
ЭтаФорма.Заголовок = ЭтаФорма.Заголовок + УКО.ПолноеНазваниеПрограммы;
//Установка настроек по умолчанию
Не работает! Что за переменная «УКО»? Она у меня неопредеелна! Не запускается.
У меня 8.2.19.106, УТ 10.3.2.11
(87)
необходимо скачать «Универсальная консоль запросов 8.2» написать свой запрос после чего консоли нажать «Инструменты»->»Генератор модуля управляемого отчета».