Теперь я официально сертифицированный эксперт 1С. Это было не просто, да, но это того стоило.
Впервые я начал задумываться о том, чтобы сдать экзамен, еще 2019 году. Тогда это были просто мысли без особых планов.
Мысли переходящие в какие-то конкретные действия начались только в 2021 году. Тогда я начал проходить курсы и погружаться в технические вопросы, но подготовка не была системной, я то начинал ее, то бросал.
Все изменилось в конце 2023 года, когда я поставил себе цель — получить в 2024 году сертификат Эксперта 1С.
Я решил для себя, что буду смотреть в сторону технической экспертизы.
Почему сертификат эксперта 1С считается наивысшей ступенью в развитии разработчика? Ответ прост: на данный момент сертификат является подтверждением самых глубоких знаний в технических компетенциях в области 1С и особенно ценится работодателями.
С 2007 года по настоящий момент только ~ 1000 человек получили этот сертификат.
Далее расскажу немного о том, как готовился, какие курсы выбрал и как проходил экзамен.
Поддержите реакциями, если интересно 🤟🏻
Впервые я начал задумываться о том, чтобы сдать экзамен, еще 2019 году. Тогда это были просто мысли без особых планов.
Мысли переходящие в какие-то конкретные действия начались только в 2021 году. Тогда я начал проходить курсы и погружаться в технические вопросы, но подготовка не была системной, я то начинал ее, то бросал.
Все изменилось в конце 2023 года, когда я поставил себе цель — получить в 2024 году сертификат Эксперта 1С.
Почему именно эта сертификация так засела в моей голове? На мой взгляд, традиционное развитие разработчика выглядит следующим образом: джун, мидл, сеньер, а вот дальше путь развития может меняться в зависимости от особенностей конкретного человека. Кто-то останется сеньером, кто-то смотрит в сторону руководства, а кто-то в сильную техническую экспертизу.
Я решил для себя, что буду смотреть в сторону технической экспертизы.
Почему сертификат эксперта 1С считается наивысшей ступенью в развитии разработчика? Ответ прост: на данный момент сертификат является подтверждением самых глубоких знаний в технических компетенциях в области 1С и особенно ценится работодателями.
Далее расскажу немного о том, как готовился, какие курсы выбрал и как проходил экзамен.
Поддержите реакциями, если интересно 🤟🏻
🔥45👍8👏4
Подготовка к сертификации заняла у меня примерно 10 месяцев. Готовиться я начал в январе 2024, но активная фаза подготовки стартовала в июне 2024, когда я полностью сфокусировался на задаче сдать этот экзамен. В августе 2024 я записался на сдачу экзамена на 24-25 октября 2024 в резерв, так как мест в основную группу уже не оставалось. Я уже отчаялся попасть на экзамен, но неожиданно за два дня раздается звонок, и мне сообщают что освободилось место в основную группу. Естественно, я сразу согласился.
Я старался уделять подготовке минимум 1 час в день, но без пропусков. Если получалось выделить больше времени, то выделял больше.
Плюс я прошел несколько курсов: основы ремесла 1С:Эксперта от Евгения Филиппова, основной курс подготовки от Виктора Богачева и курс применение методик от Евтушенко Антона и Федорова Юрия. Каждый курс я тщательно документировал, а также выполнял все домашние задания. Конспект мне потом очень помог в подготовке. В процессе конспектирования, я поднял тестовый стенд из двух серверов на linux, один БД другой сервис приложений. На них я выполнял домашние задания. Также я поднял сервер на windows, т.к в курсах были задания которые необходимо выполнять на этом стеке.
И вот настал день Х. В первый день сдают практику. На решение экзаменационных задач отводится временный интервал с 10:00 до 17:00 с условным обедом (спойлер, на него можно не ходить). После 17:00 работы уже начинают проверять, и кто не успел, тот не успел.
Во второй день сдают теорию. Теория состоит из 3-х основных вопросов и 20-ти дополнительных. На все вопросы нужно отвечать письменно, а потом начинается собеседование с экзаменатором.
В следующем посте расскажу, без каких знаний у вас не получиться сдать экзамен.
Я старался уделять подготовке минимум 1 час в день, но без пропусков. Если получалось выделить больше времени, то выделял больше.
Плюс я прошел несколько курсов: основы ремесла 1С:Эксперта от Евгения Филиппова, основной курс подготовки от Виктора Богачева и курс применение методик от Евтушенко Антона и Федорова Юрия. Каждый курс я тщательно документировал, а также выполнял все домашние задания. Конспект мне потом очень помог в подготовке. В процессе конспектирования, я поднял тестовый стенд из двух серверов на linux, один БД другой сервис приложений. На них я выполнял домашние задания. Также я поднял сервер на windows, т.к в курсах были задания которые необходимо выполнять на этом стеке.
И вот настал день Х. В первый день сдают практику. На решение экзаменационных задач отводится временный интервал с 10:00 до 17:00 с условным обедом (спойлер, на него можно не ходить). После 17:00 работы уже начинают проверять, и кто не успел, тот не успел.
Во второй день сдают теорию. Теория состоит из 3-х основных вопросов и 20-ти дополнительных. На все вопросы нужно отвечать письменно, а потом начинается собеседование с экзаменатором.
В следующем посте расскажу, без каких знаний у вас не получиться сдать экзамен.
👍25🔥9
Общий перечень требований к экзамену, есть в описании экзамена на сайте: https://uc1.1c.ru/ekzameny-1s/expert/#zagolovok1
На что же больше всего нужно обращать внимание? Расскажу по пунктам.
1️⃣ Распространенное заблуждение, что раз экзамен принимается на linux + postgres, то знать win + mssql не нужно. Это не так, вопросы есть как по связке linux + postgres, так и по win + mssql. Причем по MSSQL вопросов даже больше. Поэтому нужно знать все. Ребята, которые сдавали в 2016, этих проблем не знали.
2️⃣ В первый день на практике очень внимательно нужно слушать, что говорит экзаменатор перед экзаменом. Например, если есть проблема с ресурсами, обязательно нужно приложить скрины этих счетчиков при описании решения. Без этого задание не засчитают. Просто найти проблему по ТЖ или ЦУП недостаточно.
3️⃣ Кроме того, мало найти проблему, ее нужно еще правильно решить, а это бывает не так-то просто.
Теперь по блокам:
👉🏻 Управляемые блокировки. Нужно знать про них все. Когда нужно ставить/ не ставить. Когда платформа их ставит автоматически. Для чего собственно их придумали. Уметь применять методику расследования ожиданий и взаимоблокировках через технологический журнал и ЦУП.
Думаете, автоматический режим блокировок уже умер? А вот и нет, его как ни странно тоже спрашивают на экзамене.
👉🏻 Блокировки СУБД (MSSQL). Нужно знать, когда могут возникать и как расследовать.
👉🏻 Кластер серверов 1С. Тут нужно знать все как Отче наш. Спросить могут буквально про любую галочку или настройку в кластере. Требования назначения функциональности (ТНФ) тоже нужно знать в обязательном порядке.
👉🏻 Весь раздел руководство администратора нужно детально изучить.
👉🏻 Все методики их технологических вопросов крупных внедрений нужно прочитать хотя бы раз.
👉🏻 Опыт использования тест-центра тоже важен. Если вы в первый раз его увидите на экзамене, велик шанс, что экзамен вы не сдадите.
👉🏻 Linux. Тут такая же история, как и с тест-центром. Если вы до экзамена ни разу не видели linux, то ответ вы уже знаете.
На сколько хорошо нужно ориентироваться в linux? Ответ такой: базовые команды нужно знать: как перейти в папку, как рестартануть службу, как включить отладку на сервере и т. д. Если при подготовке вы самостоятельно развернете тестовый стенд, все это изучите походу этого процесса.
Дайджест полезных ресурсов при подготовке:
💡 «ИТС наше все». Некоторые думают, что в фирме 1С есть какая-то скрытая техническая документация, которой пользуются сами разработчики типовых решений. На самом деле ничего такого нет, все пользуются ИТС: https://its.1c.ru/db/v838doc#browse:13:-1:1
💡 Технологические вопросы крупных внедрений: https://kb.1c.ru
💡Рарус раз в год проводит конференцию 1C-RarusTechDay (можно найти на ютубе). У ребят очень много докладов по производительности от действующих экспертов и не только. Также у них есть технический блог, в нем много полезных статей: https://rarus.ru/publications/rubrics/ot-ekspertov-1c-rarus/?PAGEN_1=6
💡Статьи на инфостарте в разделе highload
💡Видео на ютубе от Дорошевича Антона
💡Настольная книга 1С:Эксперта
💡 Книга «Методическое пособие по эксплуатации крупных информационных систем, издание 2»
💡Интервью Евтушенко Антона (он сейчас принимает один из принимающих практику и основой экзаменатор, который принимает теорию)
Это был финальный пост про сертификацию. Буду рад вашим вопросам и комментариям под этим постом;)
На что же больше всего нужно обращать внимание? Расскажу по пунктам.
1️⃣ Распространенное заблуждение, что раз экзамен принимается на linux + postgres, то знать win + mssql не нужно. Это не так, вопросы есть как по связке linux + postgres, так и по win + mssql. Причем по MSSQL вопросов даже больше. Поэтому нужно знать все. Ребята, которые сдавали в 2016, этих проблем не знали.
2️⃣ В первый день на практике очень внимательно нужно слушать, что говорит экзаменатор перед экзаменом. Например, если есть проблема с ресурсами, обязательно нужно приложить скрины этих счетчиков при описании решения. Без этого задание не засчитают. Просто найти проблему по ТЖ или ЦУП недостаточно.
3️⃣ Кроме того, мало найти проблему, ее нужно еще правильно решить, а это бывает не так-то просто.
Теперь по блокам:
👉🏻 Управляемые блокировки. Нужно знать про них все. Когда нужно ставить/ не ставить. Когда платформа их ставит автоматически. Для чего собственно их придумали. Уметь применять методику расследования ожиданий и взаимоблокировках через технологический журнал и ЦУП.
Думаете, автоматический режим блокировок уже умер? А вот и нет, его как ни странно тоже спрашивают на экзамене.
👉🏻 Блокировки СУБД (MSSQL). Нужно знать, когда могут возникать и как расследовать.
👉🏻 Кластер серверов 1С. Тут нужно знать все как Отче наш. Спросить могут буквально про любую галочку или настройку в кластере. Требования назначения функциональности (ТНФ) тоже нужно знать в обязательном порядке.
👉🏻 Весь раздел руководство администратора нужно детально изучить.
👉🏻 Все методики их технологических вопросов крупных внедрений нужно прочитать хотя бы раз.
👉🏻 Опыт использования тест-центра тоже важен. Если вы в первый раз его увидите на экзамене, велик шанс, что экзамен вы не сдадите.
👉🏻 Linux. Тут такая же история, как и с тест-центром. Если вы до экзамена ни разу не видели linux, то ответ вы уже знаете.
На сколько хорошо нужно ориентироваться в linux? Ответ такой: базовые команды нужно знать: как перейти в папку, как рестартануть службу, как включить отладку на сервере и т. д. Если при подготовке вы самостоятельно развернете тестовый стенд, все это изучите походу этого процесса.
Дайджест полезных ресурсов при подготовке:
💡 «ИТС наше все». Некоторые думают, что в фирме 1С есть какая-то скрытая техническая документация, которой пользуются сами разработчики типовых решений. На самом деле ничего такого нет, все пользуются ИТС: https://its.1c.ru/db/v838doc#browse:13:-1:1
💡 Технологические вопросы крупных внедрений: https://kb.1c.ru
💡Рарус раз в год проводит конференцию 1C-RarusTechDay (можно найти на ютубе). У ребят очень много докладов по производительности от действующих экспертов и не только. Также у них есть технический блог, в нем много полезных статей: https://rarus.ru/publications/rubrics/ot-ekspertov-1c-rarus/?PAGEN_1=6
💡Статьи на инфостарте в разделе highload
💡Видео на ютубе от Дорошевича Антона
💡Настольная книга 1С:Эксперта
💡 Книга «Методическое пособие по эксплуатации крупных информационных систем, издание 2»
💡Интервью Евтушенко Антона (он сейчас принимает один из принимающих практику и основой экзаменатор, который принимает теорию)
Это был финальный пост про сертификацию. Буду рад вашим вопросам и комментариям под этим постом;)
Онлайн и видео курсы 1С обучение от лучших специалистов фирмы 1С
Экзамен 1С:Эксперт по технологическим вопросам
Рассказываем о том, что такое экзамен 1С:Эксперт по технологическим вопросам, как к нему готовиться, где сдавать. Примеры билетов.
🔥19👍14❤2👏1🙏1
Небольшой юбилей 2️⃣0️⃣0️⃣🤗
Сегодня проходил на фрунзенской мимо своего первого офиса где начинал свое становление как 1Сник. Сразу нахлынуло множество воспоминаний, как я абсолютно зеленый ходил на начальное обучение, первые проекты…интересно было бы почитать про мой вход в 1С, рассказывать…?
Сегодня проходил на фрунзенской мимо своего первого офиса где начинал свое становление как 1Сник. Сразу нахлынуло множество воспоминаний, как я абсолютно зеленый ходил на начальное обучение, первые проекты…интересно было бы почитать про мой вход в 1С, рассказывать…?
👍20❤4🔥3🤝1
Все, кто хотя бы раз сталкивался с ИТ, наверно слышали, что существует некая система от фирмы Microsoft под названием Active Directory. Это система позволяет централизовано хранить пользователей и осуществлять настройку прав доступа и пр.
Никита, о чем ты, спросите вы. При чем тут Active Directory и 1С. Я поясню. Представьте, у вас есть система, где учитывается зарплата, например 1С:ЗУП, и есть необходимость загружать в эту систему информацию из Active Directory (к примеру почту или рабочий телефон сотрудника). Все работает без проблем, если ваш сервер 1С под управлением windows. В этом случае вам доступны com-объекты (а это чистейше воды разработка Microsoft), через которые можно спокойно подключиться и выгрузить нужные данные. Но что, если ваш сервер работает на Linux? В Linux, как известно, нет никаких com-объектов. В новой статье я рассмотрел способ, каким образом можно загружать данные из Active Directory в Linux.
Никита, о чем ты, спросите вы. При чем тут Active Directory и 1С. Я поясню. Представьте, у вас есть система, где учитывается зарплата, например 1С:ЗУП, и есть необходимость загружать в эту систему информацию из Active Directory (к примеру почту или рабочий телефон сотрудника). Все работает без проблем, если ваш сервер 1С под управлением windows. В этом случае вам доступны com-объекты (а это чистейше воды разработка Microsoft), через которые можно спокойно подключиться и выгрузить нужные данные. Но что, если ваш сервер работает на Linux? В Linux, как известно, нет никаких com-объектов. В новой статье я рассмотрел способ, каким образом можно загружать данные из Active Directory в Linux.
infostart.ru
Интеграция 1С с Active Directory на LINUX через ldapsearch
Интеграция с Active Directory на Windows не вызывает особых вопросов, по этому вопросу есть множество ресурсов. А что делать, если нужно выгружать информацию в базу, которая работает на сервере приложений под управлением linux? Тут уже не так много информации…
🔥13👍2
По образованию я инженер-металлург. Закончил Московский институт стали и сплавов. Учась в институте, я не особо задумывался над тем, что же собственно делать после его окончания. Рядом с Москвой не так много металлургических заводов, поэтому варианта работать строго по специальности не было.
Несмотря на специализацию, связанную с автоматизацией, никаких языков программирования кроме бейскика (и то на первом курсе) нам не преподавали. Окончательное осознание того, что работать в этой отрасли я не хочу, пришло после практики на металлургическом заводе в Нижнем Тагиле на третьем курсе. К тому моменту один из моих одногруппников уже год как трудился в сфере 1С, при этом он успевал и работать, и учиться.
Пораспрашивав его о специфике профессии и узнав больше про 1С, я купил книгу Радченко, и стал готовиться к сертификации профессионала по платформе. Это обычный тест, с вариантами ответов по платформе. Вопросов там около 900. Было это дело летом после четвертого курса.
Успешно сдав на сертификат, я быстренько состряпал резюме, где главным козырем был этот сертификат.
Буквально через пару дней я сидел в офисе крупного интегратора. Взяли меня на работу без проблем и сразу отправили на месячное обучение за счет компании. На учении было много прикладной информации типа бухгалтерии, зарплаты и управленческого учета. После прохождения обучения я вышел на полный рабочий день в офис и стал работать внедренцем.
Занимался я в основном развозом дисков ИТС и обновлением типовых бухгалтерий.
В сентябре 2012 начался пятый курс в университете, и я каким-то образом смог договориться, что буду работать два раза в неделю, а остальное время буду учиться в институте. Мне даже сохранили полноценную зарплату (сейчас помню 20 т.р gross).
Так прошел учебный год, мне понемногу стали давать простенькие и не горящие задачи на разработку, которые можно сделать за 1/2 дня.
После окончания института и зашиты диплома я вышел к этому работодателю на полный рабочий день: попал в команду, которая занималась внедрением 1С в медицинские учреждения. Меня отправили сидеть на сопровождении у клиента в государственную больницу ГКБ 31. Пару месяцев я делал простенькие задачи и консультировал пользователей. Вскоре подвернулся новый проект внедрения складской системы 1С:Аптека в детскую поликлинике МЕДСИ. Это было мое первое боевое крещение, где я внедрял эту систему в одиночку.
То были адовые два месяца, за которые я испытал столько стресса, сколько не испытывал даже на защите диплома. Впервые столкнулся с реализацией обменов (нужно было из складской системы выгружать перемещения в бухгалтерию). Приходилось общаться и обучать всех от младшего мед персонала до главного врача. В общем я знатно задолбался, но проект закрыл успешно + даже получил премию.
Продолжение следует…
#Воспоминания1Сника
Несмотря на специализацию, связанную с автоматизацией, никаких языков программирования кроме бейскика (и то на первом курсе) нам не преподавали. Окончательное осознание того, что работать в этой отрасли я не хочу, пришло после практики на металлургическом заводе в Нижнем Тагиле на третьем курсе. К тому моменту один из моих одногруппников уже год как трудился в сфере 1С, при этом он успевал и работать, и учиться.
Пораспрашивав его о специфике профессии и узнав больше про 1С, я купил книгу Радченко, и стал готовиться к сертификации профессионала по платформе. Это обычный тест, с вариантами ответов по платформе. Вопросов там около 900. Было это дело летом после четвертого курса.
Успешно сдав на сертификат, я быстренько состряпал резюме, где главным козырем был этот сертификат.
Буквально через пару дней я сидел в офисе крупного интегратора. Взяли меня на работу без проблем и сразу отправили на месячное обучение за счет компании. На учении было много прикладной информации типа бухгалтерии, зарплаты и управленческого учета. После прохождения обучения я вышел на полный рабочий день в офис и стал работать внедренцем.
Занимался я в основном развозом дисков ИТС и обновлением типовых бухгалтерий.
В сентябре 2012 начался пятый курс в университете, и я каким-то образом смог договориться, что буду работать два раза в неделю, а остальное время буду учиться в институте. Мне даже сохранили полноценную зарплату (сейчас помню 20 т.р gross).
Так прошел учебный год, мне понемногу стали давать простенькие и не горящие задачи на разработку, которые можно сделать за 1/2 дня.
После окончания института и зашиты диплома я вышел к этому работодателю на полный рабочий день: попал в команду, которая занималась внедрением 1С в медицинские учреждения. Меня отправили сидеть на сопровождении у клиента в государственную больницу ГКБ 31. Пару месяцев я делал простенькие задачи и консультировал пользователей. Вскоре подвернулся новый проект внедрения складской системы 1С:Аптека в детскую поликлинике МЕДСИ. Это было мое первое боевое крещение, где я внедрял эту систему в одиночку.
То были адовые два месяца, за которые я испытал столько стресса, сколько не испытывал даже на защите диплома. Впервые столкнулся с реализацией обменов (нужно было из складской системы выгружать перемещения в бухгалтерию). Приходилось общаться и обучать всех от младшего мед персонала до главного врача. В общем я знатно задолбался, но проект закрыл успешно + даже получил премию.
Продолжение следует…
#Воспоминания1Сника
🔥21👍3
Иногда в процессе разработки сталкиваешься с задачей удаления строк из таблицы значений по некоторому условию.
Стало интересно, а какие вообще способы есть, и как они ведут себя с точки зрения оптимизации.
Хотел провести свое минирасследование, а оказывается doom2good на инфостарте уже такое провел. Как говориться, доверяй, но проверяй. Поэтому я провел аналогичные тесты и получил результаты близкие к тем, которые приведены в статье.
✅ Удаление строк через запрос.
Помещаем таблицу значений во временную таблицу в запросе, далее выполняем запрос и выгружаем результат в новую таблицу значений.
✅ Удаление строк по условию
Обходим нашу таблицу и по условию удаляем строки. Реализация может быть и другого вида, сначала обходим таблицу, складываем удаляемые строки в массив, потом обходим этот массив и удаляем строки.
✅ Копирование таблицы
Создаем массив, обходим таблицу значений, по некоторому положительному условию добавляем строки в наш массив и далее вызываем метод таблицы значений «Скопировать», куда передаем массив с нужными строками.
✅ Копирование строк
Создаем новую пустую таблицу значений с аналогичным составом колонок. Далее обходим исходную таблицу и по некоторому положительному условию добавляем строки в новую пустую таблицу методом.
✅ Предобработка и выгрузка с отбором
В исходную таблицу добавляем колонку «ОставлятьСтроку», с типом булево. Обходим таблицу значений, проверяем условие, и если строку нам нужно оставить, устанавливаем признак «Истина». Далее вызываем метод «Скопировать» у таблицы значений с отбором «ОставлятьСтроку» = Истина. Далее удаляем добавленную колонку.
✅ Выгрузка с отбором
Если в исходной таблице значений уже есть колонка, по которой однозначно можно сделать отбор, вызываем метод «Скопировать» у таблицы значений с этим отбором.
Итак, результаты расположил в порядке убывания от самого быстрого к самому медленному.
1️⃣ Выгрузка с отбором. Самый быстрый способ. Работает быстро, когда нужно удалить как малое количество строк, так и большое количество строк.К сожалению, не всегда получиться его применить.
2️⃣ Предобработка и выгрузка с отбором. Если нужно удалить большое количество строк, то этот способ на втором месте. А вот если нужно удалить малое количество строк, например <2%, то способ «Удаление строк по условию» будет немного быстрее, но разница менее 10% в выигрыше времени.
3️⃣Копирование таблицы. Этот способ немного уступает «Предобработка и выгрузка с отбором» по времени, но разница не более 10%.
4️⃣ Копирование строк. Этот способ на больших объемах немного уступает копированию таблицы.
5️⃣ Удаление строк по условию. Еще раз повторюсь, этот способ хорош, когда удаляемых строк мало, но если их много, то данный способ может отрабатывать даже дольше, чем удаление строк через запрос.
6️⃣ Удаление строк через запрос. Способ хорош, когда необходимо удалить строки с некоторым сложным условием, например, если в условии отбора участвуют данные из других таблиц и нужно выполнить соединение с этими таблицами. При этом самый медленный.
На моем оборудовании не получилось прогнать тест с количеством записей ~ 1.000.000 записей в таблице значений. Основным узким местом стал именно процессор, хотя изначально я предполагал, что это будет оперативная память. Один сеанс и один rphost, который загрузил бедное ядро на 💯%, при том что другие ядрышки простаивают...
Окончания теста с 1.000.000 записями я так и не дождался, ограничился результатами максимум на 100.000.
Также я провел замеры на 10.000 записей по использованию памяти (MemoryPeak) и процессорного времени (CpuTime), и получилось следующее:
👉🏻 Удаление строк по условию: кушает меньше всего памяти за серверный вызов, а также минимально использование процессорного времени, но разница со вторым местом в пределах 10%.
👉🏻 Удаление строк через запрос: кушает больше всех памяти, примерно в 2 раза по MemoryPeak. Процессор при этом как в других способах. Тут мы также нагружаем сервер СУБД своей временной таблицей.
Остальные способы +/- одинаково используют память и процессорное время.
Стало интересно, а какие вообще способы есть, и как они ведут себя с точки зрения оптимизации.
Хотел провести свое минирасследование, а оказывается doom2good на инфостарте уже такое провел. Как говориться, доверяй, но проверяй. Поэтому я провел аналогичные тесты и получил результаты близкие к тем, которые приведены в статье.
Помещаем таблицу значений во временную таблицу в запросе, далее выполняем запрос и выгружаем результат в новую таблицу значений.
Обходим нашу таблицу и по условию удаляем строки. Реализация может быть и другого вида, сначала обходим таблицу, складываем удаляемые строки в массив, потом обходим этот массив и удаляем строки.
Создаем массив, обходим таблицу значений, по некоторому положительному условию добавляем строки в наш массив и далее вызываем метод таблицы значений «Скопировать», куда передаем массив с нужными строками.
Создаем новую пустую таблицу значений с аналогичным составом колонок. Далее обходим исходную таблицу и по некоторому положительному условию добавляем строки в новую пустую таблицу методом.
В исходную таблицу добавляем колонку «ОставлятьСтроку», с типом булево. Обходим таблицу значений, проверяем условие, и если строку нам нужно оставить, устанавливаем признак «Истина». Далее вызываем метод «Скопировать» у таблицы значений с отбором «ОставлятьСтроку» = Истина. Далее удаляем добавленную колонку.
Если в исходной таблице значений уже есть колонка, по которой однозначно можно сделать отбор, вызываем метод «Скопировать» у таблицы значений с этим отбором.
Итак, результаты расположил в порядке убывания от самого быстрого к самому медленному.
1️⃣ Выгрузка с отбором. Самый быстрый способ. Работает быстро, когда нужно удалить как малое количество строк, так и большое количество строк.
2️⃣ Предобработка и выгрузка с отбором. Если нужно удалить большое количество строк, то этот способ на втором месте. А вот если нужно удалить малое количество строк, например <2%, то способ «Удаление строк по условию» будет немного быстрее, но разница менее 10% в выигрыше времени.
3️⃣Копирование таблицы. Этот способ немного уступает «Предобработка и выгрузка с отбором» по времени, но разница не более 10%.
4️⃣ Копирование строк. Этот способ на больших объемах немного уступает копированию таблицы.
5️⃣ Удаление строк по условию. Еще раз повторюсь, этот способ хорош, когда удаляемых строк мало, но если их много, то данный способ может отрабатывать даже дольше, чем удаление строк через запрос.
6️⃣ Удаление строк через запрос. Способ хорош, когда необходимо удалить строки с некоторым сложным условием, например, если в условии отбора участвуют данные из других таблиц и нужно выполнить соединение с этими таблицами. При этом самый медленный.
На моем оборудовании не получилось прогнать тест с количеством записей ~ 1.000.000 записей в таблице значений. Основным узким местом стал именно процессор, хотя изначально я предполагал, что это будет оперативная память. Один сеанс и один rphost, который загрузил бедное ядро на 💯%, при том что другие ядрышки простаивают...
Окончания теста с 1.000.000 записями я так и не дождался, ограничился результатами максимум на 100.000.
Также я провел замеры на 10.000 записей по использованию памяти (MemoryPeak) и процессорного времени (CpuTime), и получилось следующее:
👉🏻 Удаление строк по условию: кушает меньше всего памяти за серверный вызов, а также минимально использование процессорного времени, но разница со вторым местом в пределах 10%.
👉🏻 Удаление строк через запрос: кушает больше всех памяти, примерно в 2 раза по MemoryPeak. Процессор при этом как в других способах. Тут мы также нагружаем сервер СУБД своей временной таблицей.
Остальные способы +/- одинаково используют память и процессорное время.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤2👏1
Обо мне. Часть 2.
Дальше были небольшие аналогичные задачи также в медицинском секторе, но в нашем офисе эта ниша так и не стала популярной, и в итоге меня перевели в другое подразделение.
Новое подразделение занималось внедрением бухгалтерских систем. Аккурат в это время подвернулся новый проект по внедрению в одной крупной региональной девелоперской компании. Ребята строили ЖК в разных городах, и в каждом филиале бухгалтерский учет велся обособленно. Идея внедрения заключалась в консолидации учета в единой бухгалтерской базе. Для этого была выбрана система БИТ.Строительство на базе типовой бухгалтерии 2.0. Да, да застал я еще разработку на обычных формах.
Меня отправили в подчинение руководителя проектов, и мы вдвоем отправились внедрять эту систему, сначала к аудиторам, которые разрабатывали методологию, а затем и к конечному заказчику. Формат разработки был не стандартный.
К слову, мы успешно закрыли этот проект, и следующим этапом была автоматизация управленческого учета и бюджетирования на базе более расширенной системы БИТ.Строительство + БИТ.Финанс.
Тут конечно тоже не обошлось без сложностей, но проект мы закрыли, этот кейс даже есть на сайте.
После проекта мой руководитель ушел инхаус в другую организацию, и через пару месяцев я к нему присоединился. Так началось мое знакомство с ее величеством конфигурацией 1С:Зарплата и управление персоналом. Возглавил отдел по сопровождению бухгалтерских и зарплатных систем и очень плотно погрузился в изучение зарплатного учета.
Так пролетело пять лет, пока компания не лишилась всех своих активов, не обанкротилась, и пришлось искать другую работу. Так судьба занесла меня туда, где я сейчас.
Каждое место работы приносило новые знания. Не было такого, что я перешел с одного места на другое и занимался теми же самими задачами, с теми же конфигурациями.
Конечно из всех мест, где я работал, наиболее насыщенным и многогранным оказался опыт работы в фирме франчайзи. Возможно это связано с тем, что начинал свой путь я именно там, но так или иначе буст по набору опыта оказался максимальным.
Дальше были небольшие аналогичные задачи также в медицинском секторе, но в нашем офисе эта ниша так и не стала популярной, и в итоге меня перевели в другое подразделение.
Новое подразделение занималось внедрением бухгалтерских систем. Аккурат в это время подвернулся новый проект по внедрению в одной крупной региональной девелоперской компании. Ребята строили ЖК в разных городах, и в каждом филиале бухгалтерский учет велся обособленно. Идея внедрения заключалась в консолидации учета в единой бухгалтерской базе. Для этого была выбрана система БИТ.Строительство на базе типовой бухгалтерии 2.0. Да, да застал я еще разработку на обычных формах.
Меня отправили в подчинение руководителя проектов, и мы вдвоем отправились внедрять эту систему, сначала к аудиторам, которые разрабатывали методологию, а затем и к конечному заказчику. Формат разработки был не стандартный.
К слову, мы успешно закрыли этот проект, и следующим этапом была автоматизация управленческого учета и бюджетирования на базе более расширенной системы БИТ.Строительство + БИТ.Финанс.
Тут конечно тоже не обошлось без сложностей, но проект мы закрыли, этот кейс даже есть на сайте.
После проекта мой руководитель ушел инхаус в другую организацию, и через пару месяцев я к нему присоединился. Так началось мое знакомство с ее величеством конфигурацией 1С:Зарплата и управление персоналом. Возглавил отдел по сопровождению бухгалтерских и зарплатных систем и очень плотно погрузился в изучение зарплатного учета.
Так пролетело пять лет, пока компания не лишилась всех своих активов, не обанкротилась, и пришлось искать другую работу. Так судьба занесла меня туда, где я сейчас.
Каждое место работы приносило новые знания. Не было такого, что я перешел с одного места на другое и занимался теми же самими задачами, с теми же конфигурациями.
Конечно из всех мест, где я работал, наиболее насыщенным и многогранным оказался опыт работы в фирме франчайзи. Возможно это связано с тем, что начинал свой путь я именно там, но так или иначе буст по набору опыта оказался максимальным.
🔥11👍2
⚡️ПЛАТФОРМА 8.3.26⚡️
На самом деле она вышла уже давно, но была доступна только в режиме тестирования. Сейчас это полноценный релиз, который можно поставить на продакшине (интересно, есть храбрецы? )
Что же нового подвезли в этом релизе? Парочка интересных возможностей, которые показались мне интересными:
1. Журналы документов теперь можно создавать в расширениях. В таком журнале могут находиться любые документы системы.
2. Для набора записей независимого регистра сведений реализована возможность обновления записей регистра сведений, совпадающих по ключевым полям с записями. Возможно не все в курсе, но в 8.3.25 подвезли несколько новых методов при записи набора записей регистра сведений методом ‘’НаборЗаписей.Записать(Признак)". Ранее была возможность передать только признак "Истина/Ложь", что означало либо добавление новых записей, либо перезапись. Во время перезаписи все значения сначала удалялись, затем записывались новые. Теперь вместо булевого признака можно передадавать "РежимЗамещения" (Добавление , Замещение , Слияние, Удаление и в 8.3.26 добавили "Обновление").
Какой кейс оно решает? Например, добавили новый ресурс в регистр сведений и хотим заполнить только его без перезаписи всех записей, тогда можно использовать этот механизм.
3. Наконец-то можно будет создавать свои индексы в документах, регистрах, справочниках. Но есть небольшой нюанс: данный функционал доступен только счастливым обладателям КОРП лицензий. Где-то встречал информацию, что индексы создаются как "included columns" и не используют все возможности полноценных индексов (в планах это проверить).
4. В технологическом журнале реализована возможность собирать события по отслеживанию использования оперативной памяти полнотекстовым поисков. Это может быть полезно, если наблюдается проблема потребления оперативной памяти полнотекстовым поиском.
5. В динамических списках есть такое поле "Строка поиска". Могут возникать ситуации, когда использование строки поиска показывает очень низкую производительность. Это может наблюдаться в тех случаях, когда для получения данных динамического списка используется сложный запрос, или отключен полнотекстовый поиск, или не получается эффективно использовать полнотекстовый поиск для поиска в данных. Ранее можно было через конфигуратор просто отключить эту строку поиска. Теперь доступностью этого поля можно управлять из встроенного языка, через хранилище настроек формы, или общего хранилища системных настроек с помощью свойства "РежимОтображенияСтрокиПоиска ". В соответствии с какими-то критериям устанавливать доступность можно из кода.
Обо всех нововведениях, можно прочитать в документации.
#НовинкиПлатформы
На самом деле она вышла уже давно, но была доступна только в режиме тестирования. Сейчас это полноценный релиз, который можно поставить на продакшине (
Что же нового подвезли в этом релизе? Парочка интересных возможностей, которые показались мне интересными:
1. Журналы документов теперь можно создавать в расширениях. В таком журнале могут находиться любые документы системы.
2. Для набора записей независимого регистра сведений реализована возможность обновления записей регистра сведений, совпадающих по ключевым полям с записями. Возможно не все в курсе, но в 8.3.25 подвезли несколько новых методов при записи набора записей регистра сведений методом ‘’НаборЗаписей.Записать(Признак)". Ранее была возможность передать только признак "Истина/Ложь", что означало либо добавление новых записей, либо перезапись. Во время перезаписи все значения сначала удалялись, затем записывались новые. Теперь вместо булевого признака можно передадавать "РежимЗамещения" (Добавление , Замещение , Слияние, Удаление и в 8.3.26 добавили "Обновление").
Какой кейс оно решает? Например, добавили новый ресурс в регистр сведений и хотим заполнить только его без перезаписи всех записей, тогда можно использовать этот механизм.
3. Наконец-то можно будет создавать свои индексы в документах, регистрах, справочниках. Но есть небольшой нюанс: данный функционал доступен только счастливым обладателям КОРП лицензий. Где-то встречал информацию, что индексы создаются как "included columns" и не используют все возможности полноценных индексов (в планах это проверить).
4. В технологическом журнале реализована возможность собирать события по отслеживанию использования оперативной памяти полнотекстовым поисков. Это может быть полезно, если наблюдается проблема потребления оперативной памяти полнотекстовым поиском.
5. В динамических списках есть такое поле "Строка поиска". Могут возникать ситуации, когда использование строки поиска показывает очень низкую производительность. Это может наблюдаться в тех случаях, когда для получения данных динамического списка используется сложный запрос, или отключен полнотекстовый поиск, или не получается эффективно использовать полнотекстовый поиск для поиска в данных. Ранее можно было через конфигуратор просто отключить эту строку поиска. Теперь доступностью этого поля можно управлять из встроенного языка, через хранилище настроек формы, или общего хранилища системных настроек с помощью свойства "РежимОтображенияСтрокиПоиска ". В соответствии с какими-то критериям устанавливать доступность можно из кода.
Обо всех нововведениях, можно прочитать в документации.
#НовинкиПлатформы
👍17❤1
Немного юмора в этот декабрьский понедельник.
На самом деле искусство писать чистый код это не так просто, но надо стараться это делать. Пиши чистый код, и от коллег будет тебе большая благодарность.
#Юмор
На самом деле искусство писать чистый код это не так просто, но надо стараться это делать. Пиши чистый код, и от коллег будет тебе большая благодарность.
#Юмор
🔥6😁2👍1
Используете ли в своей работе инструменты автоматизации, такие как OneScript или 1С:Исполнитель?
Anonymous Poll
6%
Да, постоянно. По максимуму автоматизирую свою работу.
16%
Что, автоматизация? Не, не слышал о таком. Расскажи поподробнее.
66%
Что-то слышал, но ни разу не использовал.
12%
Иногда использую, если нужно обновить базы или собрать релиз.
Хотел запостить историю, но оказывается для этого нужны голоса. Поделитесь голосами, кому не жалко:
https://t.iss.one/boost/prusakov_pro_1c
https://t.iss.one/boost/prusakov_pro_1c
Telegram
Прусаков Никита про 1С
Проголосуйте за канал, чтобы он получил больше возможностей.
Начиная с версии 8.3.27 в 1С появится новый интерфейс! Как необычно было первое время работать в интерфейсе "такси" и казалось, что старый интерфейс был удобнее. Посмотрим как изменятся типовые конфигурации, когда они доберутся до новой версии. В анонсе пишут, что будут предусмотрены "методики" и некий "конвертер" перевода на новый интерфейс, это говорит о глобальных изменениях. Не помню, чтобы что-то подобное было при переходе на такси.
👍6🔥2🤓1
Полнотекстовый поиск 2.0
Вы наверняка в курсе про полнотекстовый поиск, но знаете ли вы, что у него есть несколько версий?
Ну ладно, оставим лирику. Перейдём к делу. Как я сказал в самом начале, у полнотекстового поиска есть несколько версий 👇🏼
Версию №2 завезли в платформу относительно недавно, начиная с 8.3.22. По умолчанию используется версия 1, и чтобы заработала версия 2, нужно переключить в обработке «управление полнотекстовым поиском».
❗️ ❗️ Отличия версии 2 от версии 1:
В версии 1 создается основной и дополнительный индекс. В процессе работы новые изменения накапливаются в дополнительном индексе, и потом его необходимо слить в основной индекс. Это осуществляется всем знакомым регламентом заданием в типовых конфигурациях «Слияние индекса ПНД».
В версии 2 создается единый индекс, а изменения в процессе работы с данными накапливаются и затем сливаются в него. Это осуществляется на уровне платформы, т.е никаких регламентах заданий для этого не нужно.
Индекс в версии 2 весит меньше, чем в версии 1. Я проверил это утверждение, и это действительно так. В демо-базе ERP индекс версии 1 весит 285 мб, а версии 2: 185 мб.
К сожалению версия 2 не поддерживается в файловой базе, т.е воспользоваться его возможностями можно только в клиент-серверном варианте работы.
Полнотекстовый поиск помогает искать в динамических списках, но ,к сожалению, часто он может быть не применен (для этого должно сойтись множество условий). Если в динамическом списке много колонок, то субд будет сильно напрягаться, пытаясь выполнить запрос.
Виктор Богачев и Антон Дорошкевич рекомендуют по возможности убирать команду ctrl+f из динамических списков, чтобы оставалась возможность искать только по Alt+F точечно по конкретной колонке.
Какие же звезды должны сойтись, чтобы полнотекстовый поиск работал в динамических списках?
1️⃣ полнотекстовый поиск должен быть включен для всех объектов, которые участвуют в запросе динамического списка и могут использоваться в качестве основной таблицы.
2️⃣ поиск выведется только по видимым колонкам, которые присутствую в тексте запроса динамического списка.
3️⃣ полнотекстовый поиск должен своевременно обслуживаться и быть в актуальном состоянии.
4️⃣ для всех полей выводимых динамическим списком должен быть включен полнотекстовый поиск. Если, например, в форме есть соединение с регистром статусов и для этих реквизитов не включен полнотекстовый поиск, то он априори использоваться не будет.
Сталкивались ли с проблемами при работе полнотекстового поиска? Делитесь в комментариях.
Вы наверняка в курсе про полнотекстовый поиск, но знаете ли вы, что у него есть несколько версий?
Пару слов о том, для чего он нужен 👇🏼
Предназначен он для быстрого поиска нужной информации в информационной системе.
Никакого волшебства тут нет: чтобы поиск работал быстро, мало того, что сначала нужно создать индекс, его еще нужно поддерживать в актуальном состоянии. Не сталкивались с ситуацией: вот заводит у вас бухгалтер контрагента, а потом не может его найти в списке? Знакомо? Все дело в индексе полнотекстового поиска, ну не успел он еще обновиться, вот и нет вашего контрагента.
А что делает пользователь, если не смог найти? Правильно, создает нового. Так рождаются дубли…
Ну ладно, оставим лирику. Перейдём к делу. Как я сказал в самом начале, у полнотекстового поиска есть несколько версий 👇🏼
Версию №2 завезли в платформу относительно недавно, начиная с 8.3.22. По умолчанию используется версия 1, и чтобы заработала версия 2, нужно переключить в обработке «управление полнотекстовым поиском».
В версии 1 создается основной и дополнительный индекс. В процессе работы новые изменения накапливаются в дополнительном индексе, и потом его необходимо слить в основной индекс. Это осуществляется всем знакомым регламентом заданием в типовых конфигурациях «Слияние индекса ПНД».
В версии 2 создается единый индекс, а изменения в процессе работы с данными накапливаются и затем сливаются в него. Это осуществляется на уровне платформы, т.е никаких регламентах заданий для этого не нужно.
Индекс в версии 2 весит меньше, чем в версии 1. Я проверил это утверждение, и это действительно так. В демо-базе ERP индекс версии 1 весит 285 мб, а версии 2: 185 мб.
К сожалению версия 2 не поддерживается в файловой базе, т.е воспользоваться его возможностями можно только в клиент-серверном варианте работы.
Полнотекстовый поиск помогает искать в динамических списках, но ,к сожалению, часто он может быть не применен (для этого должно сойтись множество условий). Если в динамическом списке много колонок, то субд будет сильно напрягаться, пытаясь выполнить запрос.
Виктор Богачев и Антон Дорошкевич рекомендуют по возможности убирать команду ctrl+f из динамических списков, чтобы оставалась возможность искать только по Alt+F точечно по конкретной колонке.
Какие же звезды должны сойтись, чтобы полнотекстовый поиск работал в динамических списках?
1️⃣ полнотекстовый поиск должен быть включен для всех объектов, которые участвуют в запросе динамического списка и могут использоваться в качестве основной таблицы.
2️⃣ поиск выведется только по видимым колонкам, которые присутствую в тексте запроса динамического списка.
3️⃣ полнотекстовый поиск должен своевременно обслуживаться и быть в актуальном состоянии.
4️⃣ для всех полей выводимых динамическим списком должен быть включен полнотекстовый поиск. Если, например, в форме есть соединение с регистром статусов и для этих реквизитов не включен полнотекстовый поиск, то он априори использоваться не будет.
Сталкивались ли с проблемами при работе полнотекстового поиска? Делитесь в комментариях.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
А где вы храните ваш семейный архив?
Сейчас для хранения фотографий и видео я использую внешний HDD-накопитель емкостью 4 ТБ, который периодически подключаю к компьютеру и скидываю туда новые фотографии. Могу припомнить как минимум один раз, когда мой внешний накопитель вышел из строя. Тогда я использовал накопитель от Seagate на 500 ГБ. Благо у меня была резервная копия всех файлов на компьютере.
В принципе, 4 ТБ мне хватает, но недавно я наткнулся на статью про NAS. NAS в переводе — сетевое хранилище. По сути, это аналог полки в дата-центре, только в домашнем исполнении. Есть модели NAS, вмещающие сразу 24 диска! В вышеупомянутой статье, помимо всего прочего, говорилось о статистике выхода из строя дисков. Самый частый случай — 78% — это отказ оборудования. Тут я подумал: будет очень неприятно, если в один прекрасный день я подключу свой HDD к компьютеру, а он не заведется.
Погрузившись больше в тему, я понял, что организовать в домашних условиях отказоустойчивый RAID-массив не так уж и сложно. Идея проста: имеются два диска, объединенные в массив RAID1; по сути — это зеркалирование. Записывая информацию на один диск, данные автоматически на аппаратном уровне мигрируют на второй жесткий диск. При поломке одного жесткого диска вся информация будет сохранена на втором и никуда не потеряется. А выход из строя двух дисков одновременно — очень маловероятный сценарий.
Помимо простого файлового хранилища NAS позволяет организовать целую библиотеку домашнего кинотеатра. Причем каждый телевизор можно подключить к накопителю и наслаждаться скачанными фильмами в 4Kбез регистрации и SMS. Также NAS умеет автоматически скачивать торренты. Достаточно положить в нужную папку .torrent файл, и скачивание начнется автоматически. Еще один плюс NAS — доступ к нему можно получить из любой точки мира. Т.е. находясь, например, в Турции, можно через телевизор подключиться к домашнему хранилищу и смотреть фильмы. Главное, чтобы канал связи позволял загружать фильмы.
📌 Я остановил свой выбор на Synology 224+ с двумя отсеками для дисков и на двух дисках Seagate IronWolf 4 ТБ.
#нереклама
Сейчас для хранения фотографий и видео я использую внешний HDD-накопитель емкостью 4 ТБ, который периодически подключаю к компьютеру и скидываю туда новые фотографии. Могу припомнить как минимум один раз, когда мой внешний накопитель вышел из строя. Тогда я использовал накопитель от Seagate на 500 ГБ. Благо у меня была резервная копия всех файлов на компьютере.
В принципе, 4 ТБ мне хватает, но недавно я наткнулся на статью про NAS. NAS в переводе — сетевое хранилище. По сути, это аналог полки в дата-центре, только в домашнем исполнении. Есть модели NAS, вмещающие сразу 24 диска! В вышеупомянутой статье, помимо всего прочего, говорилось о статистике выхода из строя дисков. Самый частый случай — 78% — это отказ оборудования. Тут я подумал: будет очень неприятно, если в один прекрасный день я подключу свой HDD к компьютеру, а он не заведется.
Погрузившись больше в тему, я понял, что организовать в домашних условиях отказоустойчивый RAID-массив не так уж и сложно. Идея проста: имеются два диска, объединенные в массив RAID1; по сути — это зеркалирование. Записывая информацию на один диск, данные автоматически на аппаратном уровне мигрируют на второй жесткий диск. При поломке одного жесткого диска вся информация будет сохранена на втором и никуда не потеряется. А выход из строя двух дисков одновременно — очень маловероятный сценарий.
Помимо простого файлового хранилища NAS позволяет организовать целую библиотеку домашнего кинотеатра. Причем каждый телевизор можно подключить к накопителю и наслаждаться скачанными фильмами в 4K
📌 Я остановил свой выбор на Synology 224+ с двумя отсеками для дисков и на двух дисках Seagate IronWolf 4 ТБ.
#нереклама
👍12
Выпущена бета-версия платформы "1С:Предприятие 8.5" с новым интерфейсом!
Информационное письмо 1С от 25.12.2024
Тут можно пощупать новый дизайн в веб-клиенте на базе демо-конфигурации.
Фишка которую лично я оценил: Поддержка светлой/темной темы 🔥🔥🔥
Мне вот интересно, а куда делась платформа 8.4? Почему после 8.3 сразу 8.5?
Есть идеи?
Информационное письмо 1С от 25.12.2024
Тут можно пощупать новый дизайн в веб-клиенте на базе демо-конфигурации.
Фишка которую лично я оценил: Поддержка светлой/темной темы 🔥🔥🔥
Мне вот интересно, а куда делась платформа 8.4? Почему после 8.3 сразу 8.5?
Есть идеи?
👍3🔥2