Что такое УПП в разрезе Предприятие-Организация




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?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='\

24 Comments

  1. tango

    180 не 12

    однако, они делают это

    Reply
  2. Шёпот теней

    (1)

    юстас — алексу

    что «180» …. где «12»….. кто «они» и что «это» они делают….?

    tango ответь…. приём…. приём…

    Reply
  3. Sei Souma

    Автор!

    Тема хороша, однако вы как-то слишком сильно растекаетесь мыслью по древу. Но я постараюсь написать об УПП то немногое, что выяснила на своем опыте.

    Для отдельной организации, пусть и в количестве больше 50 человек, УПП не подходит. В этмо случае стоит брать Бух 8.0, или УТ.8.0, и если нужно — то ЗУП, или отраслевое решение. Хватит функционала за глаза.

    УПП оправдано только при наличии производства. Когда организация хоть что-то производит, и реализует дальше произведенные товары.

    Для холдинга УПП подходит более-менее, после того, как пару лет типовую конфигурацию поперепишут вдоль и поперек, добавят кучу документов, отчетов и реализуют разные особенности учета, которые есть в любой мало-мальски крупной компании, и научать пользователей не лезть, куда не надо.

    А то ведь как у нас понимает директора покупку программы 1С. Купил! Поставил! И всё! Потекла информационная, отчётная речка с управленческими берегами.

    На самом деле, учитывая что УПП — это просто набор шаблонов, чтобы потекла эта самая информационно-отчетная речка, необходимы и грамотные пользователи, которые умеют работать с УПП ( а таких, по-моему, в природе не существует), и программисты, обслуживающие этих пользователей, которые на этом УПП уже не одну собаку съели и досконально знают, как в ней вести учет (а такие вообще только в мечтах бывают). УПП не бывает без программиста, который за ним следит. В зависимости от количества пользователей — до 20 — хватит одного программиста, до 50 — надо программистов двух-трех и одного администратора на побегушках, для консультирования пользователей по элементарным вопросам.

    Об отражении документов в налоговом, бухгалтерском и управленческом учете — я могу сказать, что по больше части расхождение учетов лечиться правильной первоначальной работой базы. Ну а остальное надо рассматривать каждый случай отдельно.

    Еще одно могу сказать — в УПП кривая зарплата (та, которая ещё ЗУП зовется). Крива она по определению, и по функционалу расходиться с отдельно стоящим ЗУП. И Бух 8.0. от Бухгалтерии в УПП отличается. А про бюджетирование в УПП ходят страшные легенды. Ни разу не слышала, чтобы хоть кто-то пользовался УПП для сдачи отчетности МФСО.

    Тема вообще очень обширная…

    Reply
  4. tango

    180 тысяч рублей стоит УПП, 12 — УТ

    а продается при этом ОДИН И ТОТ ЖЕ аладинский свисток, теперь понятнее?

    они — это те, кто умудряется все же впарить продукт за 180

    Reply
  5. Шёпот теней

    Первое.

    Наверное нет смысла отрицать, что всем движет идея. На неё нанизываются замыслы, действия, воплощения…

    Второе.

    Как можно, ругать или хвалить воплощение, пока не известны идея и замысел. Так и с УПП. В чём идея…? Если это попытка «N в 1» то это слишком банально и не несет никакой творческой составляющей. К тому же любая универсальность всегда уступит отдельным частям хотя бы по количеству ошибок, трудности их поиску и взаимному влиянию.

    Давайте предполагать, что 1С в виде УПП, создало систему учёта с совершенно новыми дополнительными возможности, в чём тогда они? Ведь для чего-то введены понятия «Предприятие» и «Организации».

    П.С.

    Количество купленных УПП множится. Так или иначе, надо на ней работать и изучать соответственно.

    Так что такое УПП..? Продукт новых вершин или старых заблуждений…

    В чём идея… то…?

    Воо-о-оот…

    Reply
  6. alfan

    Неплохой анализ. На мой взгляд, если мы говорим о терминах, то Предприятия это вид организации, который указывает на производственный аспект деятельности. Я так и не увидел из нормативных документов, почему вдруг Предприятие стало Холдингом? Укажите в каком контексте? И такой вопрос, действительно ли УПП дает возможность ведения учета Холдинга? Я только изучаю вопрос учета с помощью программ 1С, и у меня возникает вопрос, если нельзя правильно вести учет с помощью представленных программ, то почему нельзя пользовать Microsoft-ом, SAP-ом и т.д. Неужели только 1С привязана к законодательству с его постоянными изменениями.

    Reply
  7. tango

    (5) как можно ругать упп, это надо спросить у моей текущей гб 🙂

    Reply
  8. tango

    (6) почему «нельзя»? очень даже можно. когда 1сину начинает ругать юзер, я всегда советую ему вести учет в екцеле с дальнейшим переходом на записную книжку.

    кайф от ругани 1ски — исключительная фишка 1снегов

    Reply
  9. Шёпот теней

    (8) ругать конечно можно… был бы смысл…. всё одно работать надо… количество УПП увеличивается… в нашем регионе просто «прёт»… вот и хочется спросить у «знающих» кто знает об УПП…. работаю в ней около года закрадывается мысль, что если замысел и был то на этапе воплощения где-то потерялся… как-то всё не разрозненно …. впрочем на таком огромном продукте по-другому наверное и не бывает…!…?… с другой стороны недавно пообщался с р3 и по ощущениям та же «фигня» только ещё более дорогая… что кажется ну не может же такая дорогая «фигня» быть «фигней» да ещё и импортной…. гыыыы….

    (6) трудно спорить не договорившись об объекте спора… что такое «холдинг» …? группа компаний… одна из которых владеет другими в виде контрольного пакета акций или на правах собственности ( дочерние)… в российском закондательстве такого понятия как холдинг вроде не встречается…. а ваше мнение….? что такое холдинг…?

    Reply
  10. tango

    росзаконодательство — это… то. словечко из тех же куплетов — «лизинг». блин, что есть лизинг? то же, что и холдинг — словечко, выдернутое из забугорного контекста, впихнутое в местное «законодательство» в интересах неких конкретных физлицев, чтоб придать видимость ихней «схеме».

    спросите у меня, что такое УПП, и я вам скажу на момент сейчас: это кривой табель (и отработка в начислениях) за ноябрь-07 при том, что производственный календарь типа заполнен…. блин.

    пс: фигня, если она продается-покупается, может быть только дорогой, дешовую не возьмут по определению.

    пс 2: понятия встречаются. кусочками

    Reply
  11. Шёпот теней

    Такой программный продукт как учет хозяйственной деятельности невозможно создать без допущениё… уж вся она, хозяйственная деятельность, слишком разнообразна и нет двух одинаковых … к тому же все усложнятется постоянно меняющимися правилами игры… к тому же ещё и совершенно разные уровни работающего в программе, персонала…

    УПП, «штучка» дорогая и пытающаяся охватить все виды деятельности любого производственного комплекса в том числе и экономический анализ… изначально предполагается заточка под конкретные нужды конкретной хозяйственной деятельности… поэтому покупка УПП даже для 50 работающих никогда не окупится… при одном программисте на заточку потребуется не один год…. я согласен с автором (3)-го замечания «Sei Suoma»-ой во всём за исключением количества работающих в программе именно с точки зрения окупаемости и «заточки»…

    УПП это программа большиз затрат и больших организаций или организации, главный критерий покупки данного продкута это возможность обеспечить одновременной работы в ней не менее 100 пользователей со всеми вытекающими последствиями по сети и железу, содержания программистов и админов в количестве не менее 5 человек, с документооборотом по всему предприятию не менее 20 документов в день на человека… иначе она так и останется дорогой игрушкой дающей жить и занимающая время людей в ней и на ней работающих…

    во-о-о-от такое мнение….

    Reply
  12. anig99

    Развернутый ответ…Слишком.

    Хотя, кто не может понять и разобраться на практике…Неплохо.

    Reply
  13. Шёпот теней

    Спасибо многозначительному «anig99» за его многозначительное сообщение….

    Reply
  14. Abadonna

    Практически один в один совпадает с мнением многих о erp-системах типа Axapta 😉

    Reply
  15. larisab

    Стоимость УПП по сравнению с индивидульными настройками производства — сущая мелочь, а вот бюджетирования и МСФО нет ни в одной конфигурации 1С, если производство существует в различных модификациях, то эти две подсистемы — новое на рынке, половина берут УПП за бюджетирование, во всяком случае в нашем регионе

    Reply
  16. Арчибальд

    (5,11)Конечно хотелось бы, чтобы 1С испустила некий продукт, дающий базу для управления производством. Или хотя бы управления чем-нибудь кроме торговли. Но для этого знания ведь нужны. Например, классификатор производств:

    1. Вот фасовка (=сборка из комплектующих=нарезка пластикового профиля) + продажа — это то, что 1С знает и умеет.

    2. Вот добыча — там львиную долю учета составляет ремонт и содержание ОС, учета сырья вообще не требуется (ну нет его просто). И большие заморочки с зарплатой: вредный стаж, доп отпуска и т.д. — а зарплату считать 1С тоже не очень-то умеет.

    3. Вот колхоз. Вспахали землю по осени, а зачем? В смысле, на какую продукцию пойдут эти затраты? Если весной нужных семян купить не удастся к примеру?

    4. Вот рыбоконсервный комбинат в Астрахани, который упаковывает в банки собственного(!) производства балтийскую кильку и охотскую сайру.

    5.

    6….

    Обо всем этом 1С понятия не имеет. И не будет никогда иметь. УПП на самом деле УУПП — вторая У означает Уникальное.

    Reply
  17. tango

    что-то быстро заглохла тогда темка

    Reply
  18. Шёпот теней

    (17) у тебя поменялось мнение ?! …

    Reply
  19. tango

    (18) с марта 08 я узнал много нового об УПП 🙂

    Reply
  20. tango

    а новая мысль (безотносительно к реализации в УПП)

    организации — подразделения организаций — пирамидальная структура бизнеса (функциональная?)

    предприятие — проекты — процессная

    Reply
  21. Шёпот теней

    (20) … опять мы о терминах … слова одинаковые, но в разных текстах имеют разный смысл (но не будем о «м»арксе ))) )…

    п.с. извини… не «увидел» : а новая мысль (безотносительно к реализации в УПП) …

    п.с.1. организация = субъект … предприятие = объект … так у тебя получается ? или вещи совсем параллельные … ?

    Reply
  22. tango

    (21) я немножко другое пытался высказать

    справочники отражают вертикаль (пирамиду) власти (делегированного функционала)

    реквизит «Проект» — группирует данные по горизонтали — командно-пректная организация процесса

    необходима сущность «пользователь — проекты»

    Reply
  23. Шёпот теней

    (22) и ты ими пользовался — реквизит «Проект» ? …

    Reply
  24. tango
    и ты ими..?
    (20): безотносительно к реализации в УПП
    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *