<?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='\
бодро)
откуда «отсюда»? от дефолтного города что ли?
Интересно: какой штат программистов? Бухгалтерия 2.0? Как с обновлениями — при такой переработке системы?
Увеличилось ли количество бухгалтеров, операторов…(особенно при внедрении БИТ.Финанс)? Какие кадровые изменения имели место быть?
Насколько я в курсе блок ЗУП в УПП соответствует конфигурации ЗУП? Для чего тогда именно УПП? Знаю практику обратную: весь учет в УПП, а зарплату в ЗУПе — так как ЗУП приходится часто обновлять.
Планирование затрат, управление закупками — это все дописывалось для Бух.2.0?
Наверняка понадобится управление ремонтами?
Итого вывод — выбор был верно сделан?
У нас в городе (как раз там где этот завод), розничный магазин, справочник номенклатуры — 98к, Никто не считает его огромным. Нормальная наработанная база. Читал по диагонали, листал, искал детали внедрения(сколько спецов работало, какие блоки добавили, с какими сложностями столкнулись, что переписали, как было и как стало), пока внезапно статья не кончилась. Это же статья про внедрение 1С? Ну как вот эта напримерhttp://infostart.ru/public/166856/ ?
(2) Fox-trot, это с выступления с infostart event, поэтому «отсюда» надо воспринимать — «от СПБ» 😉
(3) user_2010, отвечу по порядку
какой штат программистов?
штат менялся со временем, основной костяк 4 человека. Максимум был 7.
Бухгалтерия 2.0?
Изначально 2.0, потом перешли на 3.0.
Как с обновлениями — при такой переработке системы?
УПП не сильно перерабатывали как раз из-за необходимости частых обновлений по зарплате. В БП обновляемся раз в квартал примерно, не сказать что глобальная проблема, но время отнимает.
Увеличилось ли количество бухгалтеров, операторов…(особенно при внедрении БИТ.Финанс)?
Операторы в ОИТ были сокращены (которые работали с мейнфреймовскими задачами), часть людей ОИТ переквалифицировалась с дельфи на 1С. Количество сотрудников финансово-бухгалтерских служб, осталось примерно на том же уровне, но функций у них прибавилось (до Бит.Финанс похожий функционал казначейства был в самописной системе). Потом загрузка по строительству увеличилась, людей стало больше, но не значительно, может быть в районе 10-15%.
Насколько я в курсе блок ЗУП в УПП соответствует конфигурации ЗУП? Для чего тогда именно УПП?
Изначально замахнулись в УПП делать все и использовать типовой функционал. В результате перегруппировались, поняли что бухгалтерию надо выделять в более простую для доработки конфу. Часть кадрового блока в УПП к этому моменту уже работала, поэтому и решили оставить ее как есть, благо в ЗУП функционал такой-же. Возможно УПП переведем уже на ЗУП 3, но сейчас это особо не горит.
Планирование затрат, управление закупками — это все дописывалось для Бух.2.0?
Да.
Наверняка понадобится управление ремонтами?
В этом году внедряем 1с-документооборот. Управление ремонтами думаю начнем делать зимой-весной.
Итого вывод — выбор был верно сделан?
В целом да. Что я поменял бы — так это УПП на ЗУП и, возможно, разделил бы базы бит-финанса и бухгалтеров. В первой бы остался весь упр. учет и основная масса пользователей.
(4) webester, Роман, я сначала думал сделать со скринами форм из 1С, но они кажутся уже такими опостылевшими (да и каждый добавленый док с внешним отчетом не будешь же скринить), поэтому выбор пал на такой графический формат представления 🙂
Их везде непросто найти….. даже в дефолт-сити.
= мы не знаем как это делать (зато честно).
(9) Lapitskiy, дело скорее не в технической стороне вопроса, как сделать vpn с континентом совсем не секрет, проблема с источником финансирования привлечения, ведь ГОЗ дает нам не более 3млн с одного контракта на непрямые платежи.
еще вопрос: интересно: как такое крупное предприятие устраивает функционал 1С.Бухгалтерии? даже чисто в плане бух учета? как-то странно звучит: функционал Галактики не подошел, а 1С.Бухгалтерия подошла????
А 1С.ERP примеряли на себя?
(11) user_2010, я полагаю автор достаточно на эту тему высказался в тексте статьи. Возможности доработки и сопровождения у 1с много богаче. Хотя бы в силу её распространенности и бОльшего числа специалистов на квадратный метр.
Автору и вашей команде большущий респект, за то что ЗЛК наконец,то сдвинулся с мертвой точки и начал двигаться в сторону развития. Тут самое главное не увлекаться, и не делать автоматизацию ради автоматизации)
(4) 98к позиций загруженных из типовых прайсов поставщиков за несколько лет это не то же самое, что 80-100к деталей, материалов, инструментов использующихся в производственном процессе и хранящихся как 30-40 лет назад на бумажных носителях. Что с чем обычно в народе рекомендуют не сравнивать, я полагаю, можете догадаться сами
(13) (4) (0)
Это именно Материалы, которые Материалы в ЕСКД? Если да, то 100.000 материалов — это оооооочен много, да ))
У нас в PMD-системе на заводе, который делает паровозы было около 3000 материалов.
Уточню, материалы — это, к примеру
Жесть белая 45-II-ГГЖР ТУ14-1-4214-87
Лист (8 ГОСТ19903-74)/(Ст3сп ГОСТ14637-89)
Круг (30 ГОСТ2590-88)/(55С2 ГОСТ14959-79)
Нитки хирургические N 8 ГОСТ396-84
Сольвент нефтяной ГОСТ10214-78
Ткань Т-11 ГОСТ19170-2001
и т.п.
Прочих и Стандартных вместе — около 15’000 позиций
Деталей — 120’000
Сб. единиц — 45’000
(0) а уточните, если не сложно, сколько у вас на один средний корабль скажем сб. единиц и деталей? И сколько уровней вложенности сборочных единиц выходит?
(9)(10) удалёнщики? А первый отдел как к этому относится? 🙂
и на оборонном заводе МСФО — для чего?
(17) CheBurator, отчетность в стандартах МСФО требуется при выпуске буклета для допэмиссии ценных бумаг акционерных обществ + для сборки общегруппового МСФО в ОСК.
(16) romansun, конечно плохо, режимщикам валю дай мы бы так и считали на счетах 🙂
(14) romansun, да, это из ЕСКД (группы которые ведут ЛОТ и Прометей), примерно такие:
00374011282 ПРУТОК Ф30 БЕЗ ТО НЕТРАВЛ, 40Х, ГОСТ 4543-71, ГОСТ 2590-88
00543714707 ЛИСТ 3х1250х2500, 10ХСНД, ТУ14-1-340-72, ТУ14-1-340-72
03420603001 Углеродная ткань-1270-(+45/-45)-420 Сб 42101 ТУ1916-011-61664530-2012
кроме них еще две группы — оборудование на корабли (то, что не преобразуется на заводе) и материалы для общехозяйственной деятельности (не на стройку), но этого относительно не много.
(13)Хранятся на бумаге они или нет, для вас это наверняка проблема, для ИС это вопрос десятый. Нас интересует именно ИС. У нас позиция в базе, тоже не просто строчка в таблице. По ней всегда есть движения по регистрам закупок, продаж, остатки на складах, себестоимость, партии и тд. Все это хранение оборотов, итогов, документов, табличных частей, версий. Я не знаком со спецификой и мне разница неочевидна. Можете вместо того, что бы умничать объяснить почему ваши 98к это целых 98к! А наши и не стоит даже с вашими сравнивать?
(15) romansun, сходу не могу сказать, это в производственной системе у нас крутится, не в 1С, поинтересуюсь напишу порядок цифр.
Вообще, насколько мне известно в машиностроительном блоке ведется разузловка изделий до материалов первичных, это имеете ввиду?
Или сборочных единиц оборудования различного? вроде такого:
12900081079 Переходник ДВИЕ.753136.023
12900081084 Переходник ДВИЕ.753138.029-02
12911144013 Клапан ИЮКЛ.491125.006-01 (521-35.3451-02)
12911244035 КЛАПАН ИТШЛ.491215.020 (521-35.3440)
(12) Артано, за респекты спасибо, передам людям 🙂
«автоматизацию ради автоматизации» делать не придется, у нас же не газпром, очень много чего работает вручную и в бумаге 🙂
позанимаемся сейчас документооборотом и управлением персоналом, а там дальше и СКУД подойдет с ТОИР.
(22) не, интересно не до материалов, а просто до сборок самого нижнего уровня.
Сб 100 — 1 уровень
— Сб 100.10 — 2 уровень
—— Сб 100.10.10 — 3 уровень
—— Дет 100.10.10.001.
то есть именно что разузловка до самого последнего узла, в который уже не входит другие узлы, а только детали и остальное
(21) Я знаком как с заводской спецификой, так и с торговлей (розница и опт). И могу сказать, что все эти «есть движения по регистрам», большей частью малоиспользуемый хлам. Легкость с какой наполняется номенклатурой даже пустая база тоже представляю. Активный ассортимент универсального магазина от 10 до 50к позиций в зависимости от степени универсальности. Всё остальное товар вышедший из употребления. Разве что для аналитических отчетов, но и здесь в качестве объекта анализа выступает не какая-то позиция в справочнике, а более крупные сегменты.
За всё остальное ответить не могу, ибо не работаю на этом предприятии
(18) Понял, спасибо
На ИС есть хорошая ветка по разулованию.
там упоминалось, что разузлование до самого нижнего уровня какого-то тепловоза — просто неимоверные ДЕСЯТКИ ТЫСЯЧ номенклатур.
(27) да, увидеть разузловку АПЛ, думаю, было бы вредно для здоровья ))
но так хоть…. какие-то общие цифры узнать на какой-нить сторожевик — было бы интересно
(28) romansun,
https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%80%D0%B2%D0%B5%D1%82%D1%8B_%D0%BF%D 1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0_20380
по сборкам ситуация следующая:
Уровень 0 — это само изделие
уровень записей
======= =======
0 6591
1 28232
2 15869
3 3048
4 586
5 184
это пример для такого корабля —
(29) ага,..
корвет — 6 уровней вложенности, 54тыс сборок.
ясн, спасибо… паровоз тоже уровней на 5-7 выходит. Сборок в основном поменьше, конечно. Но также несколько десятков