<?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С:Бухгалтерия предприятия, добавить пару отчетов и выкладывать её под названием «МОЯ СУПЕР БУХГАЛТЕРИЯ ПРЕДПРИЯТИЯ». Выкладывать «доработанную версию» может только автор.
(1)Менеджер настроек пользователей тоже построен на данной публикации и что? Я специально указал источник, чтобы не было претензий что я «стырил». Из той обработки я только воспользовался механизмом вывода, который я мог тоже написать. У моей обработки другое направление.
(2) Ну Вы жжете, «У моей обработки другое направление.»
У вашей обработки даже название такое же — «Матрица ролей пользователей», и то что вы к ней прикрутили пару бантиков ничего не меняет…
(3) Вы хоть посмотрели на обработку?
(3)
Вы наверно ослепли раз говорите что такое же название
(5) Ну конечно же, приписка «(для типовых конфигураций)» абсолютно всё меняет…
как же я её не заметил…
(0) Да, название бы неплохо бы сменить, чтобы народ не путался. И у тебя правом на скачивание обладают все, а у первоисточника только пользователи, так что я думаю, ты должен тоже установить право скачивая только для пользователей.
По моему мнению у программистов есть право модифицировать разработки друг друга.. Вспомним все тот же линукс. Так что обработка имеет право на существование, это не нарушение авторских прав. Но тут конечное слово у автора обработки-первоисточника.
(7) Спасибо за советы, исправлю
(6) Ты не совсем прав мне кажется. По моему субъективному мнению можно модифицировать другие разработки, но потомок должен соответствовать некоторым требованиям: 1. другое название. 2. указан в первоисточнике источник и дана на него ссылка. 3. изменено должно быть не 2 реквизита и не перерисована форма, изменения должны быть значительными.
Эта обработка всем 3 требованиям соответствует, так что все соблюдено. И более того, я выкладывал обработку по настройкам прав, а перед этим смотрел, что уже выложено, дабы не заниматься мартышкиным трудом. И когда просматривал «Матрицу настроек пользователей», мне тоже показалось, что именно тех вещей, которые сейчас и реализованы, в ней не хватает.. Так что по-моему мнению автор молодец, напрасно ты его так.
(0) Переложи лучше обработку в «Каталог → АДМИНИСТРИРОВАНИЕ БАЗЫ ДАННЫХ → Управление правами и паролями»..
(6) Конечно в начале он сделал не все корректно, это косяк с его стороны, но ведь поправился..
(9) Минус я конечно сниму, я не вредный, но вот осадок остался…
Программист может модифицировать другие разработки если их автор дал на это явное разрешение, либо «для личного использования» не выкладывая их.
Я писал в первом посту: если я модифицирую «1С:Бухгалтерия предприятия» то я смогу спокойно её продавать/раздавать, не спрашивая 1С ? Так получается ? В то же время модифицировать «для себя» мне никто не запрещает 🙂
(10) Согласен.
(10) (13) ок, подправил 🙂
(12) Автору написал письмо с просьбой о разрешении. Буду ждать ответа. 🙂
(15) мне в общем все равно. это не комерческая публикация, а авторские права меня интересуют только в денежном выражении.
Вот если бы здесь было разрешено также публиковать предложения услуг (как раньше) тогда я бы даже приветствовал наличие клонов со ссылками на меня 🙂
это же не один клон — есть еще вариант под 8.2 (писал не я) — как пример вhttp://infostart.ru/public/68368
Если вам понравилось не забываем плюсовать. 😉 Автору будет очень приятно, т.к. он набирает рейтинг 😳
Профили полномочий в УПП данная обработка поддерживает?
(18) нет, а каким образом вы это видите?
(18) Профили реализованы вроде бы только в моей обработкеНастройка и анализ прав пользователей , больше нигде не встречал((
(18) По просьбам трудящихся :)))
Что значит групировка по профилю? Права профиля изменять можно? на пользователя изменения передаются?
Профиль — по сути тот же пользователь. только изменение его прав ведет к изменению у всех пользователей с данным профилем.
Скорее всего нужна закладка для отдельного редактирования прав профиля или переключатель с профиля на пользователя.
(22) Поэтому я и спросил «каким образом вы это видите?». По поводу группировки по профилю смотрите 3-й скрин: Вариант отчета: «Профили пользователей». Права профиля изменять нельзя. Велосипед городить не хочу, как правильно заметил товарищ ниже у него это реализовано.
Спасибо!
Спасибо, в целом не плохо, но не совсем подходит для УТ. Плюсую
Спасибо автору, обработка здорово помогла при инвентаризации ролей!
(26) AverinaSveta, Спасибо, рад слышать что обработка помогла )
Спасибо автору. Пригодилось при внедрении КА и переноса большого числа пользователей с различными ролями.
Так же помогла при инвентаризации ролей и пригодилась как отчет руководству.
Обработка выручила при формировании списка пользователей с разделением по участкам работы и ограничении прав доступа с градацией по подоступу к определенным данным, автору спасибо.
Спасибо, очень помогла для выявления пользователей с полнымим правами.
Написана в лучших традициях 1с.
Автор молодец.
Рекспект.
Очень полезно, спасибо автору!
У меня ошибка
{ВнешнийОтчет.РолевоеУправление.МодульОбъекта(316)}: Ошибка при установке значения атрибута контекста (Текст)
ПостроительОтчета.Текст =
по причине:
{(6, 15)}: Поле не найдено «Пользователи.ПрофильПолномочийПользователя»
Пользователи.<<?>>ПрофильПолномочийПользователя КАК ПрофильПользователя,
(33) invest0r, а в какой конфигурации используете?
Бухгалтерия предприятия, редакция 2.0 (2.0.34.6)
Ошибку исправил — файл перезалил
спасибо )
Если выбрать Вариант отчета «Профили пользователей» то выдает ошибку
{ВнешнийОтчет.РолевоеУправление.МодульОбъекта(287)}: Ошибка при установке значения атрибута контекста (Текст)
ПостроительОтчета.Текст =
по причине:
{(7, 63)}: Неверные параметры «Справочник.ПрофилиПолномочийПользователей.ПустаяСсылка»
КОГДА Пользователи.ПрофильПолномочийПользователя = ЗНАЧЕНИЕ(<<?>>Справочник.ПрофилиПолномочийПользователей.ПустаяСсылка)
(38) invest0r, так вроде в бухгалтерии и нету профилей, поэтому в ошибку выдает, просто нет заглушки на этот случай.
ясно )
Надо посмотреть
Посмотрим Протестируэм Отпишемся
интересня штучка обязательно по попробую
А можете сделать Пользователь-Профиль, а не Пользователь-роль?
Посмотрел, спасибо! Пользователей не много поэтому раздача прав особо не напрягает, а в общем… неплохо… наглядненько… Найду применение 🙂
Полезно, хотя и действительно — можно было свою идею с «нуля» развить.
Под УТ 10.3 она не работает. Там нет профилей никаких.
(47) Hans, Может не работать только с профилями, а так то работает?
Так не знаю. Мне надо анализировать в УТ 10.3 =(
в других конфигурациях я не тестил.
нужная обработка, сенк
черт, я изобрел велосипед 🙁
Ролевое управление пользователями, офигенная вещь!)