<?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='\
Как то странно расписаны плюсы и минусы топологий … в вики и то лучше описание топологий идет 😉
Думаю, что Вам, для начала, не мешало бы определиться. Все таки «Перифирия» или «Периферия»? После этого все остальное покажется банальностью 🙂
Нет самого главного — механизма реализации обмена применительно к тематике сайта.
Выбор механизма значит важнее !!!
(3) Выбор механизма это самое важное.. Не сделав этого, нельзя ничего реализовать. Системы разработанные «на глазок» — работают крайне плохо. По крайней мере мне не известна ни одна такая система, работающая в автоматическом режиме. А реализаций получается слишком много, что бы уложить их в рамки одной статьи. А применительно к 1С это пережевано и не один раз. Но 1С это только верхняя часть айсберга.
(2) Спасибо, но ни слова Периферия1, ни Перефирия1 в словаре нет. Остальное учту на будущее.
(1) ТОПОЛО’ГИЯ, и, мн. нет, ж. [от греч. topos — место и logos — учение] (мат.).
Часть геометрии, исследующая качественные свойства фигур (т. е. не зависящие от таких понятий, как длина, величина углов, прямолинейность и т. п.). Странно — потому что речь идет о построении принципа обмена, а не сети.
(4) Так ка собственно тема о 1С — именно разные ограничения механизмов недают реализовывать разные топологии и накладывают дополнительные плюсы/минусы.
Если тема получит продолжение — то да.
Иначе это просто ниочем. 1С штука предметная.
Заголовок не соответствует содержанию.
О распределенных базах меньше чем в ЖКК.
А механизмы обмена применительно к распределенным базам не раскрыты.
Если убрать про топологию и заголовок, то о том, что здесь рассказывается про распределенные базы никто не догадается.
Общие фразы ни о чем, большинство из которых спорны.
Банковские структуры, почему то не боятся работать через интернет.
(7) Могу поспорить, что 1С может создавать файлы для обмена. Так что любой обмен сводится к транспортировке этих файлов. Самый простой пример — это функции ЗначениеВФайл() и ЗначениеИзФайла().
(8)
1. Статья — это примерно 10% заголовка (я с вами согласен надо другой придумать).
2. Убирать не надо, а то ведь и не догадаются 🙂
3. Причем здесь страх? Минус этот не очевиден, но есть. Во первых вы не контролируете доступность — следовательно не можете её гарантировать. Во вторых вы не контролируете защиту информации.
4. Вы почитайте что гарантирует банк. Он не гарантирует, что с вашего счета не уйдут деньги. Он гарантирует, что вашим счетом может управлять только человек — владеющий некой идентификационной информацией.
Рассматривать организацию распределения баз без рассмотрения методов и свойств — не полезно.
Так как эти методы и свойства накладывают кучу ограничений.
(10) Укажите ограничение и я его обойду (вероятность 90%)..
(11)
применение только УРБД и схема кольцо
(12) Применение только УРБД — это не ограничение методов и свойств 1С 7.7 (я угадал версию?). Это административное ограничение.
(12)http://www.pb.ru/ru/manager/po/
«Менеджер» совершает обмен вне системы «центральная база-периферия», в которой любая информация для достижения адресата должна проходить «центральную базу» (топология обмена — «звезда»). Все участники равноправны и могут совершать обмен по любым направлениям (топологию обмена пользователь настраивает сам). При обмене данными между разными подразделениями фирмы или между фирмами-партнерами эта возможность будет оценена по достоинству.
(13)
Административное — это потому что через меню администрирование ? 🙂
Это ограничение встроенной методики.
Считаю что рассматривать топологии без методик и средств реализации — неполезно !
(14)
УРБД это не МОД !
(15)(16)
1.
1. Прил. к администрация. А. отдел исполкома. Административные органы. || Относящийся к системе управления, к органам администрации. Административная единица. А. центр. 2. Производимый распоряжением органов исполнительной власти. Административное взыскание. Выселение в административном порядке. 3. Необходимый для администратора, администраторский. Административные способности.
2. Куда простите встроенной? Язык 1С то же встроен (если мы об одном и том же месте) и причем включен во все поставки (в отличии от УРБД).
3. Топология обмена как раз и предполагает абстрагирование от методик и средств реализации. Рассмотрение методик и реализаций противоречит определению топологии.
4. Я прекрасно знаю оба инструмента. И что, что УРБД не МОД? От этого на западе солнце встанет?
5. Я понимаю, что еще Ленин использовал метод опровержения позиции оппонента, гиперболизацией его слов, до абсурда. Но при этом он не выподал из контекста разговора. Так что мы говорили об ограничениях 1С (7), а не об ограничениях знаний программистов 1С или желаний (распоряжений) каких-либо субъектов.
(17)
«..Я прекрасно знаю оба инструмента. И что, что УРБД не МОД..»
вот об этом стоит.
а разбирать двигатель через выхлопную трубу — не стоит.
(18) Может тогда и репликацию средствами MSSQL рассмотреть? Я её то же реализовывал. А еще «Конвертация данных» есть, и т.д. И тема станет бесконечной. Просто мы смотрим с разных позиций. Я с точки зрения менеджера, а вы с точки зрения программиста. Я не говорю, что не правильна ваша точка зрения. Просто, она неприемлема на первоначальном этапе проектирования. Изначально надо ответить на вопрос, «Для чего делать?», потом на вопрос «Что делать?», а вопрос «Как делать?» — должен появляться последним. На вопрос «Как» нельзя ответить, пока мы не знаем «Что надо», а вопрос «Что надо?» с предпосылкой «что бы было» — бессмысленный.
(19)
«Может тогда и репликацию средствами MSSQL рассмотреть» — именно, и будет вам плюсище от пользователей.
Я подозреваю, что плюсы/минусы вы основываете как раз на знании разных механизмов обмена, их возможностях и недостатках. И неподготовленному человеку (а как раз на них сориентирована статья) невозможно понять почему это именно так — как утверждаете вы.
Методически правельнее рассмотреть механизмы, а потом вернуться к топологии, и лиш затем начать проэктирование. Иначе — врыв мозга 🙂
Странная статья!
И причем тут топологии!
Структура УРБД может быть такова, что ни одна топология под неё не подлезет. Например когда Периферия может быть ещё и центром для других периферий, а те в свою очередь центрами для других. И при этом везде свои ограничения передачи данных. Тут уже квадратиками и разноцветными кружочками не отделаешься.
Ну, а каким образом вам передавать файлы обмена (FTP, SMTP и т.д.) это уже технический вопрос.
Не советую начинающим разобрать эту статью!!!
Странная статья!
И причем тут топологии!
Структура УРБД может быть такова, что ни одна топология под неё не подлезет. Например когда Периферия может быть ещё и центром для других периферий, а те в свою очередь центрами для других. И при этом везде свои ограничения передачи данных. Тут уже квадратиками и разноцветными кружочками не отделаешься.
Ну, а каким образом вам передавать файлы обмена (FTP, SMTP и т.д.) это уже технический вопрос.
Не советую начинающим разобирать эту статью!!!
Странная статья!
И причем тут топологии!
Структура УРБД может быть такова, что ни одна топология под неё не подлезет. Например когда Периферия может быть ещё и центром для других периферий, а те в свою очередь центрами для других. И при этом везде свои ограничения передачи данных. Тут уже квадратиками и разноцветными кружочками не отделаешься.
Ну, а каким образом вам передавать файлы обмена (FTP, SMTP и т.д.) это уже технический вопрос.
Не советую начинающим разбирать эту статью!!!
СОРИ ЗА ПОВТОРЕНИЯ!!! 😳
(23)
1. УРБД (если мы применяем это выражение к 1С) — имеет четкое определение. И оно не реализует то, о чем вы говорите.
2. Топология, которую вы описали имеет ряд названий (гирлянда, снежинка, дерево). Данные топологии являются лишь частным случаем смешанной топологии.
3. Квадратики и кружочки — это всего-навсего способ графического отображения информации. И рисовать их придется ОБЯЗАТЕЛЬНО (если вы будете делать что-то серьезное). Я сам ненавидел блок-схемы, пока не начал писать код за деньги.
3. Про то как передавать файлы, надо думать до того как их плодить. Пример: Вы делаете выгрузку в xml (планы обмена, КД и т.д.). Теперь давайте передадим эти файлы. И тут оказывается (гипотетически, но реально), что вы в месте где недоступен высокоскоростной канал связи. А xml — это формат, который не экономит на объемах (у меня генерировались файлы, размером более 100 Мб). Теоретически можно оптимизировать… И тут вы встаете перед делемой. Либо, сказать заказчику, что обмен нереален, либо переписывать все заново. В обоих случаях вам придется иметь неприятный разговор с заказчиком. При описании транспортов вначале (в том числе их технических характеристик), вы можете сгладить разговор и за оба варианта получить деньги. Если вы это вначале не предусмотрели — то рискуете не получить денег за работу (я бы не заплатил).
(22) Топологии при том, что начинается разработка именно с них. А точнее подбора топологии, под задачи заказчика.
(25) Каша!
1. УРБД как её не определяй и есть УРБД и рисовать вы её будете в точном соответсвии со структурой удалённых филиалов (организаций, подразделений). И она не определяется топологией (звезда снежинка и т.д.), она оределеяется структурой предприятия (организации, подразделения), а там может получиться структура любой сложности! Не нужно УРБД, сравнивать с локальными сетями, где круг топологий чётко определён.
2. Согласен блок-схема обязательна. (Вот только как вы её назовёте «Структура УРБД на предприятии N составлена по топологии СНЕЖИНКА») 😀
4. А тут ничего ненадо думать и плодить ничего не надо. Вопрос только в том, как срочно необходим обмен данными? Если нет интернета, то есть CD + экспресс почта или обычная Почта России. Если вообще ничего нет, то здравый смысл сразу Вам подскажет нужен ли там УРБД.
И вообще, разговор об УРБД заходит только после полного обследования предприятия, бизнес процессов, его структуры. На этот момент Вы уже будете знать где что есть, а где нету.
(27)
1. УРБД — это (в контексте 1С) компонента для седьмой версии.
2. Если честно, то какая разница что между чем и как связано… Сеть она и есть сеть… Неважно что это за сеть… Это и есть смысл топологии…
3. Как назвать — это вопрос маркетинга…
4. Полное обследование??? Обследовать можно бесконечно (особенно когда это делают как рекомендует 1С)… Мне больше нравится подход SAP/R3 (все что вам нужно есть в SAP/R3, чего там нет вам не нужно). Я не говорю что обследовать не надо, но в 90% случаев все бизнес-процессы стандартны. Когда говорят, о бизнес-процессах специфичных для фирмы, в 90% случаев это:
50% стандартные бизнес-процессы которые изобрели заново
25% это бизнес-процессы которые позволяют воровать у хозяев.
25% неправильные бизнес-процессы, созданные по незнанию предметной области.
5. Здравый смысл не всегда есть у заказчика. Какой здравый смысл оправдает воровство 5000$ при обороте 50 000$ в месяц (пиратское ПО)? Или покупку ПО просто потому, что оно есть у всех?
Уже больше двух лет прошло с момента публикации, а автор до сих пор не удосужился исправить грамматическую ошибку на рисунках.
О каком плюсе тут можно говорить?
Это просто ё…аный стыд!
Лень и нежелание реагировать на конструктивную критику — автору позор.
Автор! Батенька!
ПерифЕрия.
ПерифЕрия!
ПерифЕрия!
(30) EarlyBird,
Позор, позор. Ну дык — минусуй. -5 статья снята с публикации. Я сейчас то же минус влеплю… Чьерт… Сайт не дал… Говорит я автор статьи…