Доработка 1С. Запрет редактирования проведенных документов

Sdílet
Vložit
  • čas přidán 1. 09. 2022
  • КАК ДОБАВИТЬ ФУНКЦИОНАЛ ЗАПРЕТА РЕДАКТИРОВАНИЯ ПРОВЕДЕННЫХ ДОКУМЕНТОВ В 1С?
    Привет, друзья! Иногда нужно установить запрет на редактирование уже проведенных документов в открытом периоде. Сегодня мы покажем как, реализовать такой функционал в типовой конфигурации 1С, не снимая конфигурацию с поддержки, используя механизм расширений в 1С.
    Расширение для 1С:Бухгалтерия (базовая) 3.0:
    clck.ru/x9nty
    🔵Записаться на курс "Профессия программист 1С: с нуля до профи": ironskills.by/programmist-1c
    Поддержать канал можно по ссылке: donate.stream/ya410011655962993
    #1с с #ironskills
    ---
    С уважением, команда IRONSKILLS

Komentáře • 116

  • @nurtikplayzygggyy8904
    @nurtikplayzygggyy8904 Před 28 dny +1

    Самый лучший канал по Разработке в 1С.
    В будущем если будут вебинары с удовольствием буду присутствовать!

    • @ironskills-1c
      @ironskills-1c  Před 19 dny

      Спасибо за просмотр и комментарий)

  • @user-li5gg5tx3d
    @user-li5gg5tx3d Před rokem +10

    Комментаторы, вы тут все такие "на опыте". А реально, по-любому пишите говно-код, который потом не разобрать. Изучайте принципы ООП и SOLID. Это единственный 1с программист, который доходчиво объясняет в ютубе) Жду новый контент

    • @user-qv5oh5cx4c
      @user-qv5oh5cx4c Před rokem +3

      Может ты тогда почитаешь про нормальные формы баз данных? Ничего что он их тут нарушает? " Принципы солид ООП", а базу по нормальным формам ? Какое склеивание строк, какая константа с неограниченной длиной. Регистр сведений - самый лучший вариант. При этом я не говорю, что это плохо, рынок хочет быстро и дешево, так пусть получает такие решения

    • @mendicator4319
      @mendicator4319 Před rokem

      @@user-qv5oh5cx4c его решение изящнее, какой нах регистр сведений

    • @user-qv5oh5cx4c
      @user-qv5oh5cx4c Před rokem +1

      @@mendicator4319 и правда, а зачем мы тогда вообще заморачиваемся и храним данные в различных таблицах? Может тогда также через запятую в строку, и в константу, у нее же неограниченная длина, ой как удобно 😍

    • @mendicator4319
      @mendicator4319 Před rokem +1

      @@user-qv5oh5cx4c константа тоже таблица, причем конкретно эта мизерного размера. Чтение скуля практически мгновенное. Разницы что ты будешь читать из регистра или из такой константы нет. И да, в 1С нет нормальных форм базы данных, везде избыточность

    • @user-qv5oh5cx4c
      @user-qv5oh5cx4c Před rokem

      @@mendicator4319 да, одна таблица на одну константу? А вот в старых платформах, которые до сир пор ходят, это одна таблица, где хранятся все константы. ОЧЕНЬ вкусно туда записывать большие строки. Я о том, что да, по скорости это будет одно и тоже. Но формы придумали не просто так, это масштабируемость. Если завтра вам придёться добавить новую колонку к этой табличке, или поменять логику работы? Как же удобно работать со стройкой и раскладывать ее постоянно, ну просто прекрасно. Да и правда, избыточность просто необходима на сегодняшний день, некоторые правила просто морально устарели, но блин, первым правилом пользуются все на уровне интуиции. Зачем пихать разнородную информацию в одну сущность, это неправильно.

  • @msg62msg59
    @msg62msg59 Před rokem +5

    Иван, огромное спасибо! Поясняешь каждое действие, и всё понятно.

  • @YuryBatiaev
    @YuryBatiaev Před rokem +3

    Большое спасибо! Форма подачи материала сжатая и, на мой взгляд, лучшая из всех! Только недавно делал подобное, только ещё было условие, чтобы пользователь с определённой ролью не мог снимать пометку проведения.

  • @user-tq2bt4mk1s
    @user-tq2bt4mk1s Před rokem +2

    Огромное спасибо за видео! Формат нравиться, хорошо что задачу Вы показали от начала и до конца, на типовой - это супер!

  • @ronnnnie85
    @ronnnnie85 Před rokem +3

    Спасибо. Отличный формат. Особенно интересны задачи с типовыми конфигурациями.

  • @AlisherKarimov96
    @AlisherKarimov96 Před 6 měsíci +1

    Отлично! Вот это я удачно попал. Как раз на работе поставили задачу разработать дополнительный запрет для определенных док-в, в том числе в разрезе пользователей. Но можно ведь реализовать такой же, более полноценный и гибкий инструмент.
    Спасибо Иван. Разбор задач класс👍

  • @timurdanilenko3582
    @timurdanilenko3582 Před rokem +9

    Более правильным, в данном случае, было бы врезаться в метод ИзменениеЗапрещено. Сначала проверим наш запрет, затем (если по нашему запрету можно редактировать), вызовем метод из конфигурации (ПродолжитьВызов). Такая реализация позволит не только интерактивно запрещать редактировать, но и когда документ записывается программно.

  • @user-rs8ub7gd1d
    @user-rs8ub7gd1d Před rokem +2

    Просто супер. Очень грамотные и толковые пояснения. Автору респект и уважуха.

  • @Ren6684
    @Ren6684 Před rokem +1

    Видео просто находка!!! Лайк однозначно! Давай больше таких видео!!!!

  • @user-cu2bb6bm7n
    @user-cu2bb6bm7n Před rokem +1

    Спасибо большое, отличное видео, особенно для тех, кто только начинает.

  • @190slava190
    @190slava190 Před rokem +1

    Спасибо. Очень хорошая подача материала.

  • @romanjuravleff5728
    @romanjuravleff5728 Před rokem +4

    спасибо за очередную полезную лекцию. хотелось бы еще увидеть запрет видимости чего либо (справочники/документы/др)

  • @vitalikos2010
    @vitalikos2010 Před rokem +1

    Огромное спасибо! Особенно за принцип выбора элементов "галочками", а то я уже отчаялся в попытка сделать такой механизм выбора...

  • @user-hj8gp8nu6d
    @user-hj8gp8nu6d Před 6 měsíci +1

    Всё понятно. Вопросов нет. Препод супер!

  • @user-eq2cz8ce7o
    @user-eq2cz8ce7o Před rokem +1

    Просто, но изящно. Спасибо!

  • @litmagics
    @litmagics Před rokem

    Уровень объяснения материала у Ивана в режиме - БОГ!

  • @kalambur729
    @kalambur729 Před rokem +1

    Отличный формат! Без воды. Просьба указывать версию платформы.

  • @user-cy1zb5hc6j
    @user-cy1zb5hc6j Před rokem +1

    Было очень интересно, Спасибо!

  • @PTolkachev
    @PTolkachev Před rokem +2

    Процедуру "ОбновитьВидимостьВидовДокументов" можно сделать НаКлиентеНаСервереБезКонтекста и параметром передавать форму. Тогда не будет лишнего (и не нужного) серверного вызова при изменении значения реквизита на форме.

  • @user-mk3cq9ko7s
    @user-mk3cq9ko7s Před rokem +1

    Отличная подача, молодец! В 1С давно, но было интересно!! Единственное, тут наверно платформа была с лицензией проф, так как на базовой лицензии расширения вроде не работают.

  • @user-wv1wh7sd9p
    @user-wv1wh7sd9p Před 4 měsíci

    Спасибо! Прекрасный урок!!!!

  • @cam_180
    @cam_180 Před rokem +1

    Спасибо, отличный материал.

  • @MrDoctorRoot
    @MrDoctorRoot Před rokem +2

    Спасибо за видео, всё по делу. Единственное не хватает проверки на выбор хоть одного документа из списка)

  • @Imstalcon
    @Imstalcon Před rokem +1

    Отличное видео, узнал много нового!

  • @vladtrue4854
    @vladtrue4854 Před rokem +1

    Отличное видео 👍

  • @Feofan4ik
    @Feofan4ik Před rokem +1

    Как всегда высшая оценка по шкале крутости.

  • @user-fp7jn9ev4v
    @user-fp7jn9ev4v Před rokem +1

    Суперпонятное объяснение!

  • @mynumbers5746
    @mynumbers5746 Před rokem

    Формат разбора задачь ОГОНЬ ! ПРям чувствуешь как НЕО в матрице, впитыешь 1сКунфу. И по скорости видео тоже отлично. Что-то по архитектуре можно было добавить, если бы вы комментировали, что такой-то подход ведёт к нагрузке сервера, другой подход более трудоёмкий. И обошлись без запросов в этот раз. Лайк501

  • @user-rn2ml9lp7b
    @user-rn2ml9lp7b Před rokem

    Класс, спасибо!

  • @vika5247
    @vika5247 Před rokem

    Спасибо огромное!!! ♥

  • @user-xd1ye6bq7k
    @user-xd1ye6bq7k Před 6 měsíci +1

    Видео очень познавательное.

  • @user-pc9wg4jt8l
    @user-pc9wg4jt8l Před rokem +1

    Класс!

  • @user-pm3lr8nd9p
    @user-pm3lr8nd9p Před rokem +2

    Видео познавательное, буду использовать новые знания в работе. Хотелось бы видео по созданию внешней обработки для регламентного задания(запуск команд объектов, формирование файлов и отправка на почту клиентам)

  • @PTolkachev
    @PTolkachev Před rokem +3

    Я бы не стал помещать пустую строку в константу "IS_ИменаЗапрещенныхДляРедактированияДокументов" если выбрали вариант запрета отличный от "Использовать для выбранных". Это позволило бы сохранять список документов в случае, если, например, потребовалось временно отключить запрет. А в реализованном варианте в таком случае придётся вспоминать, какие именно документы были запрещены и заново проставлять все нужные флаги.

  • @user-gk6zr6ql7g
    @user-gk6zr6ql7g Před měsícem

    Респект Вам🎉

  • @shuvol7516
    @shuvol7516 Před rokem +1

    Иван, спасибо за новое видео, как всегда, все очень ясно и понятно (кто ясно мыслит, тот ясно излагает), небольшое уточнение, вы показывали на БП базовой, в базовую версию не получится подключить расширение(кроме патчей 1с), если она не подключена к полной версии платформы, стоит это уточнить для желающих повторить

    • @ironskills-1c
      @ironskills-1c  Před rokem +1

      Согласен, упустил этот момент. Спасибо большое, в будущем буду стараться упоминать такие вещи)

  • @OspanovSerik
    @OspanovSerik Před 8 měsíci

    Супер!

  • @WhoAmI-sx6fb
    @WhoAmI-sx6fb Před rokem +1

    А есть список плана по видео? Когда примерно ждать обновление не типовых и настройка sql и 1с сервера кластера

  • @provseiobovseh
    @provseiobovseh Před rokem +1

    Круто

  • @user-vw1ow5fl4e
    @user-vw1ow5fl4e Před rokem +1

    Как всегда, ясно-понятно!
    Иван, хотелось бы разобраться, как через расширение редактировать, вывести пользовательскую колонну в табличную часть Приходная накладная с (цена товара в usd)
    Спасибо. Круто!

    • @tym1980
      @tym1980 Před rokem +1

      откройте форму в конфигурации, в разделе "реквизиты", и основной реквизит (как правило это Объект) поместите в расширение. Только после этого можно изменять форму в расширении

  • @VasEkStart
    @VasEkStart Před 10 měsíci +1

    очень полезно было посмотреть, качественно поданный материал. только наверное надо было бы еще и по правам уточнить, т.к. в данном случае эта схема будет работать только у пользователя с правами Администратора, всем остальным же доступ к документам будет просто закрыт, независимо от установленных значений в расширении.

    • @ironskills-1c
      @ironskills-1c  Před 9 měsíci

      Спасибо за дополнение)

  • @user-zq8fw9ms1s
    @user-zq8fw9ms1s Před rokem +1

    Спасибо за видео! Формат нравится. Был пропущен момент с переносом галок справа налево.

  • @letoosenpapirosim
    @letoosenpapirosim Před 3 měsíci +1

    При проверке документа на возможность редактирования, лучше сначала проверять включена ли такая настройка, нужно нам вообще что-то проверять, а потом что за объект, какие там документы запрещены и тп.

    • @ironskills-1c
      @ironskills-1c  Před 2 měsíci

      Спасибо за комментарий)

  • @vladislavvassiliev7482

    При проверке вхождения документа в список запрещённых, не быстрее было бы искать в строке-константе название документа? Конечно, добавив ";" в начало и с конец обеих строк.

  • @user-xo3xy5fb8t
    @user-xo3xy5fb8t Před 9 měsíci +1

    Спасибо за видео! Формат очень нравится. Подскажите, пожалуйста, чем можно заменить использование констант, т.к. типовая конфигурация в режиме совместимости 8.3.14, а константы в данном режиме не поддерживаются.

    • @ironskills-1c
      @ironskills-1c  Před 9 měsíci +1

      Здравствуйте!) Можно создать план видов характеристик (ПВХ), в нём реквизит "Значение", и хранить предопределенные значения в этом ПВХ)

    • @user-xo3xy5fb8t
      @user-xo3xy5fb8t Před 9 měsíci

      Спасибо!@@ironskills-1c

  • @Ren6684
    @Ren6684 Před rokem +2

    Можешь сделать видео? Есть обработка и на стороне сервера происходит длительная операция например нужно много документов перебрать каким то оброзом изменить. И что бы пользователь не видел крутящиеся колесеко, вывести прогресс бар, которое покажет сколько еще ждать

    • @ironskills-1c
      @ironskills-1c  Před rokem +1

      Спасибо за идею, Антон, постараемся сделать что-то подобное)

  • @user-mr3qg2sv8r
    @user-mr3qg2sv8r Před rokem +1

    Большое спасибо за Ваш труд. Можно уточнить по одному моменту: для чего раскладывать строку в массив, для поиска, а не искать сразу в строке? Это оптимальнее для скорости поиска или какая-то другая причина? Или просто приведен один из вариантов возможной реализации? Интересуюсь без "задней мысли", просто при использовании строк с разделителями как варианта некого списка, я произвожу поиск сразу в этой строке с разделителями (естественно если такая строка относительно небольшого размера), поэтом если мой вариант медленнее или затратнее по памяти, я буду использовать Ваш метод.

    • @ironskills-1c
      @ironskills-1c  Před rokem

      Здравствуйте, Дмитрий!) В видео показан лишь пример реализации, искать в строке тоже можно)

    • @denisbabiuc8389
      @denisbabiuc8389 Před 11 měsíci

      @@ironskills-1c Вот тоже самое думал при просмотре видео (насчет массивов и строк). Зачем в цикле создавать массив, а потом из него строку с разделителями. Неужели нельзя было сразу в цикле создавать строку константы добавляя виды документов? Огромное спасибо за Ваш труд! Всегда рад Вашим новым видео. Удачи!

    • @denisbabiuc8389
      @denisbabiuc8389 Před 11 měsíci

      @@ironskills-1c Ниже увидел все за и против.

  • @andreyblokhin6195
    @andreyblokhin6195 Před rokem +1

    Здравствуйте! Спасибо за видео! Скажите, почему сразу после
    ...
    ИмяДокумента = МетаданныеОбъекта.Имя;
    ИменаЗапрещенныхДокументов = Константы.IS_ИменаЗапрещенныхДляРедактированияДокументов.Получить();
    ...
    Мы сразу не используем
    ...
    Если СтрНайти(ИменаЗапрещенныхДокументов, ИмяДокумента) Неопределено Тогда
    ...
    а получаем из строки массив строк МассивЗапрещенных?

    • @dasant4ever929
      @dasant4ever929 Před rokem +2

      ИмяДокумента может быть частью имени другого документа.

  • @Rio3000ful
    @Rio3000ful Před rokem +4

    Формат разбора задач супер. Лайк! p.s. иконку с автором бы поменьше сделать. в ~1,5 раза и фоновую музыку не включать))

    • @user-uc4cp1tb9i
      @user-uc4cp1tb9i Před rokem

      А у Вас свой канал есть? Или Вы только на чужих каналах советы раздаете?

  • @PTolkachev
    @PTolkachev Před rokem +1

    После внедрения данного решения "как есть" сразу пользователи прибегут с жалобами, что они не могут документы открыть, потому что у них ошибка прав доступа. Т.к. текущая реализация работает только под полными правами. Всем остальным ролям чтение новых констант не доступно и при попытке прочитать их значение в функции проверки приведёт к данной ошибке.
    Есть два варианта:
    1. Перед проверкой устанавливать привелигированный режим вызовом функции "УстановитьПривилегированныйРежим(Истина)".
    2. В расширение добавить одну из базовых ролей, например, БазовыеПраваБСП, и добавить в расширении для этой роли права на чтение новым константам.

    • @ironskills-1c
      @ironskills-1c  Před rokem

      Спасибо за дополнение, Павел. Добавлю только, что для расширений есть флаг "Использовать основные роли для всех пользователей". При установленном флаге пользователи не прибегут ;)

  • @user-kz8rb1fk4s
    @user-kz8rb1fk4s Před rokem +2

    Фоновая музыка огонь) на экзамене конечно за запись конкатинации текста в константу оценку снизили бы. Регистр сведений однозначно. Строки неограниченной длины это зло.

    • @ironskills-1c
      @ironskills-1c  Před rokem

      Согласен, но не хотелось усложнять) А вообще строки неограниченной длины в типовых сплошь и рядом)

  • @Elitte2012
    @Elitte2012 Před rokem +1

    Скажите а если пользователь будет перепроводить документы в рамках закрытия месяца программа не будет ругаться?

    • @ironskills-1c
      @ironskills-1c  Před rokem

      Нет, поскольку при закрытии месяца документы проводятся программно, а запрет сделали только при проведении из формы.

  • @user-nk1bs5ks6u
    @user-nk1bs5ks6u Před 2 měsíci +1

    А с помощью внешней обработки можно будет изменять такие документы. Я бы на такой вариант тоже сделал бы проверку ))

    • @ironskills-1c
      @ironskills-1c  Před 2 měsíci

      Да, программист изменить документ программно (из кода) сможет)

  • @user-ts3ye1sr7z
    @user-ts3ye1sr7z Před rokem +1

    Почему то расширение не работает на ручные операции, может из-за того что у него нет статуса не проведен, либо проведен, либо помечен на удаление

    • @ironskills-1c
      @ironskills-1c  Před rokem

      Нужно проверить, может быть для документа "Операция" не используется дата запрета редактирования (т.е. дата запрета на эти документы не влияет)

  • @justserg4891
    @justserg4891 Před rokem +1

    Условие видимости 1 строкой делается) примерно: Видимость = Вариант = Перечисление;
    В расширяемой функции тоже проще можно сделать: Возврат Результат ИЛИ РезультатИзменениеЗапрещено;
    Зачем городить ненужные кучи строк кода, но для новичков пойдет.

    • @ironskills-1c
      @ironskills-1c  Před rokem

      спасибо за комментарий) да, можно короче, но хочется, чтобы начинающим тоже было понятно)

  • @user-yx4tz3tl8d
    @user-yx4tz3tl8d Před rokem

    Хотелось бы видео а запрете на просмотр опред. Бух. Счетов, напр. Сч.70.

    • @ironskills-1c
      @ironskills-1c  Před rokem

      Спасибо за идею для ролика

  • @neurabrain
    @neurabrain Před měsícem

    не совсем понятно - зчем такая функция нужна, ведь у пользователя все равно есть возможно распровести изменить и снова провести. Логичнее функция запрета любого изменения проведенного документа в том числе и распроведения, при этом целесообразно было бы создать кнопку на документе или некую форму в которой формировался бы запрос на разрешение распроведения документа, и если запрос утверждается, то возможность распровити и изменить документ появляется. А эта функция странная - не понятно какой смысл эти ограничения несут? если это просто для обучения и смысла реального действительно нет, то вопросов нет, видео познавательное

    • @ironskills-1c
      @ironskills-1c  Před 19 dny +1

      Да, это скорее учебный пример, чем окончательное решение)

  • @WackyMan
    @WackyMan Před 5 měsíci +1

    Для ут такой настройки нет

  • @provseiobovseh
    @provseiobovseh Před rokem +1

    А как сделать чтобы пользователь видел только свои документы, и редактирование разрешено. А чужие нет. Это РЛС. Но все осложняется, то что это фреш.

    • @ironskills-1c
      @ironskills-1c  Před rokem

      Да, Михаил, это надо настраивать на уровне профиля групп доступа ограничение по ответственному...

  • @lexxkrt
    @lexxkrt Před 8 měsíci

    а если добавится вариант запрета (разрешения) то сразу все сломается, нужно не иначе делать, а иначеесли с проверкой варианта запрета, даже если нет других вариантов, они могут появиться в будущем, типичный 1эсовский подход, моё работает, а дальше пофиг

    • @ironskills-1c
      @ironskills-1c  Před 7 měsíci

      Спасибо за комментарий) Решение не претендует на готовое решение, это лишь учебный пример, показывающий алгоритм решения задачи.

  • @user-fl6ip7jq8m
    @user-fl6ip7jq8m Před rokem +2

    Спасибо за данный урок. Очень информативно. Единственное пожелание - убрать музыкальный фон.

    • @vama9606
      @vama9606 Před rokem +1

      Я даже музыку не заметил) Слушал на скорости 1.5.

  • @NoBodyAnyBody32
    @NoBodyAnyBody32 Před rokem +1

    +100500

  • @halokon47
    @halokon47 Před rokem

    чет задача странная) редактировать нельзя, но снять с проведения проведенный документ можно)!

    • @arkadiyezhov4481
      @arkadiyezhov4481 Před rokem

      тот же вопрос. Для нужд упр. и регл учета это мегадырень. Тоесть Мареванне из бухгалтерии нельзя лезть в сданный закрытый период, но если она распровведет док то можно. Браво! Но все же думаю тема показа не о правильности логики изменений..

    • @ironskills-1c
      @ironskills-1c  Před rokem +1

      это можно сказать защита от случайного проведения, например, когда пользователи повально закрывают формы документов кнопкой "Провести и закрыть")

  • @dasant4ever929
    @dasant4ever929 Před rokem +1

    Зачем массив собирать, а потом в строку склеивать? Можно же было сразу в цикле итоговую строку сформировать

    • @LiffeApp
      @LiffeApp Před rokem

      Реально. Что то он намудрил.

    • @timurdanilenko3582
      @timurdanilenko3582 Před rokem +1

      @@LiffeApp такой способ формирования быстрей, чем через конкатенацию.

    • @user-pc9wg4jt8l
      @user-pc9wg4jt8l Před rokem

      @@timurdanilenko3582 Ничего подобного. Тем более, что в итоге все равно будет конкатенация.

    • @mendicator4319
      @mendicator4319 Před rokem +2

      Через строку конкатенация это колхоз

    • @timurdanilenko3582
      @timurdanilenko3582 Před rokem

      @@user-pc9wg4jt8l нет, не тоже самое. Когда мы складываем строки, проге приходиться увеличивать количество памяти, занимаемой строковой переменной (как динамические массивы в дельфи и пр.), т.к. мы изначально выделили мало памяти (собственно сколько памяти нужно, в 1С указать нельзя). А метод СтрСоеденить вычисляет длину конечной строки, сразу создает переменную с нужной длиной и при конкатенации не нужно наращивать память. Примерно так это работает.

  • @PTolkachev
    @PTolkachev Před rokem +2

    В при чтении на сервере проверить, что текущий объект - документ можно гораздо проще:
    Если Метаданные.Документы.Содержит(ТекущийОбъект.Метаданные()) Тогда
    ...
    ну и можно обойтись без использования массива запрещенных, а ограничиться поиском по подстроке:
    Если СтрНайти(ИменаЗапрещенныхДокументов, ИмяДокумента) > 0 Тогда
    ...
    Мой вариант функции IS_ИзмененияЗапрещены
    =======================================================
    Функция IS_ИзмененияЗапрещены(ТекущийОбъект)
    УстановитьПривилегированныйРежим(Истина);
    МетаданныеОбъекта = ТекущийОбъект.Метаданные();
    Если Метаданные.Документы.Содержит(МетаданныеОбъекта) Тогда
    ВариантЗапрета = Константы.IS_ВариантЗапретаРедактирования.Получить();
    Если ВариантЗапрета = Перечисления.IS_ВариантыЗапретаРедактирования.ИспользоватьДляВсех Тогда
    Возврат Истина;
    ИначеЕсли ВариантЗапрета = Перечисления.IS_ВариантыЗапретаРедактирования.ИспользоватьДляВыбранных Тогда
    ИменаЗапрещенныхДокументов = Константы.IS_ИменаЗапрещенныхДляРедактированияДокументов.Получить();
    Возврат СтрНайти(ИменаЗапрещенныхДокументов, МетаданныеОбъекта.Имя) > 0;
    КонецЕсли;
    КонецЕсли;
    Возврат Ложь;
    КонецФункции
    =======================================================

    • @aasamola
      @aasamola Před rokem +2

      Поиск по подстроке, можно словить ошибку, если одно имя документа будет в составе другого имени документа («АвансовыйОтчет», «АвансовыйОтчетНовый»). И лучше использовать не массив, а структуру, и проверять через Свойство, это позволит исключить моменты связанные с регистрами букв, вдруг в имени документа поменяют в одном символе регистр (редкий случай, но возможность такого исключать нельзя). Ну и соответственно тогда и разделитель использовать вместо «;» - «,».
      ИменаЗапрещенныхДокументов = Новый Структура (Константы.IS_ИменаЗапрещенныхДляРедактированияДокументов.Получить());
      ЗначениеПометки = ИменаЗапрещенныхДокументов.Свойство(ИмяДокумента);

    • @ironskills-1c
      @ironskills-1c  Před rokem +1

      Спасибо большое, Павел, за то что поделились альтернативным способом решения👍

    • @ironskills-1c
      @ironskills-1c  Před rokem +1

      Спасибо, Алексей!)