Веселый1С
Веселый1С
  • 34
  • 243 056
Транзакции и исключения в 1С. Как правильно готовить?
Пытаемся возобновить традицию выпуска занимательных видео на Веселом 1С.
Сегодня речь пойдет об исключениях в транзакциях. Отменяет ли исключение транзакцию? Что будет если исключение возникло? Кто должен управлять состоянием транзакции и как?
Обо всем этом - в видео!
Материалы, упомянутые в видео:
- стандарт разработки 783 its.1c.ru/db/v8std#content:783:hdoc
- статья "Вы не умеете работать с транзакциями" habr.com/ru/post/419715/
------
Attributions:
Background image by upklyak on Freepik
Переглядів: 10 934

Відео

Красное на желтом (архивное демо)
Переглядів 2,5 тис.Рік тому
Данное видео мы хотели записать на студии с красивыми кадрами, живыми инструментами и вот это всё, но видимо не судьба. Мы написали эту песню к игре "Что, Если, Когда" в 2021г. для новогодней игры. На нашем канале она не выкладывалась, исправлем данное упущение. Авторы текста: Андрей Овсянкин, Никита Федькин Если кто-то захочет включить в своё репертуар, то вот оригинал шпаргалки, в которую исп...
1С:Предприятие.Элемент. Разбор анонса.
Переглядів 16 тис.3 роки тому
Очередной партнерский семинар принес нам много интересно. Разбираемся, что же скрывается за загадочным словосочетанием 1С:Предприятие.Элемент, анонсированным нашей 1Сной Поднебесной. Анонс на Зазеркалье: wonderland.v8.1c.ru/blog/novaya-tekhnologiya-razrabotki-prilozheniy/
Автоматический поиск повторяющихся выражений в коде 1С
Переглядів 3,8 тис.3 роки тому
Статический анализатор кода 1С в действии. Демонстрируем работу улучшенной диагностики "Идентичные подвыражения". Сайт проекта: 1c-syntax.github.io/bsl-language-server/ Ссылки на смежные проекты: Диагностики для SonarQube 1c-syntax.github.io/sonar-bsl-plugin-community/ Диагностики для EDT: github.com/otymko/bslls-connector-for-edt Диагностики для конфигуратора: otymko.github.io/phoenixbsl/ Диаг...
Сверхбыстрый Журнал Регистрации 1C с помощью Yandex Clickhouse
Переглядів 12 тис.3 роки тому
Ни для кого не секрет, что поиск в журнале регистрации 1С очень медленный. И в то же время, журнал регистрации несет в себе большое количество интересной аналитической информации: данные о возникавших ошибках, проблемные модули, сбойные фоновые задания. Все лежит в ЖР, но достать проблема. Больше нет! Теперь все данные ЖР под рукой, за секунды и с нужной детализацией. Скрипты, используемые в ви...
Сверхбыстрый код 1С. Анонс функциональности 1Script.Native с JIT на борту
Переглядів 8 тис.3 роки тому
В 1Script 2.0 появится новый компилятор, позволяющий превращать код 1С в статически типизированный байткод .NET с поддержкой JIT-трансляции в железный машинный код. В этом видео я покажу его возможности на примере уже знакомого вам Решета Эратосфена. Это пушка, ребята!
Квартирник - ОдинЭС
Переглядів 3,3 тис.3 роки тому
На правах послепервого апреля. Внимание, содержит нецензурную лексику. Музыка: Сергей Михалок - группа "Ляпис Трубецкой". Слова: Андрей Овсянкин, Никита Грызлов, Анна Волынская.
В чем подвох с управляемыми блокировками 1С? Как правильно их применять?
Переглядів 18 тис.3 роки тому
Вы наверняка знаете, что такое управляемые блокировки и зачем они нужны. Но в их применении есть небольшой подвох. Дело в том, что ими надо уметь пользоваться правильно. Одно из таких правил применения блокировок мы и рассмотрим!
Кто быстрее: Исполнитель, 1Скрипт или 1С? Гонка века!
Переглядів 4,5 тис.3 роки тому
Кто быстрее: Исполнитель, 1Скрипт или 1С? Гонка века!
Разбор стандарта разработки #733 - Эффективное обращение к виртуальной таблице «Остатки»
Переглядів 11 тис.3 роки тому
Разбор стандарта разработки #733 - Эффективное обращение к виртуальной таблице «Остатки»
Как работают стековые машины в языках программирования.
Переглядів 5 тис.3 роки тому
Как работают стековые машины в языках программирования.
Асинх/Ждать или Как устроены асинхронные процедуры в 1С
Переглядів 14 тис.4 роки тому
Асинх/Ждать или Как устроены асинхронные процедуры в 1С
Обзор 1С:Исполнитель. Новости с пылу с жару
Переглядів 10 тис.4 роки тому
Обзор 1С:Исполнитель. Новости с пылу с жару
Неделя с 1С:EDT. Отзыв после погружения
Переглядів 6 тис.4 роки тому
Неделя с 1С:EDT. Отзыв после погружения
Обзор новейшей 1C:EDT 2020 года. Распаковываем и смотрим, что внутри.
Переглядів 7 тис.4 роки тому
Обзор новейшей 1C:EDT 2020 года. Распаковываем и смотрим, что внутри.
Docker для 1С-ников. Создаем свои образы, изучаем dockerfile
Переглядів 7 тис.5 років тому
Docker для 1С-ников. Создаем свои образы, изучаем dockerfile
Отладчик 1Script. Как пользоваться, настраивать, подключать.
Переглядів 3,8 тис.5 років тому
Отладчик 1Script. Как пользоваться, настраивать, подключать.
Docker для 1С-ников. Введение
Переглядів 19 тис.5 років тому
Docker для 1С-ников. Введение

