обожаю! быстро четко и по делу, предельно понятное изложение, очень круто, удачи!
@Ivanov_Ivan_111116 ай бұрын
Иван, спасибо большое за Ваш труд! Не останавливайтесь никогда!)))
@GioCatrice.x6 ай бұрын
Очень понравился такой формат. Продолжайте, это очень интересно)
@iqmaxima6 ай бұрын
В данном случае это подходит но не всегда. Иногда смена данных может оказаться важнее чем не доредактированный документ. Пример после неких действий (регламентного задания) должен к примеру к заказу прикрепиться договор в следствии оплаты которая также была обработана регламентным заданием и если мы подобным образом заблокируем то к заказу не прикрепиться договор. Проще перепрочитать недоредактируемую форму и сообщить об этом пользоваьелю
@varikap876 ай бұрын
Как всегда, четко ёмко и очень доходчиво! 👍 самые лучшие обучающие видео🤝
Как всегда отлично. Четко, доходчиво! Отличное видео!
@Rarogg5 ай бұрын
Иван, как всегда, очень полезное видео!!! Продолжай в том же духе!
@LaughingMonsteX6 ай бұрын
Иван, спасибо вам большое! У вас прекрасная подача! Благодаря вам увидела, что 1С может быть очень даже интересным😊
@Evang-Evang5 ай бұрын
Как всегда все на Высшем уровне, спасибо Иван.
@1C-Developer6 ай бұрын
Очень ждем курс по подготовке к специалисту по платформе и эксперту по технологическим вопросам😎
@Sa000Nya6 ай бұрын
неее, тебе что мало то что уже есть у Леонтьева там часов 200, есть более интересные темы, например разбирать логику работы типовых и бсп. а спец по платформе уже устарел. так никто не пишет все гораздо сложнее.
@1C-Developer6 ай бұрын
@@Sa000Nya У Ивана подача материала лучше чем у других. Спец по платформе всегда отличался от реальных задач и он актуален до сих пор, так как проверяет умение программировать. А логику типовых и бсп мы сами осваиваем в процессе ежедневной работы.
@Sa000Nya6 ай бұрын
@@1C-Developer В природе нет более легкого курса чем у ильи там все разжевано буквально на пальцах. Просто подготовься и забудь уже про этот дурацкий экзамен =) Конечно Иван мог бы сделать похожий но зачем, да и билеты экзаменационные искать по Тг каналам как это делал Илья не совсем законно в противном случае получится обрубок который не готовит к реальным билетам.
@ivernik6 ай бұрын
@@Sa000Nya Ну, особо билеты искать не нужно. :) И они на 99% актуальны. Изменения в условиях задач на экзамене незначительны.
@БипейШтифонов6 ай бұрын
Смеёшься что ли? Какой эксперт, иван показывет хелоу ворды для новичков.
@LichnostSowi6 ай бұрын
Перехожу с WebDev на 1С, причем это уже вторая попытка, первая завершилась неудачей, потому что ну душно очень 1С, таблицы итд, но благодаря Ивану и его титанической работе,становится не так душновато, а давольно таки интересно. спасибо тебе Иван, ты лучший!!!
@АлександрШейка-ц5ьАй бұрын
WebDev в 1С может сильно пригодится.
@kingezhsepo6 ай бұрын
На чужих ошибках сложнее учиться. Их мозг в долговременную память не хочет записывать. А когда сам накосячил на себе прочувствовал и исправил - тут да ))
@ЭдуардКоротков-б4к5 ай бұрын
Спасибо за ролик, как всегда супер!
@MNail-w9s6 ай бұрын
Иван как всегда красавчик! Ликбез нужен и важен...
@arshanskiysergey27916 ай бұрын
Спасибо, очень полезный и качественный урок!
@Гусева_Анастасия4 ай бұрын
Отличный ролик, очень полезно, спасибо!
@MikkKo-qv4jy6 ай бұрын
Спасибо. Все по делу: кратко и понятно! 👍👍👍
@ВладимирВолобуев-з4б6 ай бұрын
Спасибо Вам большое. Как всегда все четко и по делу. 👍👍👍
@bearmillionare6 ай бұрын
Было интересно, узнал про %1 и %2 😊
@Щепа-с3о5 ай бұрын
Классное видео. Полезное. По чаще бы видео на канале. Поддержите лайкосом!
@UrmatKasymov6 ай бұрын
Четко, локанично. Держите подписку!
@asg55116 ай бұрын
Полезная информация!
@1C_8.5.06 ай бұрын
Жилая вам блага двух миров
@Gregory_976 ай бұрын
Здравствуйте, Иван, скажите, пожалуйста, будет ли 3 часть по барбершопу? Очень жду продолжения!
@ДенисКошкаров-м3в2 ай бұрын
Если рассматривать задачу как теоретическую, чтоб показать, что такое пессимистическая блокировка, то норм. А так нужно исходить из ситуации и нужд заказчика. Я например считаю, что логика вполне нормальная, кто первый изменил документ, тот и прав, т.е. блокировка на форме обоснована и пользователь должен переоткрыть документ. А вообще если стоит задача одновременно и статусы изменять и чтобы пользователи работали необходимо вынести статусы в отдельный объект, например регистр ну или вообще вместо статусов использовать другие документы. Потом просто с этими статусами в документе начинается такая путаница, например сделали реализацию, не поставили статус "Закрыт" или клиент просить добавить специальные права на статус "В работе". Поэтому можно сделать так 3 документа Заказ -> Поступление -> Реализация, если нужно еще делать отмену заказа, то тоже специальный документ для этого, так же, если нужно регистр, где отслеживается статусы заказа. На основании заказа, создаются остальные документы, если нужно ограничить права, то это можно сделать типовым способом без костылей и проверок, какой там статус у заказа, если нужно просмотреть статус заказа, делаешь отчет по регистру, который отслеживает статусы заказа.
@СергейВ-р2б6 ай бұрын
Иван спасибо за видео Чыжоука смотрит :)
@user-ux3cp4kr6r6 ай бұрын
Никогда не пиши так: "программист 1с"
@mr.farkhat6 ай бұрын
То что нужно!
@olegkrivoruchko5176 ай бұрын
Спасибо за видео)
@Простоипонятно-е1д6 ай бұрын
Супер полезно, спасибо. Ролики по сложным запросам будут?
@Hauyhi5 ай бұрын
подскажите, на сколько корректно было бы вынести информацию о статусах в отдельный регистр, а вывод о статусе делать в момент открытия формы документа или списка, ведь таким образом мы не завяжемся на заблокирован объект или нет?
@maxglu71656 ай бұрын
Лучший!😊
@almasomarov10065 ай бұрын
Рахмет из Казахстана.
@gdd_burcklock70165 ай бұрын
Спасибо, круто
@commonaccount64536 ай бұрын
Отличное видео. Иван, какой есть альтернативный канал, а то с ютубом беда.
@ЛеонидЛеонидов-ь9в6 ай бұрын
Можно открывать транзакцию при начале редактирования объектов, блокировка установится автоматически НачатьТранзакцию(); Попытка ДелаемЧтоТо(); ЗафиксироватьТранзакцию(); Исключение Если ТранзакцияАктивна() Тогда ОтменитьТранзакцию(); КонецЕсли; ВызватьИсключение; КонецПопытки;
@МаксимШипилов-ц5ь6 ай бұрын
Это будет работать, если в свойствах конфигурации режим управления блокировками "автоматический". Но во всех современных конфигурациях стоит "управляемый режим. И зачем Вам в секции исключения проверять начало транзакции? И так понятно, что она стартанула. Если код написан нормально, то такие проверки делать не нужно.
@БипейШтифонов6 ай бұрын
Парень, почитай про транзакции, загугли, первая статья на хабре по этой теме. Человек выше все правильно написал.@@МаксимШипилов-ц5ь
@kuzyara5556 ай бұрын
И получить взаимоблокировку
@ВладимирШаров-к5ж5 ай бұрын
Упр блокировки и объектные это разные вещи, пользователь так же бы получил ошибку с несоответствием версий
@ВладимирШаров-к5ж5 ай бұрын
И за ТранзакцияАктивна вообще руки отрывают
@DenisLebedev86 ай бұрын
А теперь представим ситуацию, когда наш метод после рефакторинга переезжает в общий модуль, а затем переиспользуется в какой-нибудь обработке внутри транзакции. И получаем в итоге головную боль у программиста, который будет ловить плавающий баг с отменой транзакции при выполнении совершенно штатной операции. Браво!
@kuzyara5556 ай бұрын
И что вы предлагаете?
@DenisLebedev86 ай бұрын
@@kuzyara555 Не давать абсолютных рекомендаций и все инструменты, которые предлагает платформа, использовать к месту и с умом. Например, код, который потенциально может переиспользоваться в других местах, не писать с применением обработки исключений, а если вам нужна обработка исключений и вы работаете с данными формы, то делать привязку к этим самым данным формы, чтобы код нельзя было ошибочно переиспользовать. В общем, думать, что будет дальше, а не только сейчас.
@DenisLebedev86 ай бұрын
В 1С конечно очень специфичная и спорная реализация работы с транзакциями и вообще атомарных операций, но имеем что имеем, как говорится и нужно учиться пользоваться теми инструментами, что есть.
@rustmacro45636 ай бұрын
Придираетесь, ничего страшного в данном примере нет, при рефакторинге вменяемый программист организует проброс исключения
@jeepwork6 ай бұрын
Спасибо большое
@vs_9993 ай бұрын
в одной фирме внедрял подсистему, которая на основе продаж, формировала документы, которые помогали снабженцам с подтоваркой. И возник момент, когда снабженец открывал документ и что то начинал делать и до тех пор пока они не поставят флажок "принят в работу" и не запишет, то документ воспринимался системой как неактивным и при выполнении регламентного задания перемещался в архив и естественно без объектной блокировки стали возникать такие проблемы. Но если бы внедрил объектную блокировку, то система бы начала работать криво. Поэтому главный вывод, программист сам должен знать когда нужно применять объектную блокировку.
@ДенисКошкаров-м3в2 ай бұрын
Главный вывод, у вас кривая архитектура. Документ если проведен, должен применять изменения, без каких-либо галок "принят в работу". Галки и статусы в документах это зло и делается это зло с целью экономии и недостаточного понимания процесса работы.
@vs_9992 ай бұрын
@@ДенисКошкаров-м3в Погоди, а как тогда называется Статус в документе Заказы клиентов в той же УТ11 ??? Ты видимо тяжелее печатных форм ничего не делал, раз такие поспешные выводы строишь!
@ДенисКошкаров-м3в2 ай бұрын
@ и что, если статусы есть в документах в УТ, значит по другому нельзя сделать? Или УТ это священный Грааль? Открою тебе секрет, в УТ тоже есть проблемы с архитектурой.
@vs_9992 ай бұрын
@@ДенисКошкаров-м3в вот именно. Знаешь а есть еще такая штука как хотелка постановщика задачи. Для тех же самописных, управленческих документов, мне одна говорит - делай что бы я могла поставить в документе галку Принят в работу и Выполнен. И там спорить было бесполезно, типа а может создать документ, при вводе на основании которого будет меняться его статус и в случае чего можно будет отследить кто и когда это делал. А знаешь почему? Потому что им так проще и удобней. Я сделал и от меня отвязались. А вот бывают такие моменты, когда по другому просто не как. Особенно когда в моем случае, даже тех. задания не то что не было, они (постановщики) даже не знали, что и как должно работать. Тыж программист, вот я сидел придумывал.
@ДенисКошкаров-м3в2 ай бұрын
@ я тебя полностью понимаю, сам с таким постоянно сталкиваюсь. Вот и пишу, что это не есть хорошо.
@АлексейЛ-й1ш6 ай бұрын
В теории да, но в практике это крайне маловероятная ситуация. Гораздо чаще встречается ситуация, когда два оператора пытаются в режиме пользователя редактировать один и тот же документ и портят друг другу работу
@arshanskiysergey27916 ай бұрын
если пользователей много, то такая ситуация возникает не редко - постоянно кто-то какие-то документы редактирует и очень обидно бывает потерять свои изменения
@кек-ш1р6 ай бұрын
Thank you, sir
@YoR_യോഗ6 ай бұрын
Класс 👌👍
@melkiy17355 ай бұрын
Иван, коллеги. Как теперь смотреть ютуб то? У меня даже на телефоне не грузит?
@ТемноеБудущее-ч7ц6 ай бұрын
За Статус как реквизит документа, нормализация БД говорит вам Привет!
@TresModiosVir6 ай бұрын
это чтоб в списках быстрее отображалось, наверняка там еще и при проведении в какой-нибудь регистр пишется
@banitbps47516 ай бұрын
У нас и так есть массив ссылок на документы, за чем их пихать в запрос для цикла, если можно сразу идти по циклу с проверкой статуса?
@ДмитрийКравцов-у6р6 ай бұрын
Спасибо.
@AntoHAmm2 ай бұрын
Почему на курсах это не озвучивают (
@Делажитейские-ь8й6 ай бұрын
И снова здравствуйте, Иван. 🙄 все тот же вопрос: "О внешних компонентах замолвите слово? Ну да, знаю, что обещали, что обещанного три года ждут. Ждем-с уже как четвертый год 😁 или может уже был видос и мы ено пропустили? 😇
@PTolkachev5 ай бұрын
Без знания C++ туда даже не стоит лезть. Или вы думаете, что за час (2, 3, 10) растолкуют не только базу C++, но и как на нём внешние компоненты для 1С делать? А если просто объяснить, как создавать внешние компоненты, то без знания С++ вы ни чего не поймёте (будет интересно, но ни (х...) чего не понятно). p.s. На других каналах есть примеры "лайв" создания внешней компоненты. Можете "погуглить". А если хотите внешнюю компоненту для android клиента 1С, то ещё нужно знать Java - JNI и базу по созданию приложений под Android. Под IOS тоже нужны соответствующий знания, но у меня не было опыта создания внешних компонент для мобильного клиента IOS. Только для Windows, Linux и Android (в последнем случае делал драйвер сканера штрихкодов для ТСД в соответствии со стандартами Библиотеки подключаемого оборудования). А для Win/Lin делал кроссплатформенный минисервер взаимодействия. Если есть желание, можете на Infostart поискать "Сервис push-уведомлений для 1С" и "Использование встроенного сканера ТСД на Android в мобильном клиенте и мобильном приложении (драйвер сканера Android для 1С)". Там, кстати, есть ссылки на github с исходниками.
@Делажитейские-ь8й5 ай бұрын
@@PTolkachev У Ивана есть талант излагать понятным языком, может у него получится. 😁
@МихаилБалюкин6 ай бұрын
ПолучитьОбъект() тоже может вызвать исключение)) т.е. изначально попытка тоже нужна была.
@НиколайПитиримов-ы9ц6 ай бұрын
В каких случаях?
@МихаилБалюкин6 ай бұрын
например, в модуле объекта расположен код инициализации (снизу), который выполняется при любом обращении к объекту (и при получении объекта тоже), и может выдать исключение.
@arxxximed6 ай бұрын
Так все таки, расскажите подробнее почему мы пользуемся "попытка заблокировать()". А не " если заблокирован() тогда"?
@Pavel13rm6 ай бұрын
Метод Заблокирован(): Определяет, заблокирован ли документ данным объектом. В данном случае этот метод не подходит.
@Magafon6 ай бұрын
А когда блокировка будет снята с заказа, когда пользователь 2 сможет править свой заказ?
@usrzeroone6 ай бұрын
А вариант , Выбрать ДЛЯ ИЗМЕНЕНИЯ , в запросе ?
@НиколайПитиримов-ы9ц6 ай бұрын
А это для каких транзакционных блокировок актуально?
@ВладимирШаров-к5ж5 ай бұрын
Привет ошибки когда версия объекта уже изменилась)
@Mi-shutkaАй бұрын
Почему 1с не воспринимает команды от ahk
@panalike6 ай бұрын
1:46 зачем проверять проведен документ или нет, если он проведен, то даже если просто запишем его, он и так перепроведется
@EduardKarabovich6 ай бұрын
Не всегда при записи происходит проведение.
@panalike6 ай бұрын
@@EduardKarabovich если док проведен, то при записи уже проведенного документа, всегда происходит перепроведение хоть и не явное
@agni91136 ай бұрын
@@panalike 🤡
@КонстантинБулат-д1ш6 ай бұрын
Конечно нет, попробуйте программно изменить состав заказа и перезаписать, в движениях ничего не изменится.
@vladtrue48546 ай бұрын
@@panalikeэто актуально только при интерактивной записи из формы. И для настройки такого поведения даже специальное свойство формы есть "Проводить при записи" или примерно как-то так называется.
@ConstantinKubrakov6 ай бұрын
Разработчики вендора не читают стандартов. Классика жанра
@tihonkadavercian25896 ай бұрын
Эффект гонок)
@NameNotFoundDD6 ай бұрын
Рекомендуется писать ОбработкаОшибок.ПодробноеПредставлениеОшибки, вместо ПодробноеПредставлениеОшибки (если конечно не сидите на 8.3.17 и меньше). Мы же учим правильно писать)
@arxxximed6 ай бұрын
Что за оработкаОшибок? Может менеджерОбработкиОшибок? Или вы про модуль БСП?
@kuzyara5556 ай бұрын
Почему рекомендация такая?
@NameNotFoundDD6 ай бұрын
@@kuzyara555 вопрос к разработчикам платформы, не сюда.
@kuzyara5556 ай бұрын
@@NameNotFoundDD а у вас откуда эта информация про правильно/неправильно?
@NameNotFoundDD6 ай бұрын
@@kuzyara555 синтаксический помощник 1с
@Наблюдатель-к5ч4 ай бұрын
Как все упомнить...
@ЕленаПименова-д6х6 ай бұрын
Рулите, ребята!)))
@МихаилАаа-д3ю6 ай бұрын
👍
@QVRJ6 ай бұрын
Все равно док надо менять! Кто первый встал того и тапки :))) а у пользака несколько дней док может в захвате висеть!
@8tshk86 ай бұрын
Да опытные тоже так делают, когда надо разрабатываться в режиме "хренакс-хренакс и в прод", потому что вчера должно работать. Кто там за блокировки вспомнит?
@ПавелАрборайтеров6 ай бұрын
Вроде бы еще есть третий способ блокировки - с помощью объекта БлокировкаДанных?
@Pavel13rm6 ай бұрын
Это вообще другое. Это управляемая блокировка.
@ДонДигидон-т8й6 ай бұрын
Я теперь понял почему ролик называется "Программист, не пиши так". Ваня ну ладно бы склад поменять, ну ответственного, но состояние! Объясни пожалуйста хоть в комментах новичкам, что в большинстве случаев состояние надо выносить в регистр.
@rustmacro45636 ай бұрын
В целом резонное замечание, но СостояниеЗаказа - именно реквизит в данной демобазе от 1С, думаю, что в коротком ролике Иван хотел показать именно момент с блокировками, а не архитектурой 1С.
@Garik_Vorota6 ай бұрын
На самом деле это мелкая проблема. Большая проблема, что первый пользователь может добавить в массив не свои документы. Поэтому должна быть проверка на право работы с контрагентом, организацией , складом и т.п.
@СергейИванов-ц5д6х6 ай бұрын
Это уже совсем другая тема.... И она гораздо объёмнее. Хотя и сам способ изменения статуса заказов (ручками) - это полная лажа. Но как пример для подачи инфы по программированию очень наглядный. А Иван - молодца!
@TresModiosVir6 ай бұрын
получитьобъект так же может вызвать исключение - отгадай когда
@НиколайПитиримов-ы9ц6 ай бұрын
Когда этого объекта нет в БД. Только исключения не будет. Будет Неопределено вместо объекта.
@юзверь-9й3 ай бұрын
Всё таки какая-то странная логика у 1С. Пользователь начал редактировать документ, возникла блокировка, но процедура в другом сеансе увидит её только тогда, когда сама попытается наложить блокировку. А если не попытается, то ей можно всё. Как будто выхватывает надкусанный бутерброд из чужого рта.
@ДенисКошкаров-м3в2 ай бұрын
Почему странное, попробуй заказать билет на каком-нибудь сайте, система тебе позволит открыть форму заказа билета, но если после открытия, другой пользователь билет купит, то при попытке купить этот билет, тебе вылезет сообщение, что билетов больше нет.
@talas123412 ай бұрын
Vanja
@cilantro_bumblebee6 ай бұрын
сообщитьпользователю не правильно, правильно ОбщегоНазначения.СообщениеПользователю
@kuzyara5556 ай бұрын
Почему неправильно?
@СергейИванов-ц5д6х6 ай бұрын
"общегоНазначения" - это если в конфе имеется БСП. А Иван правильно делает, что показывает платформенный функционал.
@uppinua6 ай бұрын
Человек на видео исправил одну ошибку и родил другую. Попытка не для этого используется и да есть метод Заблокирован(). За Попытка и вывод такого сообщения нужно увольнять.
@kolya23236 ай бұрын
Какую другую ошибку он сделал? Все правильно у Ивана
@uppinua6 ай бұрын
@@kolya2323 любое действие можно реализовать без Попытка, Попытка - это ошибка программиста, которую ему лень переписывать..
@jkobich6 ай бұрын
Иван все верно описал, какую такую ошибку он совершил?
@vadimsergeev78746 ай бұрын
Какая разница, ну проверишь ты на заблокирован, и так же в исключение упадешь и все, так что иди Радченко заново учи)
@chestimevshiy62836 ай бұрын
он же буквально написание из справки повторил, алеша)
@LifterAndy6 ай бұрын
Нет никаких программистов 1С. 1С - это не программирование это чушь собачья
@МаксимШипилов-ц5ь6 ай бұрын
Да, так их, этих 1Сников 😅
@arxxximed6 ай бұрын
А что? А почему? а куда они пропали?
@kuzyara5556 ай бұрын
А как называть людей которые 1с занимаются?
@Pavel13rm6 ай бұрын
Да хоть как их называй. Получают они неплохо и это главное.
@rustmacro45636 ай бұрын
Тебя в детстве Нуралиев покусал что ли, откуда такая токсичность? Программирование - это создание или модификация программы, если для тебя данное определение трудное, то лучше больше читай, а не пиши.