|   |   | 
| 
 | В типовой розница 2.3 встретился такой код | ☑ | ||
|---|---|---|---|---|
| 0
    
        Гений 1С гуру 18.01.25✎ 10:57 | 
        Я не понимаю, как можно, как не стыдно?
 Розница 2.3.21.19 Кстати, в стандартах есть обязательное объявление всех локальных переменных? 
 | |||
| 1
    
        Волшебник 18.01.25✎ 10:59 | 
        Какая гадость эта ваша динамическая типизация!
 https://vkvideo.ru/video-3183750_456245220 | |||
| 2
    
        TormozIT гуру 18.01.25✎ 12:07 | 
        (0) Причем тут переменные? Тут "Знач" у параметра "Кодировка" не хватает и некорректный документирующий тип указан у вызова функции (видимо вследствие копирования куска кода)     | |||
| 3
    
        Web00001 18.01.25✎ 13:40 | 
        (0)Я не понимаю, здесь
 Я не понимаю, как можно, как не стыдно?Ты недоволен, что код написан как-то неправильно. Но вот здесь: Кстати, в стандартах есть обязательное объявление всех локальных переменных?Ты говоришь, что у тебя не хватает силы воли открыть ИТС. Ты или крестик сними или трусы надень. Или ты знаешь как писать код по стандартам, либо другим не указываешь как надо писать. | |||
| 4
    
        AAA 18.01.25✎ 13:45 | 
        (3)что Вы такой агрессивный ?) будьте добрее     | |||
| 5
    
        Web00001 18.01.25✎ 13:49 | 
        (4)Никого не оскорбил. Не назвал идиотом. Не обещал втоптать в гавно за неправильные вопросы, как здесь любят(особенно ВР). Просто вижу противоречивые абзацы - подсвечиваю.     | |||
| 6
    
        AAA 18.01.25✎ 13:53 | 
        (5) ну ок )     | |||
| 7
    
        Гений 1С гуру 18.01.25✎ 14:35 | 
        (3) я не в 1с работаю. Не на всю страну выставляю свой код     | |||
| 8
    
        Злопчинский 18.01.25✎ 15:05 | 
        А поясните тупому мне попроще, что здесь не так?     | |||
| 9
    
        Garykom гуру 18.01.25✎ 17:10 | 
        (0) И чего тебе не нравится?
 Классика же передать в процедуру параметр и получить его заполненным В платформе 1С это почти везде так Например Значение = Неопределено; ЕстьСвойство = НекаяСтруктура.Свойство(Ключ, Значение); // Значение заполнится | |||
| 10
    
        Garykom гуру 18.01.25✎ 17:09 | 
        (8) Есть проблема в неожиданной замене типа переменной Кодировка
 Можно передать строку Кодировка = "UTF-8" а получить Кодировка = КодировкаТекста.UTF8 | |||
| 11
    
        Кирпич 18.01.25✎ 17:12 | 
        (8) Гений тупанул просто. не бери в голову     | |||
| 12
    
        Garykom гуру 18.01.25✎ 17:16 | 
        (11) Но нельзя не признать что код на скрине (0) слегка того
 Ибо массив имен файлов, кто гарантирует что все файлы имеют одну кодировку? И странный повторный вызов .ПолучитьКодировкуФайла сначала с параметром, затем без него - явно говнокодили | |||
| 13
    
        Кирпич 18.01.25✎ 17:18 | 
        (12) "сначала с параметром, затем без него" 
 Ну может так и надо. Мы же логику не знаем. А смотреть лень. Да и вероятность того, что Гений затупил очень высока. | |||
| 14
    
        Гений 1С гуру 18.01.25✎ 17:18 | 
        (12) от 1с такого не ожидал     | |||
| 15
    
        Garykom гуру 18.01.25✎ 17:20 | 
        (13) Если глядя на код сразу непонятно что он делает - это хреновый код
 Не спорю что возможно оно работает, но что это говнокод не отменяет | |||
| 16
    
        Кирпич 18.01.25✎ 17:20 | 
        +(13) без параметра вызывают наверное потому что там по умолчанию что то хорошее есть     | |||
| 17
    
        Garykom гуру 18.01.25✎ 17:22 | 
        (14) в 1С много организаций и сотрудников
 встречаются разные да до недавнего времени Розница и БП были наилучшими по качеству кода к сожалению это уже не так | |||
| 18
    
        Кирпич 18.01.25✎ 17:22 | 
        (15) ты по трем строчкам, вырванным из контекста, хочешь что то понять?
 И не Гению придираться к коду какому нибудь. Он сам пишет как курица лапой. | |||
| 19
    
        Garykom гуру 18.01.25✎ 17:27 | 
        (18) как минимум вижу что функция "ПолучитьКодировкуФайла" криво написана и неудобна в использовании
 почему не добавить в нее параметр "ВозвращатьКодировкуПоУмолчанию = Ложь" ? Тогда двойной вызов не нужен | |||
| 20
    
        Кирпич 18.01.25✎ 17:28 | 
        (19) Ну ты сходи посмотри сначала на функцию. Может там что то гениальное :)     | |||
