<?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='\
Бегло посмотрел инструкцию и не нашел ни чего про северные и районные коэффициенты. Плохо смотрел или нет там по ним ни чего?
(1) Про северный и районный коэффициенты, к сожалению, в инструкции ничего не описано. А что именно интересует Вас? Где именно устанавливаются? Я могу добавить.
(2) да я вообще, желательно добавить. не только в западной части живут люди)
лишним точно не будет.
(3) Хорошо, обязательно добавлю. Чуть позже выложу обновленную инструкцию…
lonec
а вот меня лично интересует, можно ли в стандартной конфе ЗУП ввести начисления и взаиморасчеты в разных валютах по одному сотруднику?
к примеру у нас
На карту через банк в рублях, а наличкой в USD. и как видеть это все в расчетном листке?
Если можно то добавте все возможное про валюты взаиморасчетов.
я не нашел как в стандартном механизме работает, написал полностью свою конфу по учету зарплаты и ввел много валютный учет по сотрудникам, на внешность похожа на ЗУП, но своя. Расчетные листки по валютам, и обобщенный по курсу регламентной валюты
А что же скриншотов в инструкции нет? 🙂
(7) Нет… 🙂 Добавлю….:)
Еще бы было бы хорошо добавить про отражение ЗП в регламентном учете. Там, где таблица действий по расчету зарплаты. Что бы уже полный алгоритм действий был 🙂
(9) Хорошо, я обязательно добавлю этот момент. Он многим не понятен. Постараюсь описать с картинками…
(10) на всякий случай, посмотрите мои два первых постинга(про проблему с 2-НДФЛ у обособленного подразделения)http://infostart.ru/projects/3609/
Вам это пригодится для составления инструкции….
А чем эта инструкция отличается от книги Медведевой М.Е. «1С:ЗуП Первые шаги»?
Или это прикол такой выкладывать материал из книг для рейтинга?
(11) Спасибо, обязательно посмотрю… 🙂
(12) К сожалению, не могу никак найти книгу Медведевой М.Е. «1С:ЗУП Первые шаги» в электронном виде. Хотела сравнить… :))))
(14) про валюты, что нить будет в следующей редакции?
(15) Извиняюсь, что так долго не отвечала на Ваш вопрос. По-моему, в типовой конфигурации нет такой возможности производить расчет по одному и тому же сотруднику в разной валюте. Причем, валюта для регламентированного и управленческого учета задается для всей базы в целом в Настройке параметров учета. Тем более, что Вы сами говорите о том, что ничего подобного в типовой конфигурации не нашли. А то, что Вы реализовали это самостоятельно, это просто замечательно!!! За это Вам плюсик… 🙂
Сегодня постараюсь выложить обновленную версию, пока корректирую с учетом всех комментарий.
(16) думал, может доработали, давно не смотрел стандартную конфигурацию
(14) Главное желание.
http://www.classs.ru/library1/tehnologii/medvedeva/
гугл «1с Зарплата Первые шаги скачать»
и первая ссылка:
(18) Да, плохо искала… 🙁
Спасибо за ссылку!!! Я просмотрела. Очень хорошая книжка. Всё тщательно, по шагам описывается. Рекомендую.
В своей инструкции я не использовала слов: «откроем это…», «нажмем ОК» и т.д. Я старалась как можно короче сделать описание, в этом помогли картинки — всё сами говорят за себя… Я, конечно, признаюсь, использовала литературу. А как же без нее?
Некоторые моменты не описаны в книге Медведевой М.Е., а описаны у меня. Некоторые моменты не описаны у меня, но описаны в книге… Я буду очень рада, что, может, кто-то найдет в моем описании то, что не мог найти в своей литературе…
Спасибо огромное всем, кто поддержал меня плюсиками!!! 🙂
Я а кошечек люблю :):):)
Спасибо. Очень толково. Сам бы так не написал.) Теперь будет что выдать бухам в виде методички…)))
(21) Я очень рада, что Вам понравилось… :))))) Спасибо за комментарий!!!
Чего то мне не понятно. Вроде описание для релиза 2.5 и выше…но чего то я в упор не вижу в конфе следующего документа «Приказ об изменении штатного расписания», котрый есть в описании (стр. 11). Может мне кто-нибудь объснить че происходит?!???
(23) Прошу прощения, этот документ в типовой конфигурации отсутствует… 🙁 Совсем забыла его убрать из инструкции, настолько к нему привыкла… 🙂 В следующей редакции заменю описание документа «Приказ об изменении штатного расписания» на описание регистра сведений «Штатное расписание организации». Спасибо, что заметили!
lonec, спасибо , я как раз искала инструкцию пошаговую .., а книгу найти не смогла
Понравилась! — Автор 🙂 Инструкцию не смотрел, плюсую из личных симпатий!
(25) bearcat, очень-очень рада, что Вам пригодится… :))) Спасибо за комментарий!
(26) Спасибо за плюсик! :))) Очень приятно… 🙂
Может кратко скажете про северные -где искать.
Плюс ставлю. Методичка хорошая.
(29) Спасибо большое! 🙂
По поводу северных — описание подробное на странице 12-13. А вообще данные вводятся в справочнике Физические лица => кнопка «Труд» => Работа на севере.
интресно,хорошая книжка
(31) Спасибо большое! 🙂
Хорошая инструкция, но можно было бы точно прописать какие данные обязательны для заполнения при начальном заполнении базы, а какие можно оставить на «потом», а то может возникнуть такая ситуация, что бухгалтера не заполнят, например, «адрес для информирования физлица». Бухгалтера же они такие, хотят чтоб начальные данные сами заполнились )
(33) Спасибо! Рада, что инструкция «хорошая»… :))) По поводу обязательных данных при начальном заполнении базы — нужно подумать…
То что доктор прописал! Именно такие инструкции нужны чтобы качественно внедрять системы. А еще есть?
планируется обновление инструкции в связи с изменениями законодательства?
Помогите пожалуйста, у меня при переходе на ссылку каждый раз скачиваетс ровно 24 килобайта. Что делать, как скачать ? Очень нужно для диплома. Автор помогите пожалуйста!
Спасибо большое автору!!!! Очень помогла. С меня плюсик! 😀
Наталья, а можно оглавление добавить?
Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! !!!!
Спасибо! С помощью этой статьи состоялось знакомство с ЗУП!
Спасибо большое. Ваша инструкция помогла подготовить набор инструкций для пользователей отдельно для каждого рабочего места.
Спасибо! Пользователям очень помогла во многом разобраться.
Непонятна идея создания этой инструкции. Разве мало качественных изданий от 1С по работе с программой? В инструкции я не увидел логики изложения, нет также в ней содержания.
Любая попытка изложить накопленный опыт это однозначный плюс. Для начинающего пользователя обязательно к прочтению. Хотелось бы дать общий совет. Если был опыт решения каких нибудь хитрых ситуаций (в связи с нашим не идеальным законодательством), то для примера очень бы хотелось ознакомиться.
спасибо! пригодится!
Для ЗУП 3.0?