Наконец-то. Во многих курсах часто раздражает что решения для каких-то очень "своих" конфигураций, а обычно все крутится вокруг типовых, где черт ногу поломает и разобраться в использовании механизмов решений от 1С чтобы потом сделать как надо - чуть ли не главное
В конце, вместо НайтиСтроки в цикле, можно было бы использовать другой алгоритм. Перед текстом запроса выгрузить существующие товары из таб.части в массив. А в самом запросе при формировании временной таблицы добавить условие " И НЕ Номенклатура.Ссылка В (&СписокДобавленныхРанееТоваров)". Как-то так ))) Ну а за видео лайк, реальный разбор задачи - это гуд.
вариант не очень) в таблице может быть указаны строки номерклатуры не со всеми возможными характеристиками. Таким условие обрубаем часть данных. Если отказаться от цикла, тогда надо выгрузить 2 колонки из ТЧ (Номенклатура и характеристика), поместить по времянку, и уже в конце сделать условие типа "И НЕ Номенклатура.Ссылка, Характеристика.Ссылка В (Выбрать Номенклатура, Характеристика из ВТ_ИсходныеДанны). как вариант...
Есть еще пара способов быстрого поиска точек входа. 1. в конфигураторе Отладка - Остановить. в предприятие нажимаем на нужную кнопку и попадаем в обработчик элемента на этой форме (если таковой имеется). это особенно полезно, когда у справочника есть несколько форм и не всегда очевидно какая из них открывается, по синониму можно не понять. 2. касается текстов сообщений и предупреждений. например, при попытки провести документ срабатывает какая-то проверка и документ эту проверку не проходит, при этом выдается сообщение и непонятно, что ему не нравится. перед проведением запускаем замер производительности, выполняем проведение, получаем сообщение, выключаем замер производительности. в открывшемся окне по Ctrl+F ищем кусок текста сообщения и попадаем в то место, откуда оно формируется.
Вот где этот стрим (и ему подобные) были пол года назад ???!!! Я это все гуглил и тыкался как котенок в каждую команду )) Теперь я это уже знаю, особо ничего нового не узнал, но это ооочень полезное видео, оно обязано быть в интернете! Спасибо Илья! Давай стрим про написание интеграций по АПИ с маркетплейсами )))))))) Работа с ХДТО фермой например )) Или что то похожее, сейчас это очень нужно )
Я Java Developer, первый раз увидел процесс разработки в 1С. Если забыть про необходимость постоянно перезапускать программу или некоторые окна, чтобы все переподгузилось платформой, это гениально. Культурный шок.
Ляяяя, Ctrl+Break! Я пять долбаных лет ждал этот лайфхачик... Как хорошо было в семёрке, когда оболочка русским по серому писала - "Нажмите ESC чтобы прервать".
Обучаюсь с 0 только месяц и это видео - как темный лес для меня , в общем все понятно, но технические детали - пока нет, так хочется побыстрее научится делать это самостоятельно. Илья вы очень хорошо обьясняете и понятно и очень интересно, спасибо.
@@AlexMiron1990 Прошел год, за это время я уже перевелась на IT разработчика и дальше обучаюсь и да, уже недавно вышла на этот уровень дохода. Но если честно - молюсь и прошу у Бога помощи и мудрости и больше вижу Его руку помощи - больше, нежели свои таланты - как бы "случайно" попадаются нужные люди и возможности, и как бы "случайно" приходит помощь и я получаю консультации как правильно двигатся дальше и в результате - все получается. Слава Богу! Вам прекрасного Нового Года и Рождества! В Библии написано: Все могу в укреплющем меня Иисусе! Отдавайте все под Его контроль, верьте и все у вас получится!!! Здоровья всем, безопасности и благополучия!!!!
Илья спасибо, формат очень классный, прям реальность для прогера! А то все время смотришь какая то фигня у всех , то что уже и надоело и не пригодиться в реальной работе.
Кстати, по поводу не работает "Ctrl+Break". Заметил такую фигню, что он перестает срабатывать, если переключить активное окно и потом вернуться в конфигуратор. Но помогает, если в трее навести мышку на 1С и выбрать конфигуратор кликом. Т.е. alt+tab не спасает, а только переключение активного окна через трей, где отображаются запущенные программы.
мне нравится формат.... Когда я работал программистом, и мне дали мое первое задания, то я просто копировал функционал из типовой конфигурации и внес небольшие изменения, буквально 2 строчки.. я думал, что это я просто очень ленивый дабы самому разработать алгоритм, а оказывается, так и надо было )
Так даже лучше, потому что мы тем самым подстраиваемся под стиль типовой и по максимуму задействуем типовой функционал (не в данном примере, а вообще).
@@vladyan01 Думаю везде по разному. Но в целом по началу дают всякую мелочь. Почистить кэш, запустить тестирования, установить 1с, обновить, подключить какой нибудь сервис типа 1с-Отчетность и ЭДО, восстановить лицензии, установить доп.лицензии, перенести базу из локальной во фреш, несложные синхронизации, подключения оборудования.. Честно говоря, на вот этом этапе я каждое утро просыпался с мыслями уволится. Гораздо проще стало, когда пошли доработки и программирования.
@@vladyan01 А из программирования, сложно сказать. Я сначала делал всякую мелочь из выше перечисленного, а потом у нас уволился программист, и на меня взвалили его задачи, явно не начального уровня. Пришлось экстренно изучать, что есть расширения, как с ними работать, и т.д. а начального уровня задачи, это несложные отчеты с помощью СКД, или внешнего отчета..
Спасибо за урок! Формат понравился. Иниересно решение похожей задачи, когда для заполнения ТЧ мы открываем доп. форму настроек, и уже из этой доп. формы выполняем команду. В таком случае контекста нашей основной формы нет. Зато есть трудности в виде того, что на сервере нет возмодности получить владельца нашей формы настроек.
Так форма с настройками должна оповестить владельца с передачей настроек через параметрьі. А команду уже обработчик оповещения на основной форме вьіпоняет.
@@Crisis2424 Сервис-Параметры-Редактирование (вкладка) , там есть пункт "Автозамена", его включить. Извиняюсь ошибся в первом тексте. При этой настройке, при наборе кода, к примеру "Для", нажимаете пробел. Работает так же как и сочетание контрл+q
В моменте 9:43 достаточно посмотреть навигационную ссылку, а не искать глобальным поиском, там будет отображено имя формы как правило) а в последних версиях платформы будет кнопка которая явно показывает имя формы в конфигураторе)
@@ЕгорКорин-ч2б Ну например у тебя открыт документ какой то, в пользовательском режиме, называется он что то типа : Акт о расхождениях после перемещения. Нужно найти его в конфигураторе, а там нет документа с таким названием. Берем в поьзовательском режиме, открываем документ и сверху ищем кнопку "получить ссылку (Cntrl+F11)", открывается формочка со строкой типа: e1cib/data/Документ.ВнутреннееПеремещениеТоваров?ref=a2310cc47adcba7311ea5c80cb8d9bc9 . И тут читаем что это Документ с названием "ВнутреннееПеремещениеТоваров". Такой уже легко находится в дереве конфигурации. Плохо только что с отчетами такой фокус не срабатывает.
17:31 Стараюсь не изменять добавленную форму в расширении интерактивно (т.е. мышкой добавляя команды и кнопки на форму в редакторе), все создаю программно при создании формы на сервере. А если есть возможность не добавлять форму, а делать через модуль (как в типовых торговых решениях, УТ 11.4, например, там в обработчиках события ПриСозданииНаСервере всегда вызывается одна и та же процедура общего модуля), то добавляю процедуру в расширение и создаю все там. Да, это чуть дольше по началу, а потом, набив руку и шаблоны, делается так же быстро. При этом упрощает поддержку расширения (если есть форма, всегда обновлять ее в расширении, одну кнопку нажать). Считаю, что так правильней.
Формат ТОП. Не только в видосе куча полезной инфы, но и в комментах конструктивная критика. Побольше реальных задач хороших и разных. P.s на скорости 1.5 не так затянуто :)
В моменте 32:17 после определения типа у перового значения, для всех остальных жмем F9 - копирование, и перевыбираем значение, тип устанавливать не надо уже.
Работаю с 1с уже 10 лет, и с каждым годом 1С становится медленнее, просто мощности компьютеров растут, и замедление 1С нивелируется, но и то не полностью и не всегда..
Мега информативно. Правда, иногда в умолчаниях остаётся то, что Илья относит к разряду "это всем известно", а на самом деле, это "не известно почти никому".
Опоздал, опять опоздал (с)Громозека (Тайна Третьей Планеты). Если базу с расширением проводить через несколько обновлений, то расширение отваливается. Основная причина - совместимость. Но отчего-то уже не хочется хранить данные в расширенном справочнике, а делать это где-то еще. Спасибо!
Первые два подзапроса объединения возвращают у нас набор данных с характеристиками. Третий подзапрос возвращает набор данных без характеристик. Поэтому в первые два подзапроса мы добавляем значение ИСТИНА, а в третий - значение ЛОЖЬ.
@@IlyaLeontyev сейчас его прохожу (БСП+расширения) и этот курс начинается тоже с метода поиска в коде программы точки воздействия и тоже с настройки редактора - подсветки синтаксиса, но я думаю это общие подходы, понятно что ты к ним пришел уже давно. Стати на этот курс решился посмотрев одно из твоих видео и пока доволен. Очень надеюсь ты не потеряешь энтузиасм и продолжишь просвещать массы !
@@adamasts Ааа, ну кстати да, это я оттуда почерпнул. На одном из стримов я говорил, что глобальный поиск - это, возможно, самое главное, что я узнал из курсов 1С за всю жизнь.
Хороший формат видео, вернее рубрика.... именно реальные задачи нужны, но академические дают потом знания для решения реальных... не зря говорят, тяжело в учение - легко в бою...
В моменте 54:36 для справочника характеристики нужно определить владельца в расширение, то есть в расширении открыть добавленный справочник характеристики и у него в свойствах владелецы проставить галочку на номенклатуру.
Объекты метаданных, которых нет в запросе необязательно добавлять в расширение, оно и без них будет работать, правда не будет работать конструктор запроса. Я бы добавил об этом реплику в видео. Но в целом видео очень понравилось. Формат отличный, еще бы задачу посложнее и было бы идеально.
Илья, привет. Ответь пожалуйста на 2 вопроса по стриму. Ты к сожалению пропустил эти вопросы в чате, но все-таки если не сложно ответь. 1. Зачем добавлять все объекты из запроса в расширение, если можно просто писать текст запроса в модуле без конструктора и тогда вообще не надо перетягивать объекты используемые в запросе в расширение. 2. Был задан вопрос - Вместо всего этого безобразия нужно было дать возможность в качестве группы номенклатуры выбирать элементы номенклатуры. прокомментируй пожалуйста.
на 53.13 вопрос! зачем добавлять ненужные объекты в расширение ради того чтоб открылся конструктор запроса в модуле расширения? можно создать внешнюю обработку в ее модуле создать запрос и выборку после просто скопировать текст модуля в расширение. таким образом в расширении будут только нужные объекты
Потом неудобно будет работать с этим кодом. Ты же не один раз на всю жизнь пишешь этот запрос. Не исключено, что к нему придется обращаться снова. И каждый раз переносить его в модуль внешней обработки, а затем обратно - это то еще удовольствие. Поэтому я всегда довожу расширения до того состояния, когда конструкторы используемых в них запросов открываются без проблем.
согласен, но есть обратная сторона: 1. если бы в одном расширении был большой запрос ко многим объектам то пришлось бы тратить время на добавление каждого, в то время как скопировать процедуру в модуль обработки и обратно займет само по себе 10 сек. 2. если уже сделано много доработок таким способом то навигация по дереву метаданных в расширении усложнится, кнопка которая отсеивает зависимые элементы частично потеряет смысл ибо мы сами все напереносили. 3. могу ошибаться но как я понял и сам 1с уходит от того чтоб перегружать расширения, так в свежих платформах при взаимствовании формы нет доступа к объектам на ней надо еще отдельно и их в расширение добавить, видимо на случай когда задача в том чтоб просто добавить свой реквизит. а формат действительно интересный, читать комментарии то же познавательно. Большое спасибо!
@@Feofan4ik, в панели управления деревом метаданных расширения достаточно нажать "Действия -> Измененные и добавленные в расширении", чтобы исключить отображение всех заимствованные объектов, которые не были изменены в данном расширении.
спасибо за видео, да 1С современная работает быстрее... купи диск ssd и n-ядерный процессоров и взлетит... я считаю, что быстрота - это благодаря улучшению железок, на которых работает... про сервера это точно так, да и клиенты, аналогичны... а вот про оптимизацию, которая 1С говорит... ну не знаю... тогда давайте запустим ее на старых компах... она и не работает на таких, или работает пол дня запускаться будет )))
Неужели нет в конфигураторе полнотекстового поиска, который позволяет осуществлять его мнгновенно? Тогда EDT и костыли к нему в виде внешнего полнотекстового поиска? Щииикарно!
У меня возник вопрос. Можно же не заимствовать в расширение объекты метаданных, которые будут участвовать в запросе. Почему бы просто не сформировать текст запроса для конфигуратора в консоли запросов, и просто не вставить его в модуль? Времени меньше уйдет. Даже если потом нужно будет править запрос, все равно править в консоли.
Алекс, я нахожу такой способ слегка криворуким, потому что это делает неудобным дальнейшее сопровождение запроса. К нему же обычно приходится потом обращаться снова и снова, как-то его допиливать и т.д. И это жутко неудобно - каждый раз копировать текст запроса, вставлять его в консоль, убирать лишние символы, приводить его к нужному виду, затем копировать назад, опять приводить к нужному внешнему виду... Ни о какой экономии времени тут на самом деле речи не идет.
@@IlyaLeontyev разрешите поучаствовать в дискуссии. Тоже противник тащить кучу элементов в расширение ради одного запроса. При открытии расширения с кучей элементов создаётся ощущение что тут куча всего дорабатывалось, а по факту добавлена одна кнопка. Мое решение: элементы в расширение не переношу, запрос делаю во внешней обработке. При таком подходе в расширении видно что конкретно дорабатывалось, на копирование запроса уходит 5 сек.
@@comradecom5684У такого варианта тоже есть свои минусы. Например во внешней обработке, вы не сможете использовать новые справочники , реквизиты и т.д, которые добавили в расширение
@@IlyaLeontyev, если изменилась основная конфигурация, то запрос в любом случае придется корректировать вручную, так как в конструкторе он не откроется. Другое дело, что в случае заимствования всех используемых реквизитов из основной конфигурации в расширение конструктор запроса сразу подскажет где именно ошибка. Но это же самое подскажет и конструктор запросов в консоли запросов, если реквизиты основной конфигурации в расширение не заимствовать.
@@АлексФедотов-щ3ф, пока добавленным в расширении объектам программисты не очень доверяют, поэтому пока в большинстве случаев достаточно конструктора запросов в модуле внешней обработки. Но вы правы, что полные метаданные, в которых присутствуют и объекты конфигурации и добавленные объекты расширений, можно получить только в режиме "Предприятие".
45:00 Нужно использовать не ОБЪЕДИНИТЬ ВСЕ, а ОБЪЕДИНИТЬ. Что исключить дубли в двух наборах. И не нужно придумывать костыли, 3-им объединением, где берутся товары без характеристик.
Дублей по логике там не предвиделось: одна и та же характеристика вылезти в разных таблицах не могла. Имхо там объединения вообще не нужны были, достаточно левого соединения с более сложным условием.
При большом количестве объединений при использовании SQL ОБЪЕДИНИТЬ ВСЕ с последующей группировкой будет работать быстрее, чем ОБЪЕДИНИТЬ. Так как запросы из конструкции О́БЪЕДИНИТЬ ВСЕ выполняются параллельно, в отличии от конструкции ОБЪЕДИНИТЬ, которая сразу пытается группировать (из-за чего параллельной быть не может). Для каждой задачи выбор метода решения индивидуальный.
Илья Привет, такой вопрос, мне нужно добавить в типовой конф. в справочнике кнопку ПЕЧАТЬ , если я сделаю это в основной конф. с помощью конструктора, предварительно сняв замок, это повлияет на Обновления конф. ??? я же не изменяю существующею кнопку а добавляю новую.
Привет! Ты же хочешь добавить кнопку на форму? Значит, ты изменяешь форму. И это повлияет на обновления. Но если ты сделаешь это через технологию расширений, то такой проблемы не будет.
@@IlyaLeontyev Понял, а если новые реквизиты или табличные части, это тоже влияет на обновления ??? так как они по сути добавились на форму и дополнили её.
@@SPORTSNEWS-er2gy если новые реквизиты или табличные части были просто добавлены на уровне кофнигуратора, а на форме не размещались, то тогда на обновление это не повлияет. Если размещались на форме, то это изменение формы )
@@IlyaLeontyev Илья еще такой вопрос, немного не по теме расширений, извини заранее, Создал внешнюю обработку и хочу подключить её в пользовательском режиме, но при подключении выдает такую ошибку : "Невозможно подключить дополнительную обработку из файла. Возможно, она не подходит для этой версии программы. Техническая информация: Метод объекта не обнаружен (СведенияОВнешнейОбработке)" Говорят нужно функцию "СведенияОВнешнейОбработке" с кодом специальную прописать, Как решить эту проблему? где код можно взять? подскажи пожалуйста)
Всё круто! Но зачем добавлять все объекты, которые в запросе есть, в расширение (момент мороки с владельцем)? Не проще ли конструктор запроса с обработкой результата вызвать во внешней обработке, а потом скопировать код в расширение?
Так сделать проще, но работать с этим впоследствии будет неудобно, ведь ты тем самым лишишь себя возможности работать с этим запросом в конструкторе. Постоянно придется куда-то этот текст копировать, там работать с ним, возвращать обратно. На мой взгляд, это нехорошо.
Внешняя обработка и модули основной конфигурации не видят объекты и реквизиты, добавленные в расширении. Модули расширения не видят не заимствованные расширением объекты основной конфигурации. Универсальные всего писать запрос в режиме Предприятие в консоли запросов. Там доступны все таблицы и поля, как из расширения, так и из конфигурации.
@@Anton-ni8un а зачем им видеть? Недостаточно , что те же самые объекты метаданных есть в конфигурации? Другое дело, если а расширении создали свой справочник, документ или реквизит, тогда согласен.
Илья добрый день, вопрос такой(немного не по теме); Актуально ли сейчас становится программистом 1с? Повлияло ли закрытие огромного количества фирм в период пандемии на актуальность данной вакансии. Жду ответ.
Добрый день. Ситуация, наверное, ухудшилась, как и во многих других профессиях. Но в целом профессию "Специалист 1С" можно продолжать рассматривать как актуальную.
Если будет продолжено то будет прикольно. Последнее что было связано с практикой на моей памяти это обновление обычных форм устаревшее уже на тот момент.
А нет желания сделать ролик о взаимоотношениях с заказчиками? Т.е. можно осветить такие вопросы как: расчет оплаты труда, гарантия заказчику, как разрешать различные спорные и конфликтные ситуации, может какие-то примеры из практики привести. Просто я работаю на контору за зарплату, тут все ясно, а как работают фрилансеры и как разруливают такие ситуации было бы послушать крайне интересно.
Периодически появляется такое желание, но вообще очень много всяких интересных штук можно снять - у меня глаза разбегаются. Сейчас, допустим, я бы с удовольствием порешал еще несколько рабочих задачек )
@@IlyaLeontyev Не, ну понятно, что не прямо вот сейчас) Потом, когда будет время, вдохновение, и т.п. Задачек из реальной практики, кстати тоже хотелось бы побольше, мне кажется, такая тема тут зайдет.
А почему Илья запускаешь всегда прогу в управляемом режиме? Сколько не видел в небольших компаниях и в экспресс-доставке в таком виде только у глабуха, остальные в обычном режиме работают. Партянка на весь экран. Может они осталые просто?
Не совсем понял, почему в запросе не воспользовались группировкой чтобы СГРУППИРОВАТЬ Номенклатуру и Характеристику, чтобы избавиться от дублирующихся строк. А вместо этого добавили отдельный пакет для пустых характеристик
В 2 часа можно оценить, если удаленно работать. Если работать на месте, то оплата по факту обычно. И там уже все зависит от скилла программиста. От 1 до 3 часов.
Илья, чаще всего это операция очень простая и выполняется быстро. Всего несколько раз я встревал на час-другой. В основном, на восстановление расширения уходит минута-две. Если это разовый клиент, то оплата по факту. Если на подключение ушло 5-15 минут, то я запрошу 2500/4 = 625 рублей, например. Если 20-30 минут, то оплатить нужно будет 2500/2 = 1250. Ну и т.д. Что касается постоянных клиентов, то я восстанавливаю работу расширений сразу же после выполнения обновлений, так что это просто незначительно увеличивает время обновлений, и всего-то. Чаще всего настолько незначительно, что, считай, бесплатно.
@@ilyawebdev клиенты должны быть готовы к тому, что доработка будет 100% стабильно работать только в условиях неизменяемой программы. Конечно, надо стараться делать так, чтобы доработка могла пережить как можно больше обновлений. Но рано или поздно она слетит. Я рассматриваю время на восстановление доработок и расширений как часть процесса обновления и прибавляю время к общему итогу за обновление. Клиенты не возмущаются, потому что это проходит для них незаметно. В конечном итоге они просто платят за обновление, и все.
Отзывы гляньте (не рекламные!) и вам сразу расхочется в этом EDT работать. Все плюсы, если они есть, перекрываются тормозами, т.е. работает еще медленнее чем конфигуратор. Если вы предпочитаете больше думать и «компилировать» код в уме, а не проверять тестированием и отладкой, то возможно, это ваш выбор. В ином случае - нет.
Не лучше ли создать запрос в какой нибудь обработке и скопировать потом в расширений. Тогда не придется тянуть весь этот мусор(Объекты, формы ....). Согласен, что в дальнейшем не получится вызвать текст в конструкторе, но есть обработка еще раз. Видео очень классно получилось, много полезных вещей показал. Спасибо, Илья!
Я считаю, что не лучше. Разработчики платформы не просто так заставляют тебя тянуть "весь этот мусор" в расширение для формирования запроса. Это нужно как минимум для того, чтобы в случае изменения имен заимствованных объектов ты получил об этом уведомление и сделал выводы. Ведь если что-нибудь из этого мусора будет переименовано в основной конфигурации, твой запрос просто перестанет работать. Работать с запросами расширений в отдельной обработке - это обход механизма, во-первых, и неудобно, во-вторых. Получаемые при этом преимущества крайне сомнительны.
Ноутбук за 180 тыщ осуществлял глобальный поиск в два раза медленней чем мой ПК за 50 =) Прям в ночи не поленился специально скачать УНФ и запустить поиск. При работе с файловой базой 1С многое зависит от производительности "на ядро". Энергоэффективные ноутбучные и моноблочные доходяги сильно проигрывают даже старым добрым i5-7600K (чутка разогнан)
@@Anton-ni8un не знаю с чем это связано, но на момент покупки 7600к был самым дешёвым intel процессором с разблокированным множителем из тех что выдавал поиск. Ну и я думаю, что при параллельном обновлении 4х баз полноценные ядра покажут себя лучше чем 2/4 ... Но это не точно :)
@@dvsidelnikov, i3-7350k легче разгоняется до 5 Ггц, при этом тепловыделение вполне приемлемое. i5-7600k чаще всего застревает на 4,6 Ггц. Параллельное сравнение и объединение конфигураций 4х баз не так часто происходит. В случае с 3 базами разницы не будет. В случае с двумя базами i3-7350k на 5 Ггц будет пошустрее своего собрата i5. Речь конечно же о файловых базах.
@@Anton-ni8un ограниченный, на тот момент, ассортимент лишил меня мук выбора :) Помню, что буквально через месяц после покупки, Интел начали переходить на 1151v3 - как я страдал!
Если ты про назначение расширения, то тогда спокуха. Ты узнаешь, что это, прямо сейчас. Адаптацию мы выбираем в том случае, если расширение дорабатывает имеющиеся механизмы и объекты. Дополнение мы выбираем в том случае, если расширение полностью расширяет функционал, идет добавление новых документов и объектов, при этом доработка типовых объектов не производится. Исправление выбираем тогда, когда исправляем с помощью расширения ошибки релиза. Если мы планируем использовать это расширение на все случаи жизни, тогда просто выбираем "Адаптация" - ведь это всего лишь условность.
Здравствуйте Илья! Я слижу за вашем каналом. Мне очень нравиться ваши ролики. Мне нужен ваш помошь. Если что я могу предаставить вам доступ. Не подскажите, как настроит учебного отпуска чтобы расчиталась среднее из зарплаты последних двух месяцев. Заранее спасибо. сумма последних двух месяцев делятся на сумму рабочих дней(смен) этих месяцев и умножается на количество рабочих дней(смен) за период отпуска -- прмерно так.
Формат огонь! Но для новичков слишком быстрая работа с консолью и конструктором запросов. Реально очень сложно уследить куда Вы мышкой нажимаете, и что в меню выбираете. Я не предлагаю растянуть видео на 6 часов но Вы прям супербыстрый с запросами... Если это видео было ориентировано для опытных программистов, можете смело удалить мой комментарий. Спасибо.
Думаю, это крутой формат!
Это очень крутой формат! Буду очень благодарен продолжению в таком формате. Заранее спасибо.
Илья, спасибо! Очень информативно! В одном видео столько полезной информации, ни на одних курсах такого не покажут! Нужно продолжать такой формат!
Лучший формат! Столько полезного в одном видео.Так и думал, что будет интересно!!!
Наконец-то. Во многих курсах часто раздражает что решения для каких-то очень "своих" конфигураций, а обычно все крутится вокруг типовых, где черт ногу поломает и разобраться в использовании механизмов решений от 1С чтобы потом сделать как надо - чуть ли не главное
Формат крутой, давай чаще разбирать реальные задачи!!!
Еще, круто, очень интересно, ваш опыт нам очень поможет
Формат пушка, давай ещё такого!
Формат хороший! Поддерживаю, давай ещё разбирать реальные задачи!
Интересный формат!
Формат прикольний. Я не заснул, даже наоборот проснулся. Обычно когда смотрю видосы засыпаю. Так что зачёт 👍😀
В конце, вместо НайтиСтроки в цикле, можно было бы использовать другой алгоритм. Перед текстом запроса выгрузить существующие товары из таб.части в массив. А в самом запросе при формировании временной таблицы добавить условие " И НЕ Номенклатура.Ссылка В (&СписокДобавленныхРанееТоваров)". Как-то так ))) Ну а за видео лайк, реальный разбор задачи - это гуд.
вариант не очень) в таблице может быть указаны строки номерклатуры не со всеми возможными характеристиками. Таким условие обрубаем часть данных.
Если отказаться от цикла, тогда надо выгрузить 2 колонки из ТЧ (Номенклатура и характеристика), поместить по времянку, и уже в конце сделать условие типа "И НЕ Номенклатура.Ссылка, Характеристика.Ссылка В (Выбрать Номенклатура, Характеристика из ВТ_ИсходныеДанны).
как вариант...
Есть еще пара способов быстрого поиска точек входа. 1. в конфигураторе Отладка - Остановить. в предприятие нажимаем на нужную кнопку и попадаем в обработчик элемента на этой форме (если таковой имеется). это особенно полезно, когда у справочника есть несколько форм и не всегда очевидно какая из них открывается, по синониму можно не понять. 2. касается текстов сообщений и предупреждений. например, при попытки провести документ срабатывает какая-то проверка и документ эту проверку не проходит, при этом выдается сообщение и непонятно, что ему не нравится. перед проведением запускаем замер производительности, выполняем проведение, получаем сообщение, выключаем замер производительности. в открывшемся окне по Ctrl+F ищем кусок текста сообщения и попадаем в то место, откуда оно формируется.
Отладка - остановить! А что так можно! Вот я лошара - расставлял тысячу точек останова. Спасибо бро!!!
Долгих лет тебе, дружище!!!!
Тут бьі шортс запилить на тему: а в сколько лет вьі узнали? Спасибо тебе. Про отладка / остановить узнал на 13 году работьі одинесником)
Вот где этот стрим (и ему подобные) были пол года назад ???!!! Я это все гуглил и тыкался как котенок в каждую команду )) Теперь я это уже знаю, особо ничего нового не узнал, но это ооочень полезное видео, оно обязано быть в интернете! Спасибо Илья! Давай стрим про написание интеграций по АПИ с маркетплейсами )))))))) Работа с ХДТО фермой например )) Или что то похожее, сейчас это очень нужно )
Так ничего сложного нету) гуглите и практикуйтесь !
@@Cherkashin_Di Ну видео информация усваивается быстрее и легче ) А в общем да, гугл, копипаст, отладка и время. И любая задача решаема!
Я Java Developer, первый раз увидел процесс разработки в 1С. Если забыть про необходимость постоянно перезапускать программу или некоторые окна, чтобы все переподгузилось платформой, это гениально. Культурный шок.
Неистовый лайк. Формат очень крутой
Ляяяя, Ctrl+Break! Я пять долбаных лет ждал этот лайфхачик... Как хорошо было в семёрке, когда оболочка русским по серому писала - "Нажмите ESC чтобы прервать".
Спасибо. Формат замечательный!!!
Нормал, суперово! Все как в работе!
Обучаюсь с 0 только месяц и это видео - как темный лес для меня , в общем все понятно, но технические детали - пока нет, так хочется побыстрее научится делать это самостоятельно. Илья вы очень хорошо обьясняете и понятно и очень интересно, спасибо.
Как успехи? 2 недели изучаю только)
@@vladyan01 уже лучше ,сложно но надо обучаться и практиковаться, если у кого-получилось и у нас получится ;))))
@@vip007ad Год прошел! Вышла хотя бы на зарплату 100-120к?
@@AlexMiron1990 Прошел год, за это время я уже перевелась на IT разработчика и дальше обучаюсь и да, уже недавно вышла на этот уровень дохода. Но если честно - молюсь и прошу у Бога помощи и мудрости и больше вижу Его руку помощи - больше, нежели свои таланты - как бы "случайно" попадаются нужные люди и возможности, и как бы "случайно" приходит помощь и я получаю консультации как правильно двигатся дальше и в результате - все получается. Слава Богу! Вам прекрасного Нового Года и Рождества! В Библии написано: Все могу в укреплющем меня Иисусе! Отдавайте все под Его контроль, верьте и все у вас получится!!! Здоровья всем, безопасности и благополучия!!!!
Отличный формат , Илья!! Ждём ещё !)
Илья спасибо, формат очень классный, прям реальность для прогера! А то все время смотришь какая то фигня у всех , то что уже и надоело и не пригодиться в реальной работе.
Илья, по-больше такого контента!!!
Супер! Спасибо. Илья!
Спасибо, я многое про себя понял ))
Кстати, по поводу не работает "Ctrl+Break". Заметил такую фигню, что он перестает срабатывать, если переключить активное окно и потом вернуться в конфигуратор. Но помогает, если в трее навести мышку на 1С и выбрать конфигуратор кликом. Т.е. alt+tab не спасает, а только переключение активного окна через трей, где отображаются запущенные программы.
мне нравится формат.... Когда я работал программистом, и мне дали мое первое задания, то я просто копировал функционал из типовой конфигурации и внес небольшие изменения, буквально 2 строчки.. я думал, что это я просто очень ленивый дабы самому разработать алгоритм, а оказывается, так и надо было )
Так даже лучше, потому что мы тем самым подстраиваемся под стиль типовой и по максимуму задействуем типовой функционал (не в данном примере, а вообще).
Как это происходит? Первая задача. Какие вообще задачи дают новичкам? Можете перечислить некоторые из них, чтобы чуть подготовится к ним)
@@vladyan01 Думаю везде по разному. Но в целом по началу дают всякую мелочь. Почистить кэш, запустить тестирования, установить 1с, обновить, подключить какой нибудь сервис типа 1с-Отчетность и ЭДО, восстановить лицензии, установить доп.лицензии, перенести базу из локальной во фреш, несложные синхронизации, подключения оборудования.. Честно говоря, на вот этом этапе я каждое утро просыпался с мыслями уволится. Гораздо проще стало, когда пошли доработки и программирования.
@@rnd_wolf7237 звучит сложно) но спасибо)
@@vladyan01 А из программирования, сложно сказать. Я сначала делал всякую мелочь из выше перечисленного, а потом у нас уволился программист, и на меня взвалили его задачи, явно не начального уровня. Пришлось экстренно изучать, что есть расширения, как с ними работать, и т.д.
а начального уровня задачи, это несложные отчеты с помощью СКД, или внешнего отчета..
Илья, спасибо за стрим, я поддерживаю такой формат, интересно смотреть.
Спасибо! Отличный формат!
Отличный формат!
крутой формат. больше нигде так не видел.)
Спасибо за урок! Формат понравился. Иниересно решение похожей задачи, когда для заполнения ТЧ мы открываем доп. форму настроек, и уже из этой доп. формы выполняем команду. В таком случае контекста нашей основной формы нет. Зато есть трудности в виде того, что на сервере нет возмодности получить владельца нашей формы настроек.
Так форма с настройками должна оповестить владельца с передачей настроек через параметрьі. А команду уже обработчик оповещения на основной форме вьіпоняет.
Илья, Спасибо большое за подсветку оранжевым "Выбранный идентификатор" !
Юр Юрыч Ещё там же можно включить «авто», что бы не жать каждый раз контрл+q.
@@ЕвгенийМедведев-б8я а где именно точно, не подскажешь ?
@@Crisis2424 Сервис-Параметры-Редактирование (вкладка) , там есть пункт "Автозамена", его включить. Извиняюсь ошибся в первом тексте. При этой настройке, при наборе кода, к примеру "Для", нажимаете пробел. Работает так же как и сочетание контрл+q
@@Crisis2424 Памятки с клавишами: programmist1s.ru/shpargalki-dlya-razrabotchika-i-polzovatelya-1s/
@@ЕвгенийМедведев-б8я спасибо
В моменте 9:43 достаточно посмотреть навигационную ссылку, а не искать глобальным поиском, там будет отображено имя формы как правило) а в последних версиях платформы будет кнопка которая явно показывает имя формы в конфигураторе)
Согласен ) Об этом лайфхаке не часто говорят, хотя способ очень удобный !
@@ЕгорКорин-ч2б Ну например у тебя открыт документ какой то, в пользовательском режиме, называется он что то типа : Акт о расхождениях после перемещения. Нужно найти его в конфигураторе, а там нет документа с таким названием. Берем в поьзовательском режиме, открываем документ и сверху ищем кнопку "получить ссылку (Cntrl+F11)", открывается формочка со строкой типа: e1cib/data/Документ.ВнутреннееПеремещениеТоваров?ref=a2310cc47adcba7311ea5c80cb8d9bc9 . И тут читаем что это Документ с названием "ВнутреннееПеремещениеТоваров". Такой уже легко находится в дереве конфигурации. Плохо только что с отчетами такой фокус не срабатывает.
@@Rammbst Спасибо огромное за такой развернутый ответ !
Илья, формат крутой - пили еще!
Илья, спасибо тебе за твои видео. Я работаю бухгалтером и мне очень интересно с какими трудностями сталкиваются разработчики😘Благодарю тебя!
Огнище. Илюх ты как Splintr)))) сенсей из черепах)
Не бросай нас.....
17:31 Стараюсь не изменять добавленную форму в расширении интерактивно (т.е. мышкой добавляя команды и кнопки на форму в редакторе), все создаю программно при создании формы на сервере. А если есть возможность не добавлять форму, а делать через модуль (как в типовых торговых решениях, УТ 11.4, например, там в обработчиках события ПриСозданииНаСервере всегда вызывается одна и та же процедура общего модуля), то добавляю процедуру в расширение и создаю все там. Да, это чуть дольше по началу, а потом, набив руку и шаблоны, делается так же быстро. При этом упрощает поддержку расширения (если есть форма, всегда обновлять ее в расширении, одну кнопку нажать).
Считаю, что так правильней.
Огромное спасибо, побольше бы таких видео!
Формат ТОП. Не только в видосе куча полезной инфы, но и в комментах конструктивная критика. Побольше реальных задач хороших и разных. P.s на скорости 1.5 не так затянуто :)
Формат однозначно пушка-бомба
В моменте 32:17 после определения типа у перового значения, для всех остальных жмем F9 - копирование, и перевыбираем значение, тип устанавливать не надо уже.
Работаю с 1с уже 10 лет, и с каждым годом 1С становится медленнее, просто мощности компьютеров растут, и замедление 1С нивелируется, но и то не полностью и не всегда..
ОГОНЬ!!!
Это определенно новый формат
Коммент для массы, контент как всегда топ!
Крутой видос! Крутой формат! Продолжай!
Формат - ЗАЧЕТ! продолжай дальше, страдания очень полезны для глубины понимания.
Мега информативно. Правда, иногда в умолчаниях остаётся то, что Илья относит к разряду "это всем известно", а на самом деле, это "не известно почти никому".
Опоздал, опять опоздал (с)Громозека (Тайна Третьей Планеты).
Если базу с расширением проводить через несколько обновлений, то расширение отваливается.
Основная причина - совместимость. Но отчего-то уже не хочется хранить данные в расширенном справочнике, а делать это где-то еще.
Спасибо!
Илья классный формат. Продолжай в том же духе.
формат , огонь
как 1:04:05 не пойму, мы передали через запрос значение ИСТИНА в ХарактеристикиИспользуются?
Первые два подзапроса объединения возвращают у нас набор данных с характеристиками. Третий подзапрос возвращает набор данных без характеристик.
Поэтому в первые два подзапроса мы добавляем значение ИСТИНА, а в третий - значение ЛОЖЬ.
чувствуется возможное влияние одного из курсов уч. центра 3 :) которое ты нахваливал не так давно... спасибо полезное видео, побольше бы таких!
Да вряд ли тут есть влияние этого курса )
@@IlyaLeontyev сейчас его прохожу (БСП+расширения) и этот курс начинается тоже с метода поиска в коде программы точки воздействия и тоже с настройки редактора - подсветки синтаксиса, но я думаю это общие подходы, понятно что ты к ним пришел уже давно. Стати на этот курс решился посмотрев одно из твоих видео и пока доволен. Очень надеюсь ты не потеряешь энтузиасм и продолжишь просвещать массы !
@@adamasts Ааа, ну кстати да, это я оттуда почерпнул. На одном из стримов я говорил, что глобальный поиск - это, возможно, самое главное, что я узнал из курсов 1С за всю жизнь.
@@adamasts Ну вот кажется наткнулся на полезную инфу! Буду знать, тоже как-нибудь
пройду этот курс.
Хороший формат видео, вернее рубрика.... именно реальные задачи нужны, но академические дают потом знания для решения реальных... не зря говорят, тяжело в учение - легко в бою...
В моменте 54:36 для справочника характеристики нужно определить владельца в расширение, то есть в расширении открыть добавленный справочник характеристики и у него в свойствах владелецы проставить галочку на номенклатуру.
Я так и думал, что есть способ проще ))
искать можно нажав на три точки сверху справа в форме окна , нажать открыть в конфигураторе. видимо этого не было три года назад.
Объекты метаданных, которых нет в запросе необязательно добавлять в расширение, оно и без них будет работать, правда не будет работать конструктор запроса. Я бы добавил об этом реплику в видео.
Но в целом видео очень понравилось. Формат отличный, еще бы задачу посложнее и было бы идеально.
Илья, привет. Ответь пожалуйста на 2 вопроса по стриму. Ты к сожалению пропустил эти вопросы в чате, но все-таки если не сложно ответь.
1. Зачем добавлять все объекты из запроса в расширение, если можно просто писать текст запроса в модуле без конструктора и тогда вообще не надо перетягивать объекты используемые в запросе в расширение.
2. Был задан вопрос - Вместо всего этого безобразия нужно было дать возможность в качестве группы номенклатуры выбирать элементы номенклатуры. прокомментируй пожалуйста.
на 53.13 вопрос! зачем добавлять ненужные объекты в расширение ради того чтоб открылся конструктор запроса в модуле расширения? можно создать внешнюю обработку в ее модуле создать запрос и выборку после просто скопировать текст модуля в расширение. таким образом в расширении будут только нужные объекты
Потом неудобно будет работать с этим кодом. Ты же не один раз на всю жизнь пишешь этот запрос. Не исключено, что к нему придется обращаться снова. И каждый раз переносить его в модуль внешней обработки, а затем обратно - это то еще удовольствие. Поэтому я всегда довожу расширения до того состояния, когда конструкторы используемых в них запросов открываются без проблем.
согласен, но есть обратная сторона:
1. если бы в одном расширении был большой запрос ко многим объектам то пришлось бы тратить время на добавление каждого, в то время как скопировать процедуру в модуль обработки и обратно займет само по себе 10 сек.
2. если уже сделано много доработок таким способом то навигация по дереву метаданных в расширении усложнится, кнопка которая отсеивает зависимые элементы частично потеряет смысл ибо мы сами все напереносили.
3. могу ошибаться но как я понял и сам 1с уходит от того чтоб перегружать расширения, так в свежих платформах при взаимствовании формы нет доступа к объектам на ней надо еще отдельно и их в расширение добавить, видимо на случай когда задача в том чтоб просто добавить свой реквизит.
а формат действительно интересный, читать комментарии то же познавательно. Большое спасибо!
@@Feofan4ik, в панели управления деревом метаданных расширения достаточно нажать "Действия -> Измененные и добавленные в расширении", чтобы исключить отображение всех заимствованные объектов, которые не были изменены в данном расширении.
Можно найти форму через Замер производительности.
Смотришь на вот это вот на всё и думаешь... капец, в этом невозможно разобраться
ты крут
Замечательно, что попутно разбираются возможные накладки
спасибо за видео, да 1С современная работает быстрее... купи диск ssd и n-ядерный процессоров и взлетит... я считаю, что быстрота - это благодаря улучшению железок, на которых работает... про сервера это точно так, да и клиенты, аналогичны... а вот про оптимизацию, которая 1С говорит... ну не знаю... тогда давайте запустим ее на старых компах... она и не работает на таких, или работает пол дня запускаться будет )))
Где взять эту демо базу?
Неужели нет в конфигураторе полнотекстового поиска, который позволяет осуществлять его мнгновенно? Тогда EDT и костыли к нему в виде внешнего полнотекстового поиска? Щииикарно!
Увидел!
В базовой версии нельзя воспользоваться расширениями, ведь так?
Да, в базовой нельзя.
У меня возник вопрос. Можно же не заимствовать в расширение объекты метаданных, которые будут участвовать в запросе. Почему бы просто не сформировать текст запроса для конфигуратора в консоли запросов, и просто не вставить его в модуль? Времени меньше уйдет. Даже если потом нужно будет править запрос, все равно править в консоли.
Алекс, я нахожу такой способ слегка криворуким, потому что это делает неудобным дальнейшее сопровождение запроса. К нему же обычно приходится потом обращаться снова и снова, как-то его допиливать и т.д.
И это жутко неудобно - каждый раз копировать текст запроса, вставлять его в консоль, убирать лишние символы, приводить его к нужному виду, затем копировать назад, опять приводить к нужному внешнему виду...
Ни о какой экономии времени тут на самом деле речи не идет.
@@IlyaLeontyev разрешите поучаствовать в дискуссии. Тоже противник тащить кучу элементов в расширение ради одного запроса. При открытии расширения с кучей элементов создаётся ощущение что тут куча всего дорабатывалось, а по факту добавлена одна кнопка. Мое решение: элементы в расширение не переношу, запрос делаю во внешней обработке. При таком подходе в расширении видно что конкретно дорабатывалось, на копирование запроса уходит 5 сек.
@@comradecom5684У такого варианта тоже есть свои минусы. Например во внешней обработке, вы не сможете использовать новые справочники , реквизиты и т.д, которые добавили в расширение
@@IlyaLeontyev, если изменилась основная конфигурация, то запрос в любом случае придется корректировать вручную, так как в конструкторе он не откроется. Другое дело, что в случае заимствования всех используемых реквизитов из основной конфигурации в расширение конструктор запроса сразу подскажет где именно ошибка. Но это же самое подскажет и конструктор запросов в консоли запросов, если реквизиты основной конфигурации в расширение не заимствовать.
@@АлексФедотов-щ3ф, пока добавленным в расширении объектам программисты не очень доверяют, поэтому пока в большинстве случаев достаточно конструктора запросов в модуле внешней обработки. Но вы правы, что полные метаданные, в которых присутствуют и объекты конфигурации и добавленные объекты расширений, можно получить только в режиме "Предприятие".
Каеф
45:00 Нужно использовать не ОБЪЕДИНИТЬ ВСЕ, а ОБЪЕДИНИТЬ. Что исключить дубли в двух наборах. И не нужно придумывать костыли, 3-им объединением, где берутся товары без характеристик.
Дублей по логике там не предвиделось: одна и та же характеристика вылезти в разных таблицах не могла. Имхо там объединения вообще не нужны были, достаточно левого соединения с более сложным условием.
@@timko_nzt пример кода можно?
И почему нельзя просто сделать группировку по номенклатуре?
При большом количестве объединений при использовании SQL ОБЪЕДИНИТЬ ВСЕ с последующей группировкой будет работать быстрее, чем ОБЪЕДИНИТЬ. Так как запросы из конструкции О́БЪЕДИНИТЬ ВСЕ выполняются параллельно, в отличии от конструкции ОБЪЕДИНИТЬ, которая сразу пытается группировать (из-за чего параллельной быть не может).
Для каждой задачи выбор метода решения индивидуальный.
@@Anton-ni8un А что мешает оптимизатору построить для ОБЪЕДИНИТЬ план запроса с параллельным выполнением, а потом сгруппировать записи?
Илья Привет, такой вопрос, мне нужно добавить в типовой конф. в справочнике кнопку ПЕЧАТЬ , если я сделаю это в основной конф. с помощью конструктора, предварительно сняв замок, это повлияет на Обновления конф. ??? я же не изменяю существующею кнопку а добавляю новую.
Привет! Ты же хочешь добавить кнопку на форму? Значит, ты изменяешь форму. И это повлияет на обновления.
Но если ты сделаешь это через технологию расширений, то такой проблемы не будет.
@@IlyaLeontyev Понял, а если новые реквизиты или табличные части, это тоже влияет на обновления ??? так как они по сути добавились на форму и дополнили её.
@@SPORTSNEWS-er2gy если новые реквизиты или табличные части были просто добавлены на уровне кофнигуратора, а на форме не размещались, то тогда на обновление это не повлияет.
Если размещались на форме, то это изменение формы )
@@IlyaLeontyev Понял Илья, Спасибо Большое)
@@IlyaLeontyev Илья еще такой вопрос, немного не по теме расширений, извини заранее, Создал внешнюю обработку и хочу подключить её в пользовательском режиме, но при подключении выдает такую ошибку :
"Невозможно подключить дополнительную обработку из файла.
Возможно, она не подходит для этой версии программы.
Техническая информация:
Метод объекта не обнаружен (СведенияОВнешнейОбработке)"
Говорят нужно функцию "СведенияОВнешнейОбработке" с кодом специальную прописать, Как решить эту проблему? где код можно взять?
подскажи пожалуйста)
Илья, попробуй делай трансляцию через Nvidia, в драйверах, вроде сейчас норм работает.
Всё круто! Но зачем добавлять все объекты, которые в запросе есть, в расширение (момент мороки с владельцем)? Не проще ли конструктор запроса с обработкой результата вызвать во внешней обработке, а потом скопировать код в расширение?
Так сделать проще, но работать с этим впоследствии будет неудобно, ведь ты тем самым лишишь себя возможности работать с этим запросом в конструкторе. Постоянно придется куда-то этот текст копировать, там работать с ним, возвращать обратно. На мой взгляд, это нехорошо.
Внешняя обработка и модули основной конфигурации не видят объекты и реквизиты, добавленные в расширении. Модули расширения не видят не заимствованные расширением объекты основной конфигурации.
Универсальные всего писать запрос в режиме Предприятие в консоли запросов. Там доступны все таблицы и поля, как из расширения, так и из конфигурации.
@@Anton-ni8un а зачем им видеть? Недостаточно , что те же самые объекты метаданных есть в конфигурации? Другое дело, если а расширении создали свой справочник, документ или реквизит, тогда согласен.
Илья добрый день, вопрос такой(немного не по теме);
Актуально ли сейчас становится программистом 1с? Повлияло ли закрытие огромного количества фирм в период пандемии на актуальность данной вакансии. Жду ответ.
Добрый день.
Ситуация, наверное, ухудшилась, как и во многих других профессиях. Но в целом профессию "Специалист 1С" можно продолжать рассматривать как актуальную.
Илья Леонтьев Про 1С спасибо.
Если будет продолжено то будет прикольно. Последнее что было связано с практикой на моей памяти это обновление обычных форм устаревшее уже на тот момент.
А нет желания сделать ролик о взаимоотношениях с заказчиками? Т.е. можно осветить такие вопросы как: расчет оплаты труда, гарантия заказчику, как разрешать различные спорные и конфликтные ситуации, может какие-то примеры из практики привести. Просто я работаю на контору за зарплату, тут все ясно, а как работают фрилансеры и как разруливают такие ситуации было бы послушать крайне интересно.
Периодически появляется такое желание, но вообще очень много всяких интересных штук можно снять - у меня глаза разбегаются. Сейчас, допустим, я бы с удовольствием порешал еще несколько рабочих задачек )
@@IlyaLeontyev Не, ну понятно, что не прямо вот сейчас) Потом, когда будет время, вдохновение, и т.п. Задачек из реальной практики, кстати тоже хотелось бы побольше, мне кажется, такая тема тут зайдет.
Илья, скажи во сколько часов оценил первую задачу?
2 часа
А почему Илья запускаешь всегда прогу в управляемом режиме? Сколько не видел в небольших компаниях и в экспресс-доставке в таком виде только у глабуха, остальные в обычном режиме работают. Партянка на весь экран. Может они осталые просто?
УТ 11.4 только в управляемом режиме работает. На обычных формах работают только морально устаревшие программы 1С.
Не совсем понял, почему в запросе не воспользовались группировкой чтобы СГРУППИРОВАТЬ Номенклатуру и Характеристику, чтобы избавиться от дублирующихся строк. А вместо этого добавили отдельный пакет для пустых характеристик
Систему контроля версий git юзать чтобы с кучей копий файлов не возится
топ
Илья, привет, во сколько часов обходится такая задача для клиента?)
В 2 часа можно оценить, если удаленно работать. Если работать на месте, то оплата по факту обычно. И там уже все зависит от скилла программиста. От 1 до 3 часов.
А если после обновления расширение отвалится, то починить его назад сколько стоит? Причем тут две ситуации: клиент разовый или постоянный.
Илья, чаще всего это операция очень простая и выполняется быстро. Всего несколько раз я встревал на час-другой. В основном, на восстановление расширения уходит минута-две.
Если это разовый клиент, то оплата по факту.
Если на подключение ушло 5-15 минут, то я запрошу 2500/4 = 625 рублей, например.
Если 20-30 минут, то оплатить нужно будет 2500/2 = 1250.
Ну и т.д.
Что касается постоянных клиентов, то я восстанавливаю работу расширений сразу же после выполнения обновлений, так что это просто незначительно увеличивает время обновлений, и всего-то. Чаще всего настолько незначительно, что, считай, бесплатно.
@@IlyaLeontyev а клиенты не возмущаются, мол, как так, я уже заплатил один раз, я что, за одну и ту же доработку буду теперь постоянно платить?
@@ilyawebdev клиенты должны быть готовы к тому, что доработка будет 100% стабильно работать только в условиях неизменяемой программы.
Конечно, надо стараться делать так, чтобы доработка могла пережить как можно больше обновлений. Но рано или поздно она слетит.
Я рассматриваю время на восстановление доработок и расширений как часть процесса обновления и прибавляю время к общему итогу за обновление. Клиенты не возмущаются, потому что это проходит для них незаметно. В конечном итоге они просто платят за обновление, и все.
@@IlyaLeontyev ясно, спасибо
Илья ты работал с ЕДТ?
Миновала меня чаша сия )
Отзывы гляньте (не рекламные!) и вам сразу расхочется в этом EDT работать. Все плюсы, если они есть, перекрываются тормозами, т.е. работает еще медленнее чем конфигуратор. Если вы предпочитаете больше думать и «компилировать» код в уме, а не проверять тестированием и отладкой, то возможно, это ваш выбор. В ином случае - нет.
Очень всё быстро показываешь , по медленее пожалуйста!)
капец быстрота какая... у меня каждая вкладка по 5 минут открывается... и не сказать, что комп какой то ущербный, нормальная офисная машина
Нужен ssd-диск
Не лучше ли создать запрос в какой нибудь обработке и скопировать потом в расширений. Тогда не придется тянуть весь этот мусор(Объекты, формы ....). Согласен, что в дальнейшем не получится вызвать текст в конструкторе, но есть обработка еще раз.
Видео очень классно получилось, много полезных вещей показал. Спасибо, Илья!
Я считаю, что не лучше.
Разработчики платформы не просто так заставляют тебя тянуть "весь этот мусор" в расширение для формирования запроса. Это нужно как минимум для того, чтобы в случае изменения имен заимствованных объектов ты получил об этом уведомление и сделал выводы. Ведь если что-нибудь из этого мусора будет переименовано в основной конфигурации, твой запрос просто перестанет работать.
Работать с запросами расширений в отдельной обработке - это обход механизма, во-первых, и неудобно, во-вторых.
Получаемые при этом преимущества крайне сомнительны.
У тебя в плейлисте ролик про Навального затесался
Ноутбук за 180 тыщ осуществлял глобальный поиск в два раза медленней чем мой ПК за 50 =) Прям в ночи не поленился специально скачать УНФ и запустить поиск. При работе с файловой базой 1С многое зависит от производительности "на ядро". Энергоэффективные ноутбучные и моноблочные доходяги сильно проигрывают даже старым добрым i5-7600K (чутка разогнан)
Зачем нужен i5-7600k, когда существует i3-7350k...
@@Anton-ni8un не знаю с чем это связано, но на момент покупки 7600к был самым дешёвым intel процессором с разблокированным множителем из тех что выдавал поиск. Ну и я думаю, что при параллельном обновлении 4х баз полноценные ядра покажут себя лучше чем 2/4 ... Но это не точно :)
@@dvsidelnikov, i3-7350k легче разгоняется до 5 Ггц, при этом тепловыделение вполне приемлемое. i5-7600k чаще всего застревает на 4,6 Ггц. Параллельное сравнение и объединение конфигураций 4х баз не так часто происходит. В случае с 3 базами разницы не будет. В случае с двумя базами i3-7350k на 5 Ггц будет пошустрее своего собрата i5.
Речь конечно же о файловых базах.
@@Anton-ni8un ограниченный, на тот момент, ассортимент лишил меня мук выбора :) Помню, что буквально через месяц после покупки, Интел начали переходить на 1151v3 - как я страдал!
22.25 крутая штука
давай еще
что такое адаптация мы так никогда и не узнаем..
Если ты про назначение расширения, то тогда спокуха. Ты узнаешь, что это, прямо сейчас.
Адаптацию мы выбираем в том случае, если расширение дорабатывает имеющиеся механизмы и объекты.
Дополнение мы выбираем в том случае, если расширение полностью расширяет функционал, идет добавление новых документов и объектов, при этом доработка типовых объектов не производится.
Исправление выбираем тогда, когда исправляем с помощью расширения ошибки релиза.
Если мы планируем использовать это расширение на все случаи жизни, тогда просто выбираем "Адаптация" - ведь это всего лишь условность.
Илья будешь удивлен, но ты не правильно говоришь! не СИНТАКСИС -помощник,а СИНТАКС-помошник. Хотя наверно 99% делают эту ошибку
Удивлен, что я так сказал. Я в курсе, что синтакс )
А почему бывший 1С-ник?
Здравствуйте Илья! Я слижу за вашем каналом. Мне очень нравиться ваши ролики. Мне нужен ваш помошь. Если что я могу предаставить вам доступ.
Не подскажите, как настроит учебного отпуска чтобы расчиталась среднее из зарплаты последних двух месяцев. Заранее спасибо.
сумма последних двух месяцев делятся на сумму рабочих дней(смен) этих месяцев и умножается на количество рабочих дней(смен) за период отпуска -- прмерно так.
Формат огонь! Но для новичков слишком быстрая работа с консолью и конструктором запросов. Реально очень сложно уследить куда Вы мышкой нажимаете, и что в меню выбираете. Я не предлагаю растянуть видео на 6 часов но Вы прям супербыстрый с запросами... Если это видео было ориентировано для опытных программистов, можете смело удалить мой комментарий. Спасибо.
В чем проблема скорость воспроизведения замедлить в 3 раза?