<?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='\
Как-то так получается:
вот только-только принята модератором, а не то, что на главной странице даже не мелькнуло, найти нельзя, если не автор и не знаешь где искать.
То есть чтобы хоть как-то мелькнуть перед посетителем сайта, надо потратиться на рекламу/»рейтинг»?
(1) С чего бы? Я вот зашёл и увидел на главной странице.
(1) есть такая штука, да, они объясняют это так:
В связи с этим на главной странице сайта она может появиться не сразу. Точную дату публикации
Вы можете узнать на детальной странице по ссылке выше.
Так всегда так и происходит, по-другому у меня ни разу не было.
Поспорил бы на счет грамотной постановки. «Стоимость корма увеличивает себестоимость рыб пропорционально количеству.» Что это значит? Стоимость корма распределяется равномерно на всех присутствующих в аквариуме рыб на момент поступления этого корма или то, что считается что все рыбы едят равное количество корма?
(4) Sybr,
Возможно это все таки тестовое задание, а не ТЗ.
Блин какая идеальная система, я бы еще добавла.
1. Убрать из документа продажи Аквариум
2. Добавить документ перемещения между аквариумами. А уж после десятка документов попробуйте сформировать правильный отчет.
вот тогда это будет хоть немного похожая на рабочую ситуация!!!
(2) TODD22, просто небольшая задержка на сервере
Помню в дополнение к подобной задаче дали установку: Рыбы могут быть совместимы и несовместимы! Типа нельзя несовместимых рыб в один аквариум садить… Ну понятно если их всего 10 или 100, а если 1000 или больше?
(5) uri1978, это реальное тестовое, на работу устраивался
о работодателе умолчу, скажу лишь, что отрицательная симпатия оказалась взаимной
(6) Nadushka74, по п.1 — только в том случае, если распределение рыбок по банкам регламентировано, и регламент соблюдается
и это будет значить, что связь рыбка-банка должна быть где-то в другом месте
по остальному — не вижу траблов. математика — в запросах, запросы к регистрам, а не к документам
(4) Sybr,
автор (то бишь я, а не автор задачи) нуждается в грамотном объяснении, в чем тут (или)разница
(6) Nadushka74, но за
спасибо
(8) mulla1979, тогда действительно придется делать еще одну связь.
но указание банки в расходе все-таки оставить
кроме перемещения обязательно нужно «списание за естественной убылью» (в том числе кошки и дети)
(9)
Я имел ввиду, что усложнять далее это тестовое задание не имеет смысла. Если испытуемый его сделал, то все дальнейшие «хотелки» он сможет реализовать.
(11) Разница принципиальная. В аквариуме 10 рыбок, сегодня приходит корм на 1000 рублей, которого 10 рыбкам хватит на месяц. Завтра одну рыбку продают, её себестоимость должна увеличиться на 100 рублей или на сумму на которую она съела корма за день?
(14) uri1978, это да
вообще, по нашим временам задание запредельное
соискателей просят написать запрос к одному справочнику с условием по одному реквизиту — без конструктора не могут. ни один!
(15) Sybr, логично.
тогда еще один контур закупка корма — кормление
но в условии прописано увеличение себестоимости сразу
1. Списание
2. Контур кормления
3. Контур сопутствующих товаров (тот же корм, баночки для проданных рыбок).
4. Совместимость рыбок
5. Размещение банок по торговому залу
6. График очистки банок
так глядишь, выйдет отраслевое
(18) tailer2,
+1
7. Учет коэффициента распределение корма в период кормления
Ну тогда надо еще и сезонность добавить, рыбки в зависимости от сезона могут больше или меньше кушать. А так же нужен склад хранения корма. а Спец добавки для рыбок?! Да, задачу можно усложнить… А так интересная задачка, даже появилось желанием самому написать конфу. Кстати сколько по времени выделяется на решение такой задачки?
Больше шансов на коробочное решение, если сделать это настройкой к БП
Можно к базовой — завести забалансовых счетов и комплект типовых операций
(19) bpc222, «учет коэффициента» ?
**
в целом, очень приятно такое внимание к прошлогодней безделице
спасибо, коллеги
**
(20) Craig,
задание высылалось письмом, до назначения встречи
встреча — по результату
Не думаю, чтобы на очной ставке у меня получилось запихнуть в запросы всю логику
(9) да уж …мне просто было бы лениво такое городить в тестовом задание. да еще и за бесплатно да еще и возьмут не возьмут) если к каждому работодателю ходить решать такие задачи, то можно и не устраиваться на работу, а работать на них всех бесплатно))
не воспринимай серьезно…шутка просто. Скоро при приеме на работу будут просить выполнить тестовое задание в размере проекта с бюджетом пару лямов.
(23) trade70, мой опыт участия в собеседованиях по обе стороны стола говорит о том, что ищут в порядке:
— подходит — не подходит прежде всего по психологическому фактору.
запах (перегар), опрятность в одежде, нормальная речь — само собой)
но подойдет ли в сложившуюся «корпоративную» атмосферу, сможет ли начальник командовать соискателем — в первую и основную
— при этом профессиональные навыки — на втором плане. какой-то минимум, конечно, должен быть, но и его готовы снизить, если человек хороший
— ну, и, конечно, существенный фактор — ожидания зарплатополучателя vs готовность (степень созрения) работодателя
очень важна удаленность места от жительства
по конкретному случаю задача была явный перебор (не без причины). но если бы не оно, то не было бы и этой публикации 🙂
(24)
Я о том-же….;-)
(1) Если не секрет — сколько времени заняло решение этой задачи?
Документ «Покупка рыб» и «Продажа рыб» некорректен, реквизит аквариум там не нужен. «Аквариум» и «Рыба» это номенклатура. Да и в покупке корма «Аквариум» не нужен, даже рассмешило меня. :0)
(27) orfos, Блин ты попробуй еще из тестового задания диссертацию защитить))
(28) trade70, да нет просто зачем неоправданно усложнять задачу из прикладной области, для этого существуют олимпиадные задачки
(26) Taktic, вечером. вот типо как сейчас. чистое время не засекал
(29) orfos, с фига ж оно прикладное? типичный тест, не сказать чтобы самый простой
(9) это моя задача со Специалиста по УТ. Взяли то, что могут проверить)
(32) cleaner_it, блин, сильное подозрение было, что тот мальчик был не умный, а хитрый :)))
Банальная попытка срубить sm на пустом месте. Конфу будут скачивать не далекие новички и рекрутеры. А таких не мало. Решение этого задания говорит, что соискатель закончил недельные курсы по 1С.
(24) (24) задача примитив — отражает знание рассчета по среднему.
(34) avto1c,
И так понятно, что это шуточная публикация, с неадекватным работодателем, который не хочет говорить прямо, что неберет на работу человека, а выдумывает всякие подобные задания для тестов, тратя его время. Адекватные сразу соображают что к чему и посылают таких работодателей подальше, ну а аффтора походу закусила эта тема и решил досадить работодателю))
А что-бы разместить данную публикацию бесплатно, я например не нашел в своем разделе нечего кроме этого «Скачивание за StartMoney. Рекомендованный уровень доступа.»))
(27) orfos,
Аквариум — это типа склад. Или цех по продукции которого и считается себестоимость!
(34) avto1c, ну ты крутой, это козе понятно
Ну, сделал. Ожидал худшего.
(39) crea3y, даже не знаю
это ко мне?
может, не стоило?
как-то поутих интерес, да?
надо еще чего-нибудь замутить
Чет мне не понятно, в какой момент увеличивается себестоимость рыбок…
В момент отражения покупки корма документом? Дык документом покупки мы ещё не списываем (скармливаем) корм рыбам, тогда на каком основании мы увеличиваем себестоимость рыбок?. Мы же можем продать голодную рыбу, на которую корм закуплен , но ей не скормлен.
Реализация поставленной задачи в предоставленном варианте исполнения не будет содержать информацию с необходимой достоверности по критерию непрерывности, что не соответствует поставленной цели.
(42) Glebis, Ваш звонок очень важен для нас 🙂
(43) Так моё решение, о том что текущая задача заказчика не соответствует его желанию, правильное или нет?
(44) Glebis, в каментах коллеги указали, что задача украдена из тестов вендора
Одного знакомого тестировали при приёме на работу, в ходе удалённого собеседования он получил задание от буха по разгребанию навоза в базе после него же самого. В итоге, после того, как он не без труда решил поставленную задачу, она сказала спасибо и не взяла его на работу. То есть, на работу никто не нужен был 🙂 Класс, да? Зато про жизнь.
(46) Aparatus,
То же знаю такую историю. Только там интересней. Одна энергичная девушка работала консультантом во франче, но при этом не умела программировать. Устроилась в одну компанию на фикси.
Дают ей задание на работе что то накодить, она открывает вакансию на программиста. С очень хорошей зарплатой и тд. Но условие выполнить тестовое задание…
После выполнения тестового задания она даёт второе тестовое… типа первое решение сделали не правильно и она даёт второй шанс и задание попроще….
Вот так за неё и кодили…. знаю людей которые по 2 задания ей делали…
(46) Aparatus,
У меня была крайний раз почти аналогичная ситуация. Когда брали на работу, была убита напрочь себестоимость в УТ 11.1, разгрести эту конюшню быстро и сразу возможности не было, я написал свой костыль, который как-то рассчитывал себестоимость остатков по средневзвешенному. Костыль был признан удачным и таким образом я испытательный срок прошел. Уныло только то что на испытательном сроке платят меньше, чем после.
А так, тестовая задача в принципе годная — позволяет сразу отсеять совсем мертвых и при этом вообще не имеет практической ценности (что как раз важно для тестовой задачи).
(48) Petr54-ru,
Если на испытательном сроке ЗП меньше чем после то даже не рассматриваю такие вакансии….
(49) TODD22,
В наших краях, если набирают «с улицы», «по объявлению» и не на топовые позиции, то других вакансий просто не будет. 1С программисты могут долго на одном месте сидеть на фикси и если припекло со сменой работы, то будут вписываться туда, где на испытательном сроке зарплата больше чем они сейчас получают.
Я слежу за спросом на 1С -ников, последние пару-тройку лет с нормальными вакансиями просто засада. Одни и те же вакансии, от одних и тех же контор висят непрерывно месяцами, а в тех, что появляются «свеженькими» зарплаты которые предлагаются реально, существенно ниже, чем написано в объявлениях. Можно даже сказать, что в наших краях спрос на 1-сников относительно низкий и зарплаты стагнируют, на фоне того, что все дорожает.
(50) Petr54-ru, Ынок, чё
(47) TODD22, Однажды я прямо сказал на собеседовании владельцу ли, зиц-оператору ли, что тест буду решать, только если это действительно тест.
Собеседник выглядел как вполне солидный муж.
Но разговор сразу скомкался и продолжения не имел
(52) tailer2,
Меня в одну организацию собеседовал франч которого просили подобрать сотрудника. Мне на собеседовании дали сделать задачу на спеца по платформе. Я спросил у дающего может ли он сам решить эту задачу. Он сказал что нет. После чего я спросил а как он поймёт правильно я её решил или нет он сказал что не знает….. 🙂
ага, в тему про ушлую девушку-франчи.
Искал работу с большей з/п — пошел в одну не маленькую компанию, вроде все солидно: вахта, тестирование и т.п. Потом собеседование — принимает какой-то парнишка (представился начальником отдела 1С программистов), спрашивает про 1С, но с акцентом на знания менеджминга да процессов (бухучет, документооборот и т.п), ну я из опыта все рассказываю, описываю. В конце собеседования дает задание на 2 недели — в УПП добавить бизнесс-процесс (а я пока работу искал несколько работ делал в пределах 5 рублей, ну одна из них тоже на бизнесс-процесс), а то что мне дает рублей эдак на 20 потянет. Я ему говорю что та и так, некрасиво это, сперва устроюсь и пока буду 3 месяца на испытательном тогда и сделаю. Он говорит ну как хотите, а без тестового задания не принимают. В общем я лучше работу нашел в 15 минутах хотьбы от дома, да и з/п повыше чем в той фирме, а они так до сих пор на hh объявление не убрали все 1С программиста ищут, кстати уже 2 год =)
(54) succub1_5, тоже имела подобный опыт: Рарус дал несколько заданий из реального проекта — так и сказали… потом никакого ответа от них получить не удалось, даже отрицательного… Больше франчайзи не интересны…
Что я делаю не так?
(56) или так
(57) Прикладываете .doc документ в виде фала .png?
(56) вот еще
о параллаксе
Как то так.
Может кто скинуть запрос на увеличение себестоимости?
А здесь еще отвечают?)
Скачала пример для самообразования и повторяю его пошагово.
В отчет данные не выводятся. Никак не могу понять почему.
Заметила что при формировании таблицы в ВыручкаОбороты и ВквариумеОбороты не попадают период и регистратор. Соответственно по ним не могу задать связи.
В предприятии при проведении не отображаются движения по Выручке.
Что я сделала не так или не сделала?