Опыт 1 год. В целом использовал найти по наименованию и коду. Теперь буду знать как сделать иначе. Продолжайте снимать видео для задач из "жизни".
@basssmirnoff2442Ай бұрын
Спасибо. Это интересный взгляд на поставленную проблему.
@vasiliynet3425 Жыл бұрын
Огонь! Великолепная целая лекция по теме получилась. Спасибо!
@MrGvk7772 жыл бұрын
Очень много лишних слов - краткость сестра таланта!!!
@andreywonttell40164 ай бұрын
+1. ИМХО, можно было вообще шортс на 1-1.5 минут запилить. Люди бы спасибо сказали.
@ВладиславШишакин2 ай бұрын
Почти везде есть подобное использоуется. В одной организации из регистра сведений загоняли параметры сеанса, а оттуда уже считывали
@АлексейНеизвестный-ь6р Жыл бұрын
15 лет программирую на 1С. НайтиПоКоду, НайтиПоНаименованию, ПолучитьСсылку(guid) это все нормальные рабочие инструменты. Случаи когда это ломается единичные. Автор привел пример "..а вот через 10 лет...", так вот через 10 лет этот справочник констант разрастется до таких нееб###их размеров что уже будет сложно что-то в нем использовать (а вдруг это используется где- то еще ), каждый раз придется создавать свое поверх существующего.
@DimaVort8 ай бұрын
Нет. Єто зло в чистом виде. Встречал конфигурации где модули тупо превращались в телефонньій справочник с именами и кодами менеджеров или товаров или контрагентов. Когда заказчик просит развернуть чистую базу для каких-то нужд, появляется космический геморрой когда механизмьі перестают работать потому что в новой базе нет каких-то данньіх на которьіе завязан код, и такие зависимости раскиданьі по всему коду конфигурации.
@YuriyKolosov2 жыл бұрын
Спасибо за видео, но полчаса смотреть на запрос в цикле и запрос с постотбором вместо использования условий было больно )
@ONE-im6hi2 жыл бұрын
топ канал, ни у кого не видел столько полезного контента, все снимают одно и то же (азы)
@alex121121ful6 ай бұрын
Проведите этот час с пользой, коллеги. В ролике автор рассказал про хранение значений констант в справочнике.
@MrGvk7772 жыл бұрын
Жесть жестокая!!! Ежели Вы указали ЛюбаяСсылка посмотрите на план запроса получения любого элемента, даже одного в настоящей ИБ например УТ 11.4 и Вы увидите соединение со всеми таблицами ссылочных типов , а их под пол тысячи. Я Вас поздравляю!!! А я думаю, что же битовские да рарусовские конфы не фунциклируют... Для файловой базы - сойдет. А вот как будет себя вести PostgreSQL.... Пилите, Шура, пилите - золото в середине!
@nmivan2 жыл бұрын
Какого запроса план нужно посмотреть?
@fedorsumkin20282 жыл бұрын
@@nmivan Никто не знает, каким будет план запроса, если добавить в параметр виртуальной таблицы Продажи.Обороты() фильтр 'Контрагент в (Выбрать Значение из Справочник.Константы ГДЕ Наименование="ТотКогоНельзяПередаватьПараметромЗапроса")'?
@ivperivm102 ай бұрын
Не нужно искать по значению константы, и не будет соединения со всеми таблицами
@Dnsmel2 жыл бұрын
Согласен на счет найти по наименование, но вот найти по коду в целом, не худшая альтернатива ( Если еще коммент подписать что за элемент ) "предопределенным" и отдельному регистру. Единственное что в этой ситуации плохо с кодом, что конфигурацию уже просто так не развернуть ... не будет того самого кода.
@andreim53493 ай бұрын
В справочнике с константами тоже будет пусто, и что? Если обрабатывать использование поиска (что по коду что по наименованию), как минимум выводить сообщение о том, что такое не найдено, то это вполне себе приличная история. Справочник с константами (вернее более развесистый аналог - пвх с табличными частями) использую, но хлама там накопилось на каждый случай неимоверное количество.
@йошкаматрешка7 ай бұрын
Долго, муторно, не всегда применимо, надо простите риски от применения той или иной конструкции всегда иметь ввиду. Но спасибо, хорошая идея
@AntonSm20112 жыл бұрын
Хорошая идея использовать модуль менеджера. А я уже понаделал общих модулей.
@AntonSm20112 жыл бұрын
Хотя если надо ссылку на клиенте получить, все равно надо через серверную функцию делать. И в этом случае клиентский общий модуль вполне ок.
@AntonSm20112 жыл бұрын
А справочник с ссылкой/ссылками удобнее тем, что при удалении чего-нибудь помеченного на удаление это самое помеченное на удаление не удалится, покамест ссылка в справочнике констант торчит. А вот в хранилище значения после удаления ссылки уже не будет.
@AntonSm20112 жыл бұрын
Еще такой прикол в обычных формах и клиент-серверном режиме. В таком варианте работы не работает УстановитьПривилегированныйРежим. Я на этом накололся, потому и запомнил. Поэтому и остается только в роль добавлять права на объект.
@fedorsumkin20282 жыл бұрын
@@AntonSm2011 И в параметрах по умолчанию СКД, емнип, ошибка прав доступа без спец.роли на чтение константохранилища. Запилишь "хранилище констант" в общедоступном расширении - ссылаться из других расширений не сможешь. На помощь приходит Когда требуется запомнить настройку ХранилищеОбщихНастроек.Сохранить("ИмяОбъекта", "ИмяНастроек", Значение); Чтобы прочитать настройку Значение = ХранилищеОбщихНастроек.Загрузить("ИмяОбъекта", "ИмяНастроек", Значение);
@MrGvk7772 жыл бұрын
А в варианте с Хранилищем производительность лучше, но ссылочная целостность поддерживаться не будет. Просто в этом случае предполагается, что эта ссылка используется в других местах (документах и справочниках) и как следствие ее сложно удалить. Но за тот код, что Вы привели в начале - за это в приличном обществе канделябрами... Гончаров с экзамена на спеца выгоняет как только это увидит.
@nmivan2 жыл бұрын
Именно Гончарову я сдал спеца по платформе... И по УТ.
@ocean1487 Жыл бұрын
Через обработку найди ссылку на элемент, и находи его так через получить ссылку
@InternetSerwice10 ай бұрын
🤣он сказал - тыжело найти.... блохер отладкой пользоваться не умеет - сформировать ошибку и смотришь строку кода где ошибка возникла.... вау я научил блохера
@andreywonttell40164 ай бұрын
+1. Откровенно, клиент может не понять, если у вас задача сделать внешнюю ПФ, а вы ему в код/расширение справочников напихали.
@ivperivm102 ай бұрын
Почему не использовать константы? В 1С давно отказались от хранения множества констант в одной таблице
@andreim53492 жыл бұрын
покороче бы, зачем так тянуть кота за хвост
@dr57312 жыл бұрын
почему нет скорости х3((
@ПетрПетров-с7ь9 ай бұрын
страшно слышать такое от программистов
@andreim53492 жыл бұрын
ну конечно, справочник, и каждый раз не динамическое обновление. а заполнять справочник всё равно будет программист.
@vama96062 жыл бұрын
После возврата код не выполняется. А почему сразу элемент не сделать предопределенным?
@mikefrygin66152 жыл бұрын
А что будет с записями в хранилище значения, если удалить запись в регистре?
@nmivan2 жыл бұрын
Ничего страшного, если вы имеете в виде какую-нибудь ссылочную целостность. Ресурс типа "ХранилищеЗначения" будет удалён вместе с записью. Все указанные в нём ссылки продолжал жить, как жили.
@mikefrygin66152 жыл бұрын
Благодарю за разъяснения, вопрос возник именно из за "хвостов", т.е. мне было не ясно необходимо ли перед удалением принудительно выносить запись в "ХранилищеЗначения" или она уничтожится с удалением записи в РС. Еще раз спасибо. Ваш канал, один из немногих, который не пересказывает кнопку конфигуратора F1, а дает практические рекомендации по написанию и оптимизации. Смотрю с большим интересом, вот бы звук еще чуть повыше поднять.
@ФедорШихирев-ы3к Жыл бұрын
Создать один Параметр Сеанса с типом Структура и туда все запихнуть. А тут постоянно в справочник создавать новые элементы. И ПараметрыСеана доступны на клиенте, а Реквизит предопределенного нет. Также можно запихнуть в параметры сеанса таблицы значений со всеми Складами, Организациями, Подразделениями.
@SmartEnot11 ай бұрын
не пояснили - почему это грех?
@alexalexander32527 ай бұрын
Вы- графоман и не знаете как растянуть 5 минутное видео на час? Обратитсесь к Ивану Белокаменцеву, в его видеосалон. Чувак, у тебя редкий талант.
@ІмяПрізвище-н4ю Жыл бұрын
жесть, жесть, жесть... 1. 16 часов на что-то там исправление у франча - а у франа рыло не лопнет? 2. эти все конструкции элементарно обволакивать в Екси нашли - присвоиили Иначе - сообщить("Ошибка. Не нашли то-то с кодом-наименованием таким-то"). 99% проблем улшо. 3. есть предопределнные элементы справочника - тоже решение. 4. есть поиск по гуиду (он будет лажать для клонов баз). но для такой пустяковой хны столько времени видео потратить - экономьте трафик и делайте пометку - для младшего школьного возраста...
@ИльяБолдырев-т7в6 ай бұрын
Это все херня, поиск по коду наше все, все это бред согласен с вами.
@zergzerg88392 жыл бұрын
А почему не использовать получитьссылку и не городить все это
@nmivan2 жыл бұрын
Получить ссылку по уникальному идентификатору? И писать его в коде?
@ujn772 жыл бұрын
@@nmivan А почему бы нет? ГУИД элемента точно менять никто не сможет, даже программист (вариант с заменой ссылок сейчас в расчет не берем). Сам совмещаю оба подхода: для ссылок, значения которых условно никогда меняться не будут - использую поиск по GUID (в правилах обмена, как вариант), если же есть вероятность что что-то изменится - свой справочник или регистр.
@nmivan2 жыл бұрын
@@ujn77 кмк, вероятность, что что-то изменится, в типовых есть всегда. Но я не настаиваю - меня бесят гвиды, потому что надо идти и смотреть, что это. А через неделю - снова идти и смотреть.
@DimaVort8 ай бұрын
А теперь представь тебе надо развернуть чистую базу из cf. Как будешь создавать запись справочника с нужньім гуидом? Переносить из старой базьі через через хмл?
@andreywonttell40164 ай бұрын
@@DimaVort Если конфа та-же перегрузка при помощи XML. Если конфа другая, то в любом случае этот справочник делать заново, заново заполнять и т.д. А если конфа другая, то половина этих костылей и не нужна будет. А та половина, которая нужна, все равно адаптируется под новую конфу. Слабый аргумент, короче.
@jonymartynez38816 ай бұрын
Не досмотрел. Много болтовни и мало информации.
@NicNicov-yh9ux2 жыл бұрын
Сколько воды. Противно слушать
@nmivan2 жыл бұрын
но какая-то злая сила заставляет...
@zm9876543218 ай бұрын
потом придет программер спустя 10 лет и так же будет - откуда же это все заполняется😅😅 что-то мне подсаазваает, искать он будет в разы дольше 😅😅
@pillowanalyst11 ай бұрын
😱Я тоже накосячил. Буду исправлять.
@InternetSerwice10 ай бұрын
не слушай этого тупого блогера, он тебе тут нарассказывает. Вечные печатные формы🤣🤣. Умняк... их использовать небезопасно.. они могут поменяться.... че ха ха ха олень, ты это расскажи компании 1С которой приходится обновления пачками выпускать и там каждые 20 обновлений меняется половина объектов конфигурации
@pillowanalyst10 ай бұрын
@@InternetSerwice1С если косячит, то Красиво. Им можно // В процедуре требуется определить единицу измерения объема с кодом по ОКЕИ 112. // Используется для пересчета упаковок в литры. // // Параметры: // ЕдиницаИзмеренияЛитр - ОпределяемыйТип.Упаковка - Единица измерения объема (литр). Процедура ЕдиницаИзмеренияЛитр(ЕдиницаИзмеренияЛитр) Экспорт Результат = Справочники.БазовыеЕдиницыИзмерения.НайтиПоКоду("112"); Если ЗначениеЗаполнено(Результат) Тогда ЕдиницаИзмеренияЛитр = Результат; КонецЕсли; КонецПроцедуры ****************************** или так КатегорияАнтагонист = ПланыВидовХарактеристик.КатегорииНовостей.ПустаяСсылка(); ТекущаяСтрокаКатегорияНовостейКод = ТекущаяСтрока.КатегорияНовостей.Код; Если ТекущаяСтрокаКатегорияНовостейКод = "SubsystemRealized" Тогда КатегорияАнтагонист = ПланыВидовХарактеристик.КатегорииНовостей.НайтиПоКоду("SubsystemNotRealized"); ИначеЕсли ТекущаяСтрокаКатегорияНовостейКод = "SubsystemNotRealized" Тогда КатегорияАнтагонист = ПланыВидовХарактеристик.КатегорииНовостей.НайтиПоКоду("SubsystemRealized"); ИначеЕсли ТекущаяСтрокаКатегорияНовостейКод = "FnOptionOn" Тогда КатегорияАнтагонист = ПланыВидовХарактеристик.КатегорииНовостей.НайтиПоКоду("FnOptionOff"); ИначеЕсли ТекущаяСтрокаКатегорияНовостейКод = "FnOptionOff" Тогда КатегорияАнтагонист = ПланыВидовХарактеристик.КатегорииНовостей.НайтиПоКоду("FnOptionOn");