| 21
    
        Гений 1С гуру 18.01.25✎ 18:15 | 
        (19) или сделать две функции 
 (18) в данном случае все понятно. Если на вход подать кодировку, а не строку, будет исключение, потому что она рид-онли. | |||
| 22
    
        Гений 1С гуру 18.01.25✎ 18:16 | 
        (17) розницу 2.3 скрестили с УНФ 3.0 с приоритетом УНФ, получился некий странный гибрид     | |||
| 23
    
        Кирпич 18.01.25✎ 18:33 | 
        (21) "Если на вход подать кодировку, а не строку, будет исключение"
 Да не будет никакого исключения. С чего вдруг? | |||
| 24
    
        Кирпич 18.01.25✎ 18:38 | 
        +(23) Динамическая типизация! Тебе ж в (1) сразу объяснили :)     | |||
| 25
    
        Кирпич 18.01.25✎ 18:55 | 
        "будет исключение, потому что она рид-онли"
 20 лет Гений жил в неведении. Вот так вот быть писателем, а не читателем. :) | |||
| 26
    
        Кирпич 18.01.25✎ 19:08 | 
        Хотя нет. Прошу прощения, я сам затупил. И правда "недоступно для записи"     | |||
| 27
    
        Фокусник 18.01.25✎ 21:37 | 
        (0) Работает?     | |||
| 28
    
        Garykom гуру 18.01.25✎ 21:47 | 
        (26) да смена типа переданного параметра в процедуре это частая хрень в типовых
 в ДО 2.1 такое есть там это до маразма доходит, когда реквизит формы передают так и заполняют | |||
| 29
    
        Guk 18.01.25✎ 22:18 | 
        нормальный код. что не так?...     | |||
| 30
    
        Гений 1С гуру 19.01.25✎ 11:53 | 
        (29) проснулся. уже объяснили что не так. ЗНАЧ забыли написать студенты с Селезневской.     | |||
| 31
    
        d4rkmesa 19.01.25✎ 12:20 | 
        Если придираться к стандартам, то еще Получить* в названии функции лишнее.     | |||
| 32
    
        Волшебник 19.01.25✎ 12:29 | 
        (31) Кстати, странно, что это не функция, а процедура. Но если она работает в отложенном режиме, то должна называться что-то типа НачатьПолучение...     | |||
| 33
    
        d4rkmesa 19.01.25✎ 12:33 | 
        (32) Я про функцию ПолучитьКодировкуФайла(...). Но, в процедурах Получить* тоже лишнее, т.к. возникают ассоциации с Get*, лучше что-то вроде ПрочитатьСодержаниеТекстовыхФайлов(...) или ЗаполнитьСодержаниеТекстовыхФайлов(...).     | |||
| 34
    
        Ненавижу 1С гуру 19.01.25✎ 13:21 | 
        Немного хардкода, если сильно хотите предотвратить передачу по ссылке:
 Рез = Неопределено; МенеджерОфлайнОборудованияВызовСервера.ПолучитьКодировкуФайла(Вычислить("Рез")); | |||
| 35
    
        Кирпич 19.01.25✎ 20:46 | 
        (30) Да там не только знач. Там еще нелогичная фигня написана.
 А вывод какой? В 1С можно писать откровенную херню и всё будет работать. За это мы и любим 1С :) | |||
| 36
    
        Гений 1С гуру 19.01.25✎ 20:48 | 
        (35) можно писать и будешь работать. Пинка под зад назад во франи не дадут     | |||
| 37
    
        Волшебник 19.01.25✎ 20:54 | 
        (34) и не стыдно?     | |||
| 38
    
        Ненавижу 1С гуру 20.01.25✎ 21:44 | 
        Вообще вся суть в том, что тут будет ошибка:
 Метод(КодировкаТекста.ANSI); Процедура Метод(Чтото) Чтото = 12; КонецПроцедуры Но только если вызов метода и сам метод вызываются на одной стороне (либо оба на сервере, либо оба на клиенте) - только в этом случае происходит вызов по ссылке. Если используем вызов с клиента на сервер - то ошибки не будет - используется "вызов по копированию" | |||
| 39
    
        Гений 1С гуру 20.01.25✎ 19:25 | 
        (38) проще прописать ЗНАЧ или объявить локальную переменную. Чем писать такое в проде.     | |||
| 40
    
        Ненавижу 1С гуру 20.01.25✎ 20:08 | 
        (39) какое такое? Я просто убрал всю шелуху и оставил суть ошибки.
 Да, разработчик метода по хорошему должен был поставить Знач. Но и к языку вопросы: 1. По умолчанию параметр передается по ссылке, хотя в большинстве языков это не так 2. При передаче с клиента на сервер передача по ссылке превращается в передачу по копированию, что несколько нарушает стройность подхода | |||
| 41
    
        Garykom гуру 20.01.25✎ 22:44 | 
        (40) 2 - слегка разное поведение для одного модуля формы с реквизитом формы и разных модулей     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |