Одно Кольцо, Чтобы Править Всеми




Принцип обмена данными из 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='\

61 Comments

  1. genayo

    Сдается мне, что вы немного не в той области себя реализовываете. Стихи не пишете случайно?

    Reply
  2. rpgshnik

    Я видел фильм который начинался точно также

    Reply
  3. vano-ekt

    за раз не прочитать, в закладки 🙂

    Reply
  4. acsent

    вроде по-началу понятно про кого идет речь, а со 2 главы что-то я уже перестал улавливать какие аллюзии использует автор

    Reply
  5. Разумов

    Ждем на следующем Инфостарте доклада по теме с соответствующими декорациями, текстом, музыкой и хореографией.

    upd. И еще доп. секции с вопросами: кто тут орк. 🙂

    Reply
  6. independ

    Что сказать — дуализм. За радость нужно платить печалью. Сам иногда задумываюсь над своим существованием, профессия вроде современная, технологичная, но как верно замечено, порабощающая тех кто ей пользуется. Но это плата за прогресс, за развитие, за знания.

    Reply
  7. spezc

    Жесть)))

    Reply
  8. apd1c

    Восхитительно! История имеет претензию выйти за рамки внедрений 1с.

    Многомерная история, позволяет рассмотреть разные проекции применения.

    Получать деньги за интересную, захватывающее полностью мозговую деятельность и днем и ночью, развиваться в усовершенствовании навыков создания и поддержания колец, какова расплата за это в итоге?

    Можно соверешенствоваться в джебах, в служении по кодексу чести, но ради чего?

    Наверное этот вопрос надо задавать себе многкратно, пока не найдется стабильный ответ, хотя бы на время.

    Понедельник однако, продолжение пятницы. Начало отличное, новогоднее. Как раз время подведения итогов:)

    Reply
  9. Vovan1975

    хренотень графоманская

    Reply
  10. vano-ekt
    чужеземцы

    ?

    Reply
  11. viking7

    Эта проблема общего назначения продукта 1С. Автоматизация бизнеса… Думаю и так всем понятно, что это направлено все ТОЛЬКО для личного обогащение главного «Эльфа».

    1С само по себе зло. Это один из инструментов для обогащения группы избранных лиц. И для порабощения других. А мы те, кто сутками стоим у кузницы, пытаясь предать ему идеальную форму).

    Разрабатываете ПО в тех предметных областях, где это реально помогает человеку, именно человеку(или человечеству, как больше нравиться).

    Для передового медицинского оборудования, облегчающего жизнь и работу людям, в чьих руках находится самое главное и самое ценное-жизнь.

    Для развития технологий полета в космос, погружения на глубину, погружения в жерло вулкана). И т.д. и т.п.

    Если у Вас такие душевные терзания и философские мысли, может стоить задуматься?

    Reply
  12. apd1c

    (8) Иван, спасибо, что даешь повод задуматься по этому поводу для нас.

    Reply
  13. script

    Ничего. Как только роботы станут по интелекту равными хотя бы 10 летнему ребенку, всех массово начнут «освобождать» от рабской работы, а заодно и от душевных сомнений. Потерпите…

    Reply
  14. tmn72.1C

    Интересно написано. + Автору. Люди которые создают информационные системы в определенной области зачастую далеко от тех кто работает в этой самой области.

    Reply
  15. 1c-intelligence

    (1) тут не в области дело, это лишь подача информации, или средство.

    Важнее цель.

    Reply
  16. 1c-intelligence

    (2) значит, я своей цели достиг.

    Reply
  17. 1c-intelligence

    (3)

    за раз не прочитать

    хорошо сказано, сделаю своим девизом.

    Как у команды КВН «Полиграф Полиграфыч» был девиз — иногда придется подумать.

    Reply
  18. 1c-intelligence

    (4) дам пару подсказок, вдруг сочтете интересным.

    Речь о внедрении системы управления задачами, и ее сочленении с системой мотивации и демотивации.

    Reply
  19. 1c-intelligence

    (10) это относительно далеких земель. Из Средиземья они.

    Reply
  20. 1c-intelligence

    (11) Так вот, задумался, написал.

    Reply
  21. Артано

    Саурон беззаветный первопроходец на ниве автоматизации средиземья, ум честь и совесть третьей эпохи

    Reply
  22. azhilichev

    Иван, без обид, но в этой публикации 0% полезного. Другие ваши посты интересно читать, много интересных мыслей. Но иногда вы пишете ради самого процесса написания.

    Reply
  23. vano-ekt

    (9)

    хренотень графоманская

    на ИСе чаще другая крайность принята, публикуется велосипед с описанием «Писал для себя. Вот что получилось»

    и у этого велосипеда нет ни оценок, ни камментов, даже минус никто не влепит, чтоб это УГ утонуло

    Reply
  24. 1c-intelligence

    (22) я должен был написать этот текст, т.к. он — часть плана. И он не последний такой — который кажется не полезным и графоманским.

    История, тут рассказанная, уместилась бы на 2 листах, а написать пришлось 8. Ровно для того, чтобы история стала завуалированной.

    Читать и понимать завуалированные истории — крайне важно для того, кто хочет быть бизнес-программистом. И мне ничего не остается, как писать такие тексты иногда. Непопулярные, иногда отталкивающие, отдающие графоманством и самолюбованием.

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

    Модераторы решают, что пропускать, а что нет.

    Ну а вы решаете, что читать, а что нет, за что голосовать, за что нет, где написать вопрос, а где высказаться.

    Я — без обид. Вы — уверен, тоже. Мы все адекватные взрослые люди. Не нравится — прошел мимо. Нравится — зашел, потусовался, задал вопросы.

    Есть одна неприятность, которая мне мешает — все публикации являются частью одного знания. Чтобы это знание изложить, придется написать все публикации. Но они все разные. Некоторые вам не будут нравиться.

    Мне пришлось с этим смириться.

    Reply
  25. genayo

    (16) Иногда средства начинают затмевать цель. Так ждать от вас статьи в стихах?

    Reply
  26. a-grinyuk

    (18) ох.. было бы очень интересно почитать ваши наблюдения по этой теме) А не в такой иносказательной форме. Кстати на 1С нормальных систем управления задачами (в самом общем их понимании) я не знаю. Хотя «систем управления задач определённых категорий (видов)» полно.

    Reply
  27. 1c-intelligence

    (25) вроде не сильно это важно, ждать или нет. Если появится — увидите.

    Reply
  28. vano-ekt

    (24)

    часть плана

    без плана явно не обошлось 😀

    Reply
  29. zqzq

    А мне почему-то не про 1С напомнило, а:

    http://nautil.us/issue/52/the-hive/modern-media-is-a-dos-attack-on-your-free-will (и перевод: https://geektimes.ru/post/296353/ )

    Reply
  30. IvanKh

    А что есть зло? Как говориться, «кольцо» — только инструмент. Саурон и есть Саурон — злобный властелин по определению. Хотя, может всё, и Гендальф в том числе, не видят всей картины и не понимают мотивов. Вот приняли, что Саурон зло, и точка. Тут вспоминаются книги «Последний кольценосец» Еськова (история кольца всевластия рассказанная проигравшей стороной, прям в тему =) ) и «По ту сторону добра и зла» Ницше. А про программы для медицинских целей и т.п. — они перекрывают лишь узкую долю потребностей мира. И уйдя от служения кольцу, Средеземье не уведёшь от кольца.

    У нас капитализм, и требуются системы для управления капиталом. Будет социализм — будем писать программы для обоснования пятилетнего плана. =)

    Вот как эволюционировать в социализм, это вопрос. =)

    Reply
  31. CheBurator

    Зачетно.

    параллелей много 😉

    А разочарований у меня во всех этих компьютерных технологиях — все больше и больше,

    Reply
  32. vano-ekt

    (31) в семерке? 🙂

    Reply
  33. herfis

    (24)

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

    Я понял. В Средиземье «бизнес-программисты» — это типа садху.

    Reply
  34. independ

    если прикинуть, по степени своего влияния, да тут каждый, в той или иной мере кольценосец

    Reply
  35. CheBurator

    (32) не, вообще…

    семерка — это так, хобби.. поиграться на досуге

    Reply
  36. Designer1C

    (31)Полностью согласен с мыслью !

    У меня параллели тоже стали выстраиваться.

    И разочарований от КТ всё больше и больше.

    Reply
  37. CheBurator

    (36) Я ловлю себя на мысли, что когда я работал на XT/286/386/486/Пнипервые — я не морочился мыслью быстродействия в обычной работе (это было критично только на больших вычислительных задачах). Сейчасже, даже на новом ноуте — ставя какой-то софт первое что я ловлю себя — блин, он же сейчас ворочаться будет елееле…

    Reply
  38. genayo

    (31) Виноват сам инструмент, или те, кто применяет его не по назначению? Но есть подозрение, что это уже не так уж и важно. Мир меняется, и, похоже, необратимо…

    Reply
  39. Romul4444

    Мне вот это понравилось:

    «Перестали люди посещать друг друга, сиживать в тавернах, путешествовать в чужие края, с детишками возиться, на службу являться — лишь на Кольцо уходило время, дневное и ночное.»

    Очень метко.

    Передача управляющих сигналов уходит из реальной жизни в виртуальную. Опыт личного общения с живыми людьми (для многих неприятный из-за не 0% вероятности получения отказа сразу же) заменяется на общение с компьютерными персонажами. Источники информации (люди) с уменьшением живой обратной связи начинают вариться в собственном соку, коллектив и общество атомизируются.

    И это проблема не только внедрений новых решений. Это проблема, извините за пафос, современной цивилизации, современных человеков. Чисто техническими методами эту проблему не решить. Нужно перепрошивать мозги каждого отдельно взятого индивида. Для выживания человечества как вида просто необходимо, чтобы люди снова научились общаться друг с другом, научились слушать и слышать других людей.

    Вся тьма в душах от страха (тоже верно подмечено). Страх от непонимания. Непонимание от установки на разделение людей от унтерменшей (и это в тексте есть) и нежелания понять.

    Глубоко Иван копнул. Спасибо!

    Reply
  40. Ziggurat

    (11) Я правильно понял мысль, что орки — это программисты 1С? Остается лишь восхититься метафорой, так метко и четко характеризующей 80% этой прослойки желтой оранжевой программы.

    Reply
  41. herfis

    (39)

    Это проблема, извините за пафос, современной цивилизации, современных человеков.

    Это не только проблема, но и достижение. И потенциально — пользы гораздо больше, чем вреда. «Виртуальная» коммуникация гораздо более эффективна и всеобъемлюща по целому ряду важнейших аспектов (обмена знаниями, например). Можно сколько угодно бить в набат и ворчать на молодежь, как и до нашей эры (куда катится мир и все такое), но жизнь идет, шла и будет продолжать идти. Маятник качается туда-обратно, вырабатываются новые механизмы саморегуляции.

    А «атомизация» общества — естественный процесс, прямо коррелирующий с уровнем жизни. Она появляется просто потому, что становится возможным себе ее позволить. Чтобы это начало угрожать выживанию человечества хотя бы в теории, необходимы тысячелетия всеобщего благоденствия. Другими словами, за выживание человечества можешь не волноваться 🙂

    Reply
  42. Tefal

    Всегда любил почитать автора. Но это уже Эребор.

    Reply
  43. Romul4444

    То, что компьютерные технологии общения — это достижение — я полностью согласен. Да, это огромное достижение. Проблема не в них. Это инструмент, который без людей, использующих его, сам по себе не является ничем (как и деньги). Проблема в людях. В их утрате умения разговаривать, общаться.

    (41)

    А «атомизация» общества — естественный процесс, прямо коррелирующий с уровнем жизни.

    С определением «естественный» не соглашусь.

    Да, этот процесс закономерен в рамках идеи личного обогащения (мне хорошо, а на других наплевать). Для идеи коллективных действий и достижений (всем хорошо — то и мне хорошо, и вот мой вклад в общее дело) данный процесс не закономерен.

    Первична идея в голове у индивида, и его цели.

    Какая из идей является «естественной»? Мне кажется, что вторая. Потому что коллективом выживать проще, а для полётов в космос нужны общие усилия вообще сотен тысяч людей.

    А за выживание человечества я таки волнуюсь уже сейчас 🙂 Войны, яды, радиация, отходы и прочие продукты жизнедеятельности человека, которые закономерно появляются при идее личного обогащения, и которые можно очень сильно уменьшить при другой идее, уже сейчас ставят выживание человечества под угрозу.

    Reply
  44. MerwMebel

    Автору отдельное спасибо! ))) Очень понравилось, желаю дальнейшего развития типа что Саурону уже так много душ досталось что он решил их возвращать и перестал мучать всех)))

    Reply
  45. pahich

    А может проблема все-таки не в компьютерных технологиях, а в людях? Причем не в тех людях, кто эти компьютерные технологии пытается внедрять, а в тех, по чьим прихотям эти компьютерные технологии приносят недостаточно пользы?

    Цифры не врут. Врут люди [которые должны работать с цифрами], когда не умеют работать с цифрами…

    А по поводу подачи материала — не уверен, что я понял все аналогии. Можно более подробную расшифровку кто есть кто? 🙂

    Reply
  46. 1c-intelligence

    (40) нет, увы, не угадали.

    Четко выделенных, как отдельный народ, программистов 1С в этой истории нет.

    Reply
  47. IvanovAV

    Рекомендую к прочтению статью http://2k.livejournal.com/520078.html

    Особенно понравилось, цитата:

    1)Очень скоро производители автомобилей поняли, что в производстве говна есть три важных элемента: реклама, дизайн и цена.

    Благодаря рекламе любое говно можно продать. Благодаря дизайну можно продать говно чуть дороже. А правильно выбранная цена ― не слишком дорого, но и не слишком дешево ― не дает покупателю признаться, что он купил говно.

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

    2)

    Техника безопасности при работе с говном

    Для работников умственного труда

    1. Не называйте говно говном, это портит статистику продаж. К тому же, вы отбираете работу у сотрудников из отдела маркетинга, а они вам еще пригодятся.

    2. Не думайте о говне, как о говне. Настройтесь на позитив.

    3. Не думайте, что вы говно. Вы и то, что вы делаете, это не одно и то же.

    Reply
  48. &rew

    А давайте копнем глубже. В основе всего — желание обладать благами. Именно для равномерного распределения благ были и придуманы деньги. В тот момент это было оправдано ибо стоял вопрос выживания. Сейчас технологии позволят этот вопрос снять, но вопрос обладания благами (и властью над ресурсами их обеспечивающими) крепко засел в сознании рода людского.

    Вопрос, тот кто обладает всеми благами абсолютно счастлив? Нет. Потому что он не свободен от обязанности контроля за ресурсами.

    А вот теперь представим, что мы неограниченны деньгами. Все. Бери что хочешь. Будет ли нужда у человека брать больше чем ему нужно? Нет, потому что никто не ограничен деньгами. Все могут взять все что нужно. Вышел новый гаджет, пошел положил старый на переработку, взял новый. И гаджет не будут подчинены цели генерации бабла, если их нет. Соответственно и цели у них другие и функции и вообще ДРУГИЕ.

    А кто будет делать эти гаджеты? Да тот, кому интересно! (Таких много, ибо природа человека изначально — любопытство и исследование, еще с детства). А дальше.

    Кто то любит возится с растениями (селекция), кто-то лечить и т.д. И все без денег. Единственный источник проблем в этом мифическом мире — человек, который не знает чего хочет. Этот человек изначально несчастлив, пока не займется любимым делом. А рутинные операции выполняют машины, созданные теми инженерами, кому это интересно.

    Давайте радостных песен под новый год! А то че-то как будто Найка Борзова послушал. Нет, я его песни люблю, блин но они нифига не праздничные, хоть и есть у него про Новогодние ёлки на черном столе.

    Reply
  49. Cvetic

    (49) А кому интересно мыть полы и другую черную работы выполнять. Есть такие, которые вообще ничего делать не хотят только развлекаться.

    Reply
  50. &rew

    (50) » А рутинные операции выполняют машины, созданные теми инженерами, кому это интересно.

    » А развлекаются целыми днями — от безделья, т.е. от незнания, чем заняться. Хотя под хорошую музыку, написанную талантливым (не чисто ради бабла) человеком почему бы и не потанцевать. Или например вечером выпить хороший коньяк, созданный с душой.

    Reply
  51. zzumma

    Я куда попал?

    Reply
  52. ger_kar

    (24)

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

    Попсы и так хватает. Пиши еще в подобном стиле, чтобы был выбор чего почитать 🙂

    Reply
  53. ger_kar

    (52) В сказку 🙂

    Тут главное не забывать, что «сказка ложь, да в неё намек…»

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

    (52) Чем дальше (казалось бы) публикация от 1С, тем ближе (как потом оказывается) она к жизни. В том числе, жизни одноэсника.

    Reply
  55. 1c-intelligence

    (47) картинка шикарная.

    Reply
  56. ifilll

    Угадайте кто тут Тролль ))

    Reply
  57. Olga_aku

    (24)Иван, эту статью только что прочитала. В ней спрессовано то , о чём Вы в дальнейшем пишите.

    Мне кажется, Вы в ней ещё подбирали форму самовыражения.

    Получилось сложно и завуалировано. Но прелесть в том, что под разным углом можно рассматривать и каждый увидит своё.

    Reply
  58. 1c-intelligence

    (58) мне всегда кажется, что можно писать лучше. Чтобы найти это «лучше», надо экспериментировать, пробовать, искать. Вот, например, передача мысли в форме диалога. Но мне все равно не нравится — что-то упущено, не объяснено, не понятно. И комментарии это доказывают.

    В конце концов, в одном стиле и писать, и читать скучно, разве нет?

    Reply
  59. Olga_aku

    (59)Прочитала мысли в форме диалога. Понравилось.

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

    Думаю, Вам не удастся сойти с писательской тропы.

    То о чём рассуждаете, всё нужное.

    Тоже хочу высказаться. Может мне для начала Вам показать свое? Совет нужен

    Reply
  60. 1c-intelligence

    (60) не знаю, мне кажется не стоит мне показывать.

    Я не умею оценивать тексты. Это не жеманство, правда не умею.

    Просто публикуйте, и не бойтесь критики. Ее всегда будет много.

    Reply
  61. 1c-intelligence

    Друзья, прошу прощения за спам — поучаствуйте в голосовании.

    Reply

Leave a Comment

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