КОМЕНТАРІ

  • @pozavtrakakal
    @pozavtrakakal 24 дні тому

    В си# колбэков не помню, а вот в с++ их дох и больше

  • @shootnicktm9445
    @shootnicktm9445 Місяць тому

    Жаль, что нам так и не удалось заслушать начальника транспортного цеха !

  • @_The_Witch_
    @_The_Witch_ Місяць тому

    Класс, благодарю

  • @RuslanBezniuk
    @RuslanBezniuk Місяць тому

    материться зачем ????? Андрей, ты забыл, что не все люди употребляют гнилые слова ?

  • @shootnicktm9445
    @shootnicktm9445 2 місяці тому

    Прошел год, пересмотрел. Нашел кой-чего новое )) Полезное.

  • @UTubesNameIsAShit
    @UTubesNameIsAShit 3 місяці тому

    Отличный видос! Полностью развеял мой предпросмотровый скепсис о его полезности :)

  • @UTubesNameIsAShit
    @UTubesNameIsAShit 3 місяці тому

    Отличный видос, подчеркивает то, что не всем очевидно. Спасибо! Но все-таки было бы лучше, если вы не тыкали. Ну и разнести 2 клиента предприятий на правую и левую часть экрана добавило бы наглядности. Лайк!

  • @common2641
    @common2641 3 місяці тому

    Сразу видно кто 1Сник, а кто нет

  • @Lex-m3e
    @Lex-m3e 4 місяці тому

    Как запустить службу? а то шибка "1053 служба не ответила на запрос своевременно" и чтобы ее запустить нужно что-то написать тут и что именно?: "Mask": "upp_main", "Template": "[IBNAME]_el"

    • @Lex-m3e
      @Lex-m3e 4 місяці тому

      Если запустить C:\elexporter\EventLogExporter.exe/dll то просит установить .NET 5.0 Runtime (v5.0.17) Установил. И теперь жалуется на это: Unhandled exception. System.Exception: Database name is not specified at OneSTools.EventLog.Exporter.Core.ClickHouse.ClickHouseStorage.Init() at OneSTools.EventLog.Exporter.Core.ClickHouse.ClickHouseStorage..ctor(ILogger`1 logger, IConfiguration configuration) at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitIEnumerable(IEnumerableCallSite enumerableCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope) at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass1_0.<RealizeService>b__0(ServiceProviderEngineScope scope) at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope) at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider) at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host) at OneSTools.EventLog.Exporter.Program.Main(String[] args)

  • @Lex-m3e
    @Lex-m3e 4 місяці тому

    Что это за ошибка?: ! collector Warning pull access denied for v8logexporter, repository does not exist or may require 'docker login': denied: requested access to...

    • @Веселый1С
      @Веселый1С 4 місяці тому

      Вы какую команду выполняете? Образ собрали предварительно?

  • @mebelsv8835
    @mebelsv8835 4 місяці тому

    Для работы этого параметра необходимо включить поддержку выходных параметров это как включить в VS?

  • @user-sl1tw9vg8x
    @user-sl1tw9vg8x 6 місяців тому

    При этом какой бы КОНКРЕТНЫЙ товар не заблокировали, блокируются абсолютно ВСЕ товары. Элемент.УстановитьЗначение("Товар", БлокируемыйТовар) - не работает как надо В чем подвох?

    • @user-sl1tw9vg8x
      @user-sl1tw9vg8x 6 місяців тому

      @user-zr4uw5ng3r Полный код в видео. Решил повторить, но при тестировании попробовал выбрать другую (не заблокированную в первом сеансе) номенклатуру. В результате второй сеанс тоже завис. Т.е. блокируется весь регистр

  • @alexramov4165
    @alexramov4165 6 місяців тому

    Ура Ваша работа помогает миллионам программистов 1С в стране))) Я немного научился пойду стандарт учить. Кто если не я)))) Нас миллионы, но всегда нужны мы)))

  • @ЛёликБолик-в7р
    @ЛёликБолик-в7р 7 місяців тому

    Единственный кто нормально объяснил. Эх мне бы такого учителя. Со всей благодарностью!

  • @igor5733
    @igor5733 7 місяців тому

    Но я нихера не понимаю: Зачем использовать асинхронные методы - если они один йух блокируют форму? Кажется я чего то не понимаю в асинхронности. Фирма 1С пишет «блаблабла потому что браузеры блокируют всплывающие окна поэтому сделали асинх и тд», но ведь все равно в тонком клиенте все блокируется когда вызываешь асинх методы / функции.

    • @igor5733
      @igor5733 7 місяців тому

      @user-zr4uw5ng3r ну я вот прям сейчас сижу за компьютером. У меня висит диалог выбора файла с оповещением. И я не могу никуда переключиться пока не закрою диалог. как называется состояние если: пока я не закрою диалог я не смогу переключиться в другую форма?! . Это блокировка интерфейса видимо, поток кода выполняется дальше, это я проверил отладчиком, только какой смысл всей этой псевдо-асинхронности если Мышкой ты все равно в программе работать не можешь…

  • @igor5733
    @igor5733 7 місяців тому

    Автор молодец, «я нахер устал». Правильно. Нехер особо заморачиваться. Хорошая подача контента 😂

  • @skillmantd
    @skillmantd 7 місяців тому

    Никита крут. Да хочется ровняться на ровняться.

  • @Vladimir_Erovenko
    @Vladimir_Erovenko 7 місяців тому

    Отличный преподаватель, Андрей Овсянкин, учился у него на курсах 1С: Разработчик с нуля от Нетологии

  • @Rybalka_dlya_dushi
    @Rybalka_dlya_dushi 8 місяців тому

    Всем привет! Что только не делал... При запуске GitLab не предлагает создать пароль, а спрашивает сразу. Стандартный не подходит. Пробовал менять в конфигурации, не принимает... Кто сталкивался? Что подскажите?

    • @Rybalka_dlya_dushi
      @Rybalka_dlya_dushi 8 місяців тому

      И всё таки я поменял root_password в контейнере. docker exec -it a4774bc84168 /home/git/gitlab/Rakefile "gitlab:password:reset[root]"

  • @kefmdksalw
    @kefmdksalw 8 місяців тому

    Интересно звучит клавиатура. Какая модель?

  • @a-fedotov
    @a-fedotov 8 місяців тому

    Мощно, стильно, современно!

  • @EvgeniyNorthern
    @EvgeniyNorthern 8 місяців тому

    Здравствуйте. Можно коротко ответить для чего изобрели эту технологию? Т.е из описания понятно , что идет расширение 1С:Предприятия, но почему нельзя было совершенствовать основную платформу, что явилось камнем преткновения?

    • @Веселый1С
      @Веселый1С 8 місяців тому

      Думаю, полной правды мы не узнаем никогда :) Некоторые продукты проще переписать с нуля, чем пытаться натянуть сову на старый продукт. В Элементе другая архитектура, подходы к работе, язык в конце концов (как с точки зрения пользователя, так и под капотом). Система лицензирования тоже отличается. Да, можно было бы назвать это 1С:Предприятие 9, но пока вендор открещивается от этой цифры :)

    • @EvgeniyNorthern
      @EvgeniyNorthern 8 місяців тому

      @@Веселый1С спасибо большое за ответ.

  • @Дмитрий-г2м7е
    @Дмитрий-г2м7е 8 місяців тому

    Спасибо, реально понятное видео !

  • @NAlex7777
    @NAlex7777 9 місяців тому

    Кайтеру привет. Можно следующей зимой сгонять в Муйне в компании.

  • @АндрейЧернов-э2ъ
    @АндрейЧернов-э2ъ 9 місяців тому

    Питончик бы еще замерить, тоже скриптовый язык )

  • @ЕленаНепомнящая-ъ8с
    @ЕленаНепомнящая-ъ8с 9 місяців тому

    Спасибо! Прояснили!

  • @ВасилийЗубков-ц9ъ
    @ВасилийЗубков-ц9ъ 10 місяців тому

    спасибо за скример

  • @ЯрославМизгирев-р2р
    @ЯрославМизгирев-р2р 10 місяців тому

    Огонь парни! Надо еще...

  • @ЯрославМизгирев-р2р
    @ЯрославМизгирев-р2р 10 місяців тому

    всегда актуально)))

  • @pavlo1c
    @pavlo1c 10 місяців тому

    все по видео, но точка останова не ставится нигде :( 1.86.2

    • @pavlo1c
      @pavlo1c 10 місяців тому

      @user-zr4uw5ng3r вообще красный кружок не ставит

    • @pavlo1c
      @pavlo1c 10 місяців тому

      @user-zr4uw5ng3r только то что вы в видео сказали

  • @_Dakata
    @_Dakata 10 місяців тому

    Стараюсь работать с транзакциями правильно, всегда закрываю или отменяю их, возможно излишне часто используя ТранзакцияАктивна(). Но недавно попал на "В данной транзакции уже происходили ощибки". И попал на нее когда в исключении использовал Сообщить(Док), где Док - ДокументОбъект который не записался в этой транзакции. И до сих пор не понимаю почему попытка сообщить в каком документе произошел сбой вызвала такую ошибку?

    • @_Dakata
      @_Dakata 10 місяців тому

      @user-zr4uw5ng3r Представление ... не сообразил. Спасибо.

  • @ДГоу
    @ДГоу 11 місяців тому

    Ну когда же новое видео 😢

  • @airats2573
    @airats2573 11 місяців тому

    Да, смотрю на котиков

  • @pavlo1c
    @pavlo1c 11 місяців тому

    а никто не делал в yml запуск джобов по условию поясню: пайплайн по шедулеру каждый 15мин запускает джоб, в нем дергается сервис и проверяется есть ли событие на запуск сборки. Если нет, то должно без ошибок отработать, но дальше не начать собирать и наоборот. Сейчас если ошибка то падает и не идет, всё хорошо, но каждые 15мин приходит письмо о том, что пайплайн упал :( А следить за "реальным" падением нужно. была идея сделать глобальную переменную и присвоить по умолчанию [CODE] variables: start_pipeline: 0 stages: - check_issue - deploy get_issue_release: stage: check_issue script: - pwsh .Scripts\track.ps1 1 allow_failure: false only: - schedules - manual after_script: # тут не работает IF а идея тут или в секции Script (что тоже часто нужно) словить возврат запуска команды и выставить $start_pipeline=1 - echo %CI_JOB_STATUS% - if: '$CI_JOB_STATUS == "success"' variables: start_pipeline: 1 #а уже в след. stage писать вместо only: что то типа rules: - if: '$start_pipeline == 0' when: never [/CODE]

  • @MrGvk777
    @MrGvk777 11 місяців тому

    А почему X2Go не заходит вместо xRDP?

  • @LDO6
    @LDO6 11 місяців тому

    Зачем они этот косяк "В результате любой запрос к данным прежде всего обрабатывается собственным менеджером транзакционных блокировок" в статье оставляют? Все что написано в оф документации надо перепроверять.

  • @maratibragimov842
    @maratibragimov842 11 місяців тому

    Заметил гитару, играешь? Я тоже играю

  • @leonidmessin22
    @leonidmessin22 11 місяців тому

    Яхуюнит - топчик💣💥

  • @nanami265
    @nanami265 11 місяців тому

    А можно ли использовать ПРАВОЕ соединение с виртуальной таблицей? По идее же в этом случае виртуальная таблица соберётся в таком же виде, как и вообще без соединений

    • @Веселый1С
      @Веселый1С 10 місяців тому

      Обычно - да. Если не вешается планировщик :)

  • @dac8289
    @dac8289 11 місяців тому

    Спасибо за объяснение!!!

  • @klim0v
    @klim0v Рік тому

    Класс: спасибо за ваш профессионализм, ни когда бы не подумал что при изучении смарт контрактов попаду на канал по 1с 😀👍

  • @krutoyinfo
    @krutoyinfo Рік тому

    Ишь ты какой метросексуал, кремушками пользуется. Еще небось вечерами в ночнушке перед зеркалом красуешься )))

  • @krutoyinfo
    @krutoyinfo Рік тому

    Вроде здоровый мужик, а к логопеду сходить не догадался...

  • @krutoyinfo
    @krutoyinfo Рік тому

    Заебись когда людям делать нехуй

  • @user-ilyap
    @user-ilyap Рік тому

    Добрый вечер. Так и не понял про передачу из ВК в 1С каких-нибудь коллекций. Вообще ничего нельзя? Или можно как-то обходными путями? Ну и про передачу в ВК коллекций тот же вопрос...

  • @RootOfLife
    @RootOfLife Рік тому

    Классное видео, огромное спасибо!

  • @Кирыч-з2ж
    @Кирыч-з2ж Рік тому

    Браво !

  • @morskoj
    @morskoj Рік тому

    не могу запустьть отладку, VS код не может найти мой файл, путь прописываю прямо ему в лоб!!!!!! все равно в ошибку, Cant't lanuch debugee (не удаеься найти указанные файл)!"!!!!

  • @krutoyinfo
    @krutoyinfo Рік тому

    Придумывают какието дибильные кейсы и кучу статей по из исправлению пишут 🤦‍♂️