Полный вариант решения задач для подготовки к экзамену 1С : Специалист 8.х по платформе (все разделы учета)




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

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

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

<?php // Полная загрузка сервисных книжек, создан 2026-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='\

98 Comments

  1. Serjik78

    P/S/ Предыдущие публикации:

    http://infostart.ru/public/58878/

    http://infostart.ru/public/58918/

    Reply ↓
  2. Serjik78

    За самим сборником просьба обращаться в личку.

    Reply ↓
  3. Арчибальд

    Скачамши, проплюсовать обязан 😉

    Reply ↓
  4. Serjik78

    ( 3 ) Благодарствую 🙂

    Reply ↓
  5. Amali

    Ничего себе… щедрая душа… сдал уже на специалиста?

    Reply ↓
  6. Serjik78

    ( 5 ) Сдал, пусть теперь другие сдадут 🙂 А то я устал готовиться, чтобы в эти 4 часа уложиться.

    Reply ↓
  7. codingone

    (0) БУ И Зарплатные задачи совпадают с ранее выложенными?

    Reply ↓
  8. Serjik78

    ( 7 ) Да, совпадают.

    Reply ↓
  9. Serjik78

    Очень много просьб:

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

    Reply ↓
  10. RailMen

    Предлагаю Сержика 78 причислить к лику святых инфостартовцев!

    Reply ↓
  11. AS108

    (0)

    Пусть Ваше сердце всегда будет таким щедрым!

    И пусть Ваш ум всегда будет открыт ко всему новому!

    И пусть Ваше тело никогда не знает усталости!

    И пусть Ваша душа всегда стремится к совершенству!

    И пусть удача сопутствует Вам во всех Ваших начинаниях!

    Низкий поклон и Большое человеческое СПАСИБО за Ваши труды!!!

    Reply ↓
  12. AS108

    PS: И пусть Ваш трафик будет ничем не ограничен 😀

    Reply ↓
  13. mishaninv51

    Большое спасибо! Слов нет, одни плюсы!!!

    Reply ↓
  14. M.Shalimov

    Спасибо милый человек, это какраз вовремя))))))

    Reply ↓
  15. chost

    По задаче 3.11

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

    Не увидел этого в задаче. Без этого «задача не решена в полном объеме — 2 балла!»

    Reply ↓
  16. Serjik78

    ( 15 ) Хороший вопрос. Насчет привязывать новые виды расчета — я закладывался, что, при расчете тех же премий используется универсальный запрос. Т.е. вводите новый расчет, включаете в базу для премий и будет считаться.

    А вот с исправлением результата — думаю стоит положить на форму «движения самих регистров» и дать пользователю править, а вот правильно ли это — не знаю. Спрашивал на экзамене препода — он не ответил, сослался, что «экзаменатор не обязан объяснять».

    Так что этот вопрос сам хотел бы обсудить 😉

    Reply ↓
  17. afanasko

    Ппц. Вот как плюсы зарабатывать нужно, оказывается!

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

    Reply ↓
  18. Serjik78

    ( 17 ) Если задачи не прорешать самому, то экзамен не сдать. А так помощь людям, ИМХО экзамен сложный по платформе стал.

    Вот сами посудите: философствовать некогда на экзамене, 1 час на БУ, 1 час на ОУ, 1.5 часа на Расчет, 15 мин на бизнес-процессы. 15 минут на всякие мелочи. Выйдет 4 часа и ошибаться некогда, застрял на какой-нибудь детали «Ручная операция» и все, тут минус 1 балл, там скинут за «неоптимальность», зададут доп. вопрос с подковыркой, за него снимут.

    При этом Ваши комментарии не слушают: «Придете на передсдачу, она же льготная». И хоть расшибитесь — «Преподаватель не обязан объяснять».

    Так что пусть люди не будут наступать на одни и те же грабли.

    А плюсы — их в карман не положишь… Зато приятно 🙂

    Reply ↓
  19. rasswet

    могу зазеркалить куда-то. будешь рассылать ссылки, если надо. делать?

    Reply ↓
  20. larisab

    (16)(18) Это что за экзаменаторы пошли? Раньше помнится на такие вопросы не только отвечали, а еще и помогали в осознании многих понятий :).

    Reply ↓
  21. pal_vas

    Спасибище!!!

    Reply ↓
  22. Serjik78

    ( 19 ) В каком смысле? Уточните, пожалуйста, что имеется ввиду.

    Reply ↓
  23. ураниум

    Офигеть!!!

    Reply ↓
  24. rtimothy

    Готовлюсь к специалисту и не могу скачать выложенные задачи.Помогите!

    Reply ↓
  25. Serjik78

    ( 24 ) Как так? Вижу 991 скачавших 😉

    Reply ↓
  26. kkvlad

    Сдавать или нет экзамены — это одно, а знать все равно нужно.

    Спасибо!

    Reply ↓
  27. mpkfa

    молодца однозначно ПЛЮС

    Reply ↓
  28. VitalyK

    «Все разделы учета…» при распаковке выдает «неожиданный конец архива…». Хотя по размеру вроде скачен полностью.. В чем может быть дело? Но вообще однозначно ПЛЮС!

    Reply ↓
  29. JIGIT

    Спасибо!!! и + однозначно! 🙂

    Reply ↓
  30. Serjik78

    ( 28 ) Попробуйте еще раз скачать. Вы — первый после 800+ скачиваний этого файла 😉

    Reply ↓
  31. chost

    По задаче 3.11

    По редактированию в форме документа — в табличных частях колонка «Результат», на форме кнопка — «Рассчитать», там и производится расчет. А в модуле проведения — только запись в регистр уже рассчитанных записей.

    По алгоритмам — это реквизит у ПВР. Соответственно в коде проверки не на вид расчета, а на ВидРасчета.Алгоритм

    Reply ↓
  32. kubiky

    Огромное спасибо — хорошее подспорье для подготовки

    Reply ↓
  33. Арчибальд

    (17) Специалист И «1С-специалистПоПлатформе» — это не одно и то же 😀

    Reply ↓
  34. srvrv

    Почему были выбраны именно эти билеты?

    Reply ↓
  35. Serjik78

    ( 34 ) Потому что они на экзамене встречаются.

    Reply ↓
  36. rtimothy

    в контексте этой темы и имеется ввиду Специалист по платформе,по конфигурациям сдают на специалиста-консультанта. 😀

    Reply ↓
  37. srvrv

    (35)

    Встречаются только эти? Или могут быть любые?

    Reply ↓
  38. Serjik78

    ( 37 ) Эти в том числе, всего билетов, которые я видел 24. А сколько всего — боооольшой вопрос 😉

    Задач в сборнике 150, комбинаций по правилу множеств = 50 * 40 * 50 * 10 = 1 000 000 😀

    Reply ↓
  39. megaalex

    Спасибо!

    Reply ↓
  40. Serjik78

    Дамы и господа, приношу извинения. По задаче 2.5 выложил что-то не то 🙁 Попробую найти правильное решение и выложить заново.

    Reply ↓
  41. DarkAn

    А где можно прочитать сами формулировку задач? т.е. саму задачу?

    Reply ↓
  42. dim0n_la

    Успел посмотреть только БУ четыре задачи. По всем четырем решение к сожалению не соответствует требованиям поставленным в задаче. Дальше смотреть интерес пропал.

    Думаю, что когда выкладываешь подобные вещи, на которые некоторые люди потом ещё и вздумают ровняться, то нужно быть уверенным, что именно этот вариант решения 100% даст пять баллов а не -2 на экзамене.

    А ещё лучше с комментариями, по поводу хода решения и почему именно такой путь сдесь необходим.

    А так спросить даже не о чем, т.к. решений я не увидел. Может и стоит дальше посмотреть…

    Reply ↓
  43. larisab

    (41) А вот это уже нельзя.

    Как зеницу вока…

    Зо 2 дня почти 2 тыс скачиваний и почти 400 плюсов!!

    Если бы все заплюсовали ❓

    Вот это фурор!!! А ведь спецы нужны практически только франчам… А еще считается, что сайт фрилансеров 😀

    Reply ↓
  44. DarkAn

    (43) ну а как тогда в (42) посте знают, о том что задача не соответствует требованиям?

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

    Reply ↓
  45. larisab

    (44) Это-то понятно, но выкладывать здесь нельзя.

    Их вообще никому не дают, только на экзамене, запрещено 1С.

    А в 42 откуда знает, экзаменатор ❓ ❗

    Reply ↓
  46. DarkAn

    (45) Ок, все ясно 🙁

    Reply ↓
  47. ivashale

    Это самое лучшее и самое полезное, что я когда-либо встречал на Infostart. Автору низкий поклон

    Reply ↓
  48. Source

    Подскажите, где можно скачать текст заданий???

    Reply ↓
  49. PavelBaryshev

    Спасибо большое, есть же добрые люди 🙂

    Reply ↓
  50. KukA.5

    Полезно не смотреть в чужие решения, а самому по заданиям решить их! Это гораздо эффективнее 🙂 Я когда в свое время готовился к спецу, посмотрел некоторые решения, которые коллеги по Рарусу (сдавшие уже на спеца) дали из своих подготовок — все это беспонтовка полная, как правило.

    Таблетка от «лени и от нежелания лично думать, нежелания прорабатывать задания и набирать навыки для сдачи экзамена» — вот что выложил уважаемый автор…

    Это просто мое мнение. Ставлю МИНУС за неправильно задаваемый вектор для других (выкладывания вариантов решения без текста заданий).

    Reply ↓
  51. Istur

    (48) Купить у 1с. http://v8.1c.ru/metod/books/book.jsp?id=171

    Или вбить в поисковике запрос: скачать сборник задач для подготовки к экзамену специалист по платформе 8 …..

    Reply ↓
  52. Istur

    (50) Это зависит от человека. Если прорешал сам то любопытно посмотреть как решали другие. Или если запнулся то готовое решение может сберечь время.

    Reply ↓
  53. марокко

    Ух ты! Класс! Огомное спасибо! Так пригодилось!

    Reply ↓
  54. Serjik78

    (50) Соглашусь с уважаемым Istur, все зависит от человека. Начинаем мы учиться на примерах. Я тоже по крупицам информацию собирал, когда начинал готовиться. Расчетную часть вообще не знал, если бы не было «таблеток», то времени бы убил очень много.

    В конечном итоге каждый все равно придет к тому, что нужно самому прорешать задачи, прежде чем идти на экзамен.

    А так можно насчет таблеток рассуждать до такой степени, что нам и учителя в школах не нужны. Пусть дети сидят дома и сами решают задачи. И книжки у них отберем, пусть сами с аксиом начинают 😉

    Reply ↓
  55. kuzyak7

    Serjik78, а какие билеты лично вам попались?

    На какую оценку препод оценил решение? Были ли ошибки?

    Reply ↓
  56. cmd_vasec

    А какой редакции книги относятся решения?

    Reply ↓
  57. Serjik78

    (55) Мне попался билет, который я выложил. Выносили мозг по рачетной задаче, я упирался, что премия у меня начисляется отдельно по валютам, а препод настаивал, что нужно сразу на все делать. Еще была пара мелочей по оптимальности решения. Оценили на 3+. На мои вопросы как же надо было правильно меня послали «лесом», что отвечать не обязаны.

    Reply ↓
  58. Serjik78

    (56) По апрельскому сборнику. Новый у меня тоже есть, особых разночтений со старым не нашел. До сих пор остался перл «если водитель наездил в расчетном периоде более 1000 часов», а период месяц.

    Reply ↓
  59. Andy525

    Здорово помогает, большой плюс

    Reply ↓
  60. Rusik49

    Сержик78, вы молодец! Спасибо. Вы все правильно написали- времени в обрез и чем лучше подготовишься и просчитаешь время — тем надежнее.

    Reply ↓
  61. jhfrek

    Благодарю!

    Reply ↓
  62. Requiem

    Задача 1.37. Вместо решения выложена чистая каркасная конфа.

    Reply ↓
  63. netstep

    Некоторые задачи из архива, якобы решенные, на самом деле не решены, а в решенных задачах есть ошибки….

    Reply ↓
  64. Scorp_Freeman

    Скачал. Надеялся есть примеры решения…. Не смотря на разные номера задач в папках находится обно и то же…. и решения не видно

    Reply ↓
  65. manan

    уважаемый автор. вот здесь обнаружил ваши материалы http://www.sky1c.ru/node/53

    и, кстати, свою конфигурацию «Тестирование 1С Профессионал», что меня не очень порадовало.

    Reply ↓
  66. Serjik78

    (65) Вообще там человек взял несколько ссылок (моя только одна) и выложил на сайт, внизу страницы есть ссылка на infostart. Говорит о том какие там профессионалы в автоматизации 😀

    Reply ↓
  67. Serjik78

    Во всех задачах по ресурсу «сумма» итог выходит в ноль при сведении количества в ноль. Я проверял, в какой именно задаче в ноль не выходит?

    Reply ↓
  68. boggonzikov

    что-то скачать не получаеться

    Parse error: syntax error, unexpected ‘:’ in /usr/local/www/data/bitrix/stack_cache/MYSQL/b_iblock/30/306004069f336106238000efc8c322b9.php on line 5
    Reply ↓
  69. Аверков

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

    Reply ↓
  70. manan

    выложил свои варианты решения задач из сборника. кстати, их гораздо больше чем здесь:

    http://infostart.ru/public/62680/files/

    Reply ↓
  71. manan

    (71) см. вот эту ссылку:

    http://infostart.ru/public/66244/

    Reply ↓
  72. Boris-Leleko

    Решения всех билетов по управляемому интерфейсу

    http://infostart.ru/public/77754/

    Reply ↓
  73. azza

    Помогите разобраться, что за формат файла, как его открыть-то?

    Reply ↓
  74. TUTSIC9

    Очень полезная книжка, ибо сдать на спеца нереально просто!!! эта вещь может очне ьдаже помочь!!!!

    Reply ↓
  75. netserfer

    Вопрос. Начинать готовиться или не начинать

    Reply ↓
  76. lemonadze
    netserfer пишет:

    Вопрос. Начинать готовиться или не начинать

    А трава зеленая? )

    Reply ↓
  77. HarleyDavidson

    Спасибо!

    Reply ↓
  78. BurSer

    Скачал. Спасибо. Пойду готовиться к сдаче.

    Reply ↓
  79. Zoomby

    Спасибо, интересный материал. 🙂

    Reply ↓
  80. Stepan_1c

    спасибо за труды и старания всем=)

    Reply ↓
  81. Stepan_1c

    надо будет собраться с духом и начать нормально готовиться = )

    Reply ↓
  82. h_vitya
    Boris-Leleko пишет:

    Решения всех билетов по управляемому интерфейсу

    http://infostart.ru/public/77754/

    Спс!

    Reply ↓
  83. 1C-Nic

    Спасиба

    Reply ↓
  84. deus78

    Спасибо …ученье свет !!! )

    Reply ↓
  85. jiggli

    Спасибо!

    Reply ↓
  86. divalis

    Спасибо, помогло!

    Reply ↓
  87. povelivatel

    Большущее спасибо за данные материалы, надеюсь они пригодятся мне.

    Автор молодец, нигде больше такого найти не мог.

    Наверное плохо искал, но не суть.

    Reply ↓
  88. Bassgood

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

    Reply ↓
  89. opolyakova

    не полный.

    Reply ↓
  90. orsprog

    Судя по отзывам материал помог сдать экзамены, версия еще не устарела?

    Reply ↓
  91. ann_ver

    Спасибо автору за материал!

    Reply ↓
  92. ann_ver

    спасибо большое

    Reply ↓
  93. quadro3

    Спасибо!

    Reply ↓
  94. miledi.80

    Спасибо! Пригодилось.

    Reply ↓
  95. Kohmar

    спасибо, очень помогло при подготовке к экзамену

    Reply ↓
  96. frea

    спасибо, отличная подборка. пригодилось

    Reply ↓
  97. dvarf

    (2) Пришли пожалуйста все вопросы.

    Reply ↓
  98. XelOla

    (9) будьте добры вернуть 1 стартмани. не обратила внимания на дату публикации. 2009 г(((

    Reply ↓

Leave a Comment

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