Новые идеи про обучение пошли с другой стороны. Я решил переписать код выгрузки Статусов Заказов на блог. Сейчас я немного про это расскажу, и расскажу, почему переписал. В общем, мне давным-давно пришла в голову идея выгружать на блог статусы заказов (тогда ещё заказов). Как это сделать — я не знал, и в итоге создал в 1Ске справочник, куда руками вписывал все нужные строки по заказам. А потом из этого справочника делался текстовый файл, загружался по FTP на блог, где специальный, на скорую руку написанный, скрипт вносил изменения в базу данных.
Но ведь для заказа хотелось хранить историю событий! А как разобраться, что записать в историю событий на блоге, если тебе передаётся тупо текстовая строчка с описанием статуса, не привязанная ни к прошлому, ни к будущему? А вот тут в том на коленке написанном скрипте и появлися мутный код, который пытался найти в базе последний статус заказа, сравнить его с тем, чего передают сейчас, и решить: добавлять новый статус в историю, или обновлять предыдущий.
А тем временем всё стало проще. Я ввёл в 1С документ «Изменение статуса договора», потому что хотел, чтобы история статусов хранилась не на блоге, а в базе — где эти самые статусы, собственно-то и меняются. И как раз в базе можно иметь полную их историю. Тут, какзалось бы, и надо было переписать код выгрузки статусов… но я так и оставил старую сравнивалку. Она снова работала с текстовым файликом, как и раньше.
А сейчас, с появлением обучения, мне захотелось ввести ещё и учёт учебных групп в своей базе, и заодно как-то оптимизировать выгрузку статусов. Потому что я хочу использовать эту же фичу для того, чтобы можно было писать чего-то типа: «Курс Щиты, Группа 11» в названии заказа, и «Занятие 7 проводится» в статусе.
В общем сел я вчера и сегодня плотно за php, 1С и полностью переписал код выгрузки статусов. Мой скриптик для выгрузки подвергся нападению CSS и стал выглядеть в виде аккуратной таблички, а не скучных и ненаглядных выводов
echo ("Processing data... <br />");
В итоге получилось вот чего:
Работа скрипта обновления статуса заказов
Скрипт красиво выглядит, имеет режим отладки, где показывает запросы SQL, которые он будет исполнять, имеет быструю ссылку, чтобы перейти на страницу статусов заказов и посмотреть, как они обновились.
Сами коды заказов теперь у меня получили двухбуквенные префиксы, которые должны указывать, к какому типу событий заказ относится.
Ещё решил ради смеха и удобства (в том смысле, чтобы всё было одинаково и в единой форме) хранить историю изменений статуса мастера в базе. Сделал вот такой документ. Причём если раньше статусы были стандартные, вида «Болеет», «Отдыхает», то теперь можно написать свой текст статуса, любой до 32х символов. Мало ли сгодится?
Документ для изменения статуса мастера
Со статусом договора (заказа) — та же фигня. Тоже ввёл произвольный статус и поправил форму документа, чтобы они с документом изменения статуса мастера были максимально похожи.
Документ для изменения статуса договора (заказа)
Ну и ввёл учебные группы. Теперь у меня в 1Ске можно создать несколько учебных групп и занести туда Контрагентов.
Документ для редактирования группы учеников
Мне это представляется так, что вот я сейчас напишу программу курсов. Начну набирать людей. Одни хотят в будни, другие — в выходные. И ведь курс я буду читать не один раз, а нескольким небольшим группам людей. А вот тут эти Группы в 1С и понадобятся. Можно будет создать группы по номеру и названию курса (ну, как я уже писал ЩИТ-17) и, когда народ будет писать «Занесите меня в список» — реально заносить их в базу.
А потом я напишу отчёт по группам (в 1С штука, которая собирает по базе инфу и систематизирует её в готовый вид, называется «отчёт»), где будет указано, кто где есть, и, к примеру, сколько денег за что платил и на каких занятиях был.
Ну а после этого всего остаётся нажать «Выгрузить», и данные на блоге обновятся!
Обработка выгрузки статусов заказов на блог
На этом — пока всё. У меня на мыле 44 мыла, я всех вижу! Пошёл пропадать и готовить курсы и отвечать на мыла!
Проекту исполнилось 15 лет! Поддержать проект материально, проспонсировать проекты Автора или сделать ему подарок можно на этой странице: "Донаты и Спонсорство, Список Желаний".
Стандартная задача в аналитических системах, SCD медленно меняющиеся измерения
А чего такое SCD. Хоть как расшифровывается-то?
Cs, Slowly changing dimension
https://en.wikipedia.org/wiki/Slowly_changing_dimension
http://www.prj-exp.ru/dwh/slowly_changing_dimension.php
Шаман,
Чисто для дезинформации: у 1С, точнее, их франчайзи, очень много готовых решений, ориентированных на образование. Они даже целую конференцию на эту тему проводят каждый год. Я до прошлого лета имел отношение и к обучению, и к его организации, поэтому тему пришлось покурить. Может, тебе проще посмотреть на что-то уже готовое, близкое по задачам, потом подпилить надфилем, вроде умеешь.
Чтоб два раза не вставать. Как замечено выше, имел отношение к образованию, причем не простому, а профессиональному. Более того, по инженерным профессиям :) Есть основания полагать, что грамотные молодые электрики в наше время оксюморон. Это если вкратце. Ну а твой курс, думаю, быстро и по делу. База, правда, нужна — физика-электротехника, их по-быстрому не освоить, увы. Не МЭИшнику это объяснять. Если входной контроль знаний у тебя есть, то всё путём.
Ага, понял! Да я решил вообще тупо сделать. Фирагим вон регистр(ы) с измерениями «Контрагент», «Курс», «Группа», «Занятие». И в него движениями фигачим — записан ли он на занятие, был ли он там.
Скорее всего будет три регистра: один про денежный расчёт (прошло занятие — списали стоимость), второй — про присутствие человека на занятии. Третий — регистрация. И документик, который это всё меняет или рулит.
То-есть, иерархия получается такая: Контрагент > УчебнаяГруппа > УчебныйКурс > УчебноеЗанятие.
А наворачивать я не буду. Мне чего надо-то в итоге: данные, где у меня какой человек записан (какие группы, курсы и занятия), где был и где не был. И кто кому сколько денег должен.
У меня с курсами как. Я не хотел (и не буду) готовить электриков именно с НУЛЯ. Ну чтобы пришёл человек и такой: «Хочу. Научите». Я хочу готовить профи, причём обязательно с творческой частью. Чтобы человек овладевал знаниями, но и поднимался в развитии. Чтобы он понимал, что его работа — для людей, для их блага, и при этом творческая.
Поэтому потом я по любому буду эзотерику преподавать, а начальный уровень знаний для моих курсов будет нужен. Ну чтобы понимать, что такое ток, напряжение хоть.