|   |   | 
| 
 | Откуда идет такой стиль разработки: НЕ ДокументСсылка.Проведен = Ложь? | ☑ | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0
    
        wowik 23.01.19✎ 10:12 | 
 
        Лично мне не нравится, когда пишут: НЕ ДокументСсылка.Проведен = Ложь.
 Разве нельзя писать "ДокументСсылка.Проведен = Истина"? - так разве не нагляднее? | |||||||||||||
| 1
    
        Mankubus 23.01.19✎ 10:13 | 
        а мне не нравится слово "токой"     Другое | |||||||||||||
| 2
    
        butterbean 23.01.19✎ 10:14 | 
        разве нельзя написать просто
 ДокументСсылка.Проведен ?? Другое | |||||||||||||
| 3
    
        Hans 23.01.19✎ 10:15 | 
        можно так сделать
 НЕ НЕ НЕ ДокументСсылка.Проведен = Ложь | |||||||||||||
| 4
    
        MaxS 23.01.19✎ 10:15 | 
        (2) Так может ошибка получиться, если документ битая ссылка     | |||||||||||||
| 5
    
        palsergeich 23.01.19✎ 10:16 | 
        Издержки работы в языке с динамической типизации.
 Конкретно в этом случае Избыточно, но в общем случае бывает необходимо, потому что внезапно может быть неопределенно и ошибка в рантайме. Особенно часто такое происходит например в запросах где с течением времени тип становится составным. И уже будет не пустая ссылка, а Неопределенно. | |||||||||||||
| 6
    
        wowik 23.01.19✎ 10:18 | 
        (1) не правильно написал)?  нужно писать "такоЕ"?  - я отстою от развития русского языка на 25 лет, школьного курса)     | |||||||||||||
| 7
    
        MaxS 23.01.19✎ 10:18 | 
        Обычно пишут 
 Если НЕ ОднаПеременная=ДругаяПеременная Тогда Вместо Если ОднаПеременная<>ДругаяПеременная Тогда Видимо кто-то со стажем заработался. Программисты со стажем | |||||||||||||
| 8
    
        wowik 23.01.19✎ 10:18 | 
        (6) *неправильно     | |||||||||||||
| 9
    
        palsergeich 23.01.19✎ 10:18 | 
        Если Вы с этим не сталкивались и Вам кажется это дикостью, то я в свое время нажрался подобного говна и ожидаемое значение указываю явно.     Программисты со стажем | |||||||||||||
| 10
    
        Akela has missed 23.01.19✎ 10:31 | 
        (9) тут не ожидаемое значение, а отрицание обратного ожидаемого значения     | |||||||||||||
| 11
    
        Eiffil123 23.01.19✎ 10:49 | 
        ДокументСсылка.Проведен     Начинающие программисты так пишут | |||||||||||||
| 12
    
        Eiffil123 23.01.19✎ 10:50 | 
        (7) зачем так обычно пишут?     | |||||||||||||
| 13
    
        wowik 23.01.19✎ 10:54 | 
        1     Начинающие программисты так пишут | |||||||||||||
| 14
    
        seevkik 23.01.19✎ 10:56 | 
        Так значение инвертирует погромист с недостаточным стажем
 Начинающий до такого не додумается Программисты со стажем | |||||||||||||
| 15
    
        VladZ 23.01.19✎ 10:57 | 
        (0) Тоже задавался таким вопросом. Один из вариантов ответов была таким: "Лень раскладку переключать".
 Сам пишу так: ДокументСсылка.Проведен | |||||||||||||
| 16
    
        Casey1984 23.01.19✎ 10:58 | 
        Это пятничный код ;-)     Другое | |||||||||||||
| 17
    
        MaxS 23.01.19✎ 11:06 | 
        (12) Вроде как НЕ = быстрее, чем <>     | |||||||||||||
| 18
    
        unregistered 23.01.19✎ 11:06 | 
        (0) >> Разве нельзя писать  "ДокументСсылка.Проведен = Истина"?
 Можно. >> так разве не нагляднее? Нет. Не нагляднее. Нагляднее просто ДокументСсылка.Проведен. Раньше в запросах так нельзя было писать, а надо было непременно использовать оператор сравнения. Теперь разрешили (с какой точно версии не помню). | |||||||||||||
| 19
    
        Franchiser 23.01.19✎ 11:09 | 
        А если ДокументСсылка Неопределенно или Пустая ?     | |||||||||||||
| 20
    
        NikeArz 23.01.19✎ 11:10 | 
        (0) Добрый день. Обратите внимание на кусок кода из типой 1С УТ 11.4
 Функция ПолучитьМаксимальнуюДатуВКоллекцииДокументов(МенеджерВременныхТаблиц) Экспорт Запрос = Новый Запрос(" |ВЫБРАТЬ | ЕСТЬNULL(МАКСИМУМ(КоллекцияДокументов.Ссылка.Дата), НЕОПРЕДЕЛЕНО) КАК Период |ИЗ | ТаблицаДанныхДокументов КАК КоллекцияДокументов |"); Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; Результат = Запрос.Выполнить(); Если Не Результат.Пустой() Тогда МаксимальнаяДата = Результат.Выгрузить()[0].Период; Если МаксимальнаяДата = Неопределено Тогда МаксимальнаяДата = ТекущаяДатаСеанса(); КонецЕсли; Иначе МаксимальнаяДата = ТекущаяДатаСеанса(); КонецЕсли; Возврат МаксимальнаяДата; КонецФункции Здесь также применяется НЕ. А ведь это типовая конфигурация, которую писать сертифицированные 1С программисты. Значит это кому-то надо. | |||||||||||||
| 21
    
        ДенисЧ 23.01.19✎ 11:12 | 
        (18) Разрешили совсем недавно, где-то начиная с версии 8.1     | |||||||||||||
| 22
    
        Aleksandr N 23.01.19✎ 11:15 | 
        Похоже на преобразование дизъюнкции в конъюнкцию.     Программисты со стажем | |||||||||||||
| 23
    
        Tonik992 23.01.19✎ 11:19 | 
        >> "ДокументСсылка.Проведен = Истина"
 Даже так делать не надо. Нужно "ДокументСсылка.Проведен" или "НЕ ДокументСсылка.Проведен". А если есть угроза битой ссылки, тогда надо отдельно проверить, битая ссылка или нет. Так или иначе, если данных нет в кеше, 1С при разыменовании будет лезть в базу и получать больше данных, чем нужно. | |||||||||||||
| 24
    
        youalex 23.01.19✎ 11:19 | 
        (0) Оба хуже
 ДокументСсылка.Проведен - это ДокументСсылка.ПолучитьОбъект().Проведен если объект еще не в кэше. | |||||||||||||
| 25
    
        Diman000 23.01.19✎ 11:19 | 
        Все проверки булевых значений лучше писать явно
 Если Проведен = ИСТИНА, а не просто Если Проведен Не ... = Ложь тоже иногда бывает оправданно Я когда сталкиваюсь с ошибкой типа, при неявной проверке Если Проведен, то всем говорю - типичная ошибка начинающего программиста))) Программисты со стажем | |||||||||||||
| 26
    
        Tonik992 23.01.19✎ 11:22 | 
        (25) >> Все проверки булевых значений лучше писать явно
 Не советуйте такого. Это плохой стиль программирования. Если кто-то копрокодил так, что переменная Проведен имеет разные градации серого, то от безвыходности используйте. Но самому писать такое ни в коем случае. | |||||||||||||
| 27
    
        Diman000 23.01.19✎ 11:29 | 
        (26) А все же посоветую.
 Это стиль правильного программирования на 1С. Но вы можете считать по-другому, я совершенно не против. | |||||||||||||
| 28
    
        ДенисЧ 23.01.19✎ 11:31 | 
        (27) Тогда почему в более других языках пишут?
 bool a; /// заполнение if (!a) { } Тоже криворукие индусы? | |||||||||||||
| 29
    
        Вафель 23.01.19✎ 11:32 | 
        некоторые просто не знают как писать на равно в 1с. может из других языков пришли. а там все по другому | |||||||||||||
| 30
    
        Вафель 23.01.19✎ 11:33 | 
        (27) у 1С свои стандраты и рекомендации, и она не согласна с тобой     | |||||||||||||
| 31
    
        Гипервизор 23.01.19✎ 11:35 | 
        (26) Ну это потому что - вот ))
 https://svalko.org/data/2017_10_11_00_24_412930_1.jpeg | |||||||||||||
| 32
    
        Diman000 23.01.19✎ 11:42 | 
        (28) Странный вопрос.
 Какое мне дело до того как пишут на других языках? (29) Да нет проблем, пусть у них будут такие стандарты. А у меня свои стандарты на все жизненные вопросы. Я не собираюсь ничьи стандарты перенимать вслепую. | |||||||||||||
| 33
    
        Rovan гуру 23.01.19✎ 11:46 | 
        (0) "Если НЕ ОднаПеременная=ДругаяПеременная Тогда"
 потому что требуется написать "Не равно" и значит визуально это тоже "НЕ ...=..." А <> визуально не вызывает никаких ассоциаций ! | |||||||||||||
| 34
    
        OldCondom 23.01.19✎ 11:48 | 
        У меня внутри кто-то строит недовольную гримасу, когда пишу <>. Не знаю, почему. Хоть на других языках считай и не писал.     | |||||||||||||
| 35
    
        Diman000 23.01.19✎ 11:51 | 
        (34) Переключатель раскладки клавиатуры ее строит)))     | |||||||||||||
| 36
    
        OldCondom 23.01.19✎ 11:52 | 
        (35) а вот это аргумент кстати     | |||||||||||||
| 37
    
        Fish гуру 23.01.19✎ 11:55 | 
        (35) О да. Особенно, когда приходится писать WebЦвета и подобные :))     | |||||||||||||
| 38
    
        unregistered 23.01.19✎ 11:56 | 
        (21) > Разрешили совсем недавно.
 Суть не в том давно или недавно. Суть в том, что была такая разница. А значит те, кто вынужден был сопровождать конфигурации, работавшие под старые версии платформы должны были учитывать эту особенность и писать код так, чтобы он работал корректно и под 8.1 и под 8.3. Не говоря уже о том, что сплошь и рядом встречается код, который без изменения тянется со стародавних времён. | |||||||||||||
| 39
    
        palsergeich 23.01.19✎ 11:58 | 
        (10) это не важно, все равно будет ошибка рантайме при приведении типа.     | |||||||||||||
| 40
    
        Гипервизор 23.01.19✎ 11:59 | 
        (35)(37) У вас просто неправильные раскладки.     | |||||||||||||
| 41
    
        breezee 23.01.19✎ 12:13 | 
        (0) Криворукость, сэр     Гуманитарии, пришедшие в 1С | |||||||||||||
| 42
    
        Гипервизор 23.01.19✎ 12:16 | 
        (38) Кстати да, в 8.3.6 можно стало писать в запросах вот так: ВЫБРАТЬ 1 <> 2
 А раньше приходилось писать через ВЫБОР. Но это же не значит, что надо переписывать старый код. | |||||||||||||
| 43
    
        Tonik992 23.01.19✎ 12:16 | 
        (27) И все же неверно.
 В переменной булевского типа ожидать другой тип.. Это значит надо еще понять, почему такой тип у неё оказалось. Вдруг автор кода на "Неопределено" что-то завязал? Это уже не булево, а трулево. Три возможных значения. Если Документ.Проведен = Ложь ИначеЕсли Документ.Проведен = Истина ИначеЕсли Документ.Проведен = Неопределено так чтоле? Не надо для переменной булевского типа подразумевать что-то иное. Нужно пресекать такую возможно до условного оператора. | |||||||||||||
| 44
    
        assasu 23.01.19✎ 12:18 | 
        (0) как думается так и пишется.. внутренний голос постоянно говорит "нет"     | |||||||||||||
| 45
    
        1Снеговик гуру 23.01.19✎ 12:23 | 
        (20) дурацкий пример, в самом НЕ никакого криминала нет, и никто не говорит что его использовать нельзя     | |||||||||||||
| 46
    
        Diman000 23.01.19✎ 12:23 | 
        (43) По моему мнению надо пресекать совершенно лишние ошибки в коде, а не выдумывать себе кем-то навязанные ограничения.
 Что мешает тебе совместить внимательно отслеживание типа и указание Проведен = Истина на случай если вдруг ты не все отследил? Да и вообще, код в 1С постоянно правят разные люди. И ты сам когда что-то правишь, условно, через год, то уже приравниваешься к этим разным людям. Как ты собираешься им всем объяснить как нужно аккуратно следить за типом? Как ты собираешься объяснять ошибку заказчику или руководителю? Вот тут выскочила ошибка, потому что я не ожидаю в булевской переменной другой типа и считаю, что так правильно? А тебе ответят, что вот у Димы ошибка не выскочила, потому что он размышляет несколько иначе... | |||||||||||||
| 47
    
        Tonik992 23.01.19✎ 12:37 | 
        (46) Так увеличивается энтропия кода.
 Небольшая ирония на эту тему: Если у вас есть числовое значение, то хороший тон делать так: Если ТипЗнч(Число1) = Тип("Число") И Число1 = 15 Тогда КонецЕсли ? Ведь вдруг в переменной Число1 записана строка, ну вот проскользнуло где-то там, в середине алгоритма.. >> на случай если вдруг ты не все отследил Именно благодаря таким ошибка и рождается профессионал. Лучше ошибиться в таком месте, чем поощрять такой код. | |||||||||||||
| 48
    
        DexterMorgan 23.01.19✎ 12:39 | 
        (0) Лично мне не нравится, когда пишут: "ДокументСсылка.Проведен = Истина". 
 Разве нельзя писать "ДокументСсылка.Проведен"? - так разве не нагляднее? | |||||||||||||
| 49
    
        Tonik992 23.01.19✎ 12:43 | 
        (46) >> Как ты собираешься объяснять ошибку заказчику или руководителю
 Вот где кроется скелет. Так ведь можно просто везде сделать так: Попытка Исключение КонецПопытки Вообще не придется ничего не кому объяснять. Никаких ошибок -) | |||||||||||||
| 50
    
        Diman000 23.01.19✎ 12:44 | 
        (47) Не надо все доводить до маразма.
 А то один умник на моей памяти в функцию БСП ПолучитьЗначениеРеквизита (не дословно) вставил Попытку. После чего при ошибке прав доступа она перестала ругаться, а начала возвращать пустые значения от которых вызывающие алгоритмы развалились. >> Именно благодаря таким ошибка и рождается профессионал. Лучше ошибиться в таком месте, чем поощрять такой код. Не соглашусь. Там где можно не ошибаться, лучше не ошибаться вообще. | |||||||||||||
| 51
    
        DexterMorgan 23.01.19✎ 12:45 | 
        (50) Так ты и доводишь до маразма пытаясь отследить тип у "Проведен"     | |||||||||||||
| 52
    
        Diman000 23.01.19✎ 12:45 | 
        (49) Хе-хе, см. выше.
 Будь умен и гибок, не слушай никого на веру, все обдумывай сам, у тебя голова светлая. И ты станешь профессионалом. | |||||||||||||
| 53
    
        Diman000 23.01.19✎ 12:46 | 
        Ладно, спор ни о чем уже.
 Не проверяйте булево через Проведен = Истина, проверяйте как Проведен. Тем лучше для меня, я же из практики все говорю, а не как теоретик... | |||||||||||||
| 54
    
        mikecool 23.01.19✎ 12:48 | 
        (45) да, только это лишняя операция, можно просто содержимое поменять местами и убрать НЕ     | |||||||||||||
| 55
    
        NikeArz 23.01.19✎ 12:57 | 
        (45) Пример не дурацкий. Он также говорит о том что НЕ можно применять. Читайте внимательнее.     | |||||||||||||
| 56
    
        Tonik992 23.01.19✎ 12:57 | 
        (53) слишком много копрокода на вашем пути встречается, мне кажется.
 Допустим, выражение (ДокументСсылка.Проведен = Ложь) - будет ИСТИНА. Это выражение не скажет мне, что ссылка битая. А внутри условия мне нужно использовать ДокументСсылка. Я смогу это сделать? Нет. Приведите пожалуйста примеры алгоритмов, где ДокументСсылка.Проведен = Ложь оправдан. Как практик, опишите такой алгоритм | |||||||||||||
| 57
    
        Tonik992 23.01.19✎ 12:58 | 
        (56) Не так, (ДокументСсылка.Проведен = Ложь) вернет ЛОЖЬ.     | |||||||||||||
| 58
    
        DexterMorgan 23.01.19✎ 13:03 | 
        (56) Он хотел просто показаться умным (не вышло)     | |||||||||||||
| 59
    
        Diman000 23.01.19✎ 13:06 | 
        (56) Я завел разговор об общем случае проверки значений булевых переменных.
 И ты, кстати, именно с этим не согласился. Так что не надо сейчас все сводить к вырожденному случаю, да еще и с дополнительным условиями. В моей практике несколько раз в год возникают "красные" ошибки, которых легко можно было бы избежать написав = Истина. И все бы работало верно. | |||||||||||||
| 60
    
        Tonik992 23.01.19✎ 13:18 | 
        (59) Мне действительно стало интересно. Может есть такие случаи, когда оправдано, просто я не встречал такого..
 Ну и потом... описывая, как вы говорите, "в общем случае", вы затем приводите частный случай с Проведен = Истина. в (25). Поэтому всё честно, и ветка же сама про ДокументСсылка.Проведен = Истина. Вы ушли от частной темы к общему... И я был не согласен с советом: >> "Все проверки булевых значений лучше писать явно". Зачем же так.. от пары красных ошибок такой сразу мощный совет в противовес сложившейся практики. | |||||||||||||
| 61
    
        Diman000 23.01.19✎ 13:22 | 
        (60) Посмотри сколько мне лет и умнож на несколько раз в год.
 Эта "не пара красных ошибок", это много регулярных красных ошибок. Практика программирования в 1С вообще сложилась так, что я допускаю намного меньше ошибок, чем многие другие. В том числе и из-за Проведен = Истина. Что же мне теперь равняться на них из-за их сложившейся практики? Нет, на это я пойтить не могу... | |||||||||||||
| 62
    
        wowik 23.01.19✎ 13:29 | 
        (61) +1     | |||||||||||||
| 63
    
        bolobol 23.01.19✎ 13:33 | 
        (61) Одного не пойму, всё же какую именно "красную" ошибку вы решаете кодом "Проведен = Истина"? Сравнение возвращает булево, ожидает приводимые к друг-другу типы слева и справа от сравнения, т.е. булево и число. Число и булево без операции сравнения вполне себе адекватно сами определяют ответ на Если. Тогда что вы за "красные" ошибки предвосхищаете?     | |||||||||||||
| 64
    
        bolobol 23.01.19✎ 13:34 | 
        Коли опыта на 50+ фиксов - поделитесь уж, иначе... ну, вы поняли.     | |||||||||||||
| 65
    
        bolobol 23.01.19✎ 13:48 | 
        Проведён больше Истины в 50 раз? И это проблема выполнению кода, где требуется строго "Проведен = Истина"? Кажется, я догадался. Это называется - нецелевое использование данных.     | |||||||||||||
| 66
    
        bolobol 23.01.19✎ 13:49 | 
        Но тогда, получается, что вы не избегаете ошибок, а порождаете их...     | |||||||||||||
| 67
    
        bolobol 23.01.19✎ 13:50 | 
        Следующий программист ваше "Проведен = Истина" упростит до "Проведен" и словит кучу исключительных ситуаций в дальнейшем, будет крайне удивлён ошибке "Индекс за пределами" в коду "ТЗ[ДокументСсылка.Проведен]"     | |||||||||||||
| 68
    
        Diman000 23.01.19✎ 14:29 | 
        Ну не в Проведен дело, а в булевых проверках.
 Типичный случай это когда булевое значение получается из запроса. Оно иногда бывает неопределено, например. | |||||||||||||
| 69
    
        DexterMorgan 23.01.19✎ 14:45 | 
        (68) Так если бы ты весь свой код херачил бы в попытке, то у тебя было бы ошибок еще меньше,тебе уже советовали.     | |||||||||||||
| 70
    
        DexterMorgan 23.01.19✎ 14:47 | 
        (68) Приведи пример с неопределено из твоей практике для ожидаемого булева, что то имхается, что ты гонишь     | |||||||||||||
| 71
    
        DexterMorgan 23.01.19✎ 14:47 | 
        (68) Практики*     | |||||||||||||
| 72
    
        Numerus Mikhail 23.01.19✎ 14:48 | 
        (70) из-за левого соединения или битой ссылки получается NULL     | |||||||||||||
| 73
    
        Ненавижу 1С гуру 23.01.19✎ 14:49 | 
        почему в операторе Попытка...Исключение нет раздела finally?     | |||||||||||||
| 74
    
        shuhard_серый 23.01.19✎ 14:49 | 
        (0) ни о чем     Другое | |||||||||||||
| 75
    
        DexterMorgan 23.01.19✎ 14:51 | 
        (72) речь про неопределено     | |||||||||||||
| 76
    
        Ненавижу 1С гуру 23.01.19✎ 14:52 | 
        давайте про NULL и Неопределено поговорим     | |||||||||||||
| 77
    
        Numerus Mikhail 23.01.19✎ 14:54 | 
        (75) NULL в запросе превращается в Неопределено в результирующей выборке     | |||||||||||||
| 78
    
        DexterMorgan 23.01.19✎ 14:56 | 
        (77) Причем тут это?мы говорим про типы в запросе     | |||||||||||||
| 79
    
        Ненавижу 1С гуру 23.01.19✎ 14:56 | 
        (77) это что сейчас ты такое сказал?     | |||||||||||||
| 80
    
        Numerus Mikhail 23.01.19✎ 14:58 | 
        (79) это я сейчас очень сильно тупанул, не обращай внимания     | |||||||||||||
| 81
    
        Tonik992 23.01.19✎ 14:59 | 
        (77) ;d wtf? Что за превращение такое?
 (68) составной тип? А ДокументСсылка.Проведен составного типа не имеет. | |||||||||||||
| 82
    
        DexterMorgan 23.01.19✎ 15:01 | 
        (81) Составной тип из булева и чего то еще, это круто.     | |||||||||||||
| 83
    
        Diman000 23.01.19✎ 15:05 | 
        (82) Бывают случаи когда булево + дата хорошо заходит.
 Например, для план-фактов контрольных событий. Одной даты бы хватило, но некоторые события для некоторых позиций могут быть выключены. | |||||||||||||
| 84
    
        PR 23.01.19✎ 15:09 | 
        Поражает, как некоторые борются за говнокод как за родного ребенка, убить готовы     | |||||||||||||
| 85
    
        singlych 23.01.19✎ 15:12 | 
        (70) был какой-то прикол, что на каком-то постгри минимум(ЛОЖЬ, ИСТИНА, NULL) давал NULL.     | |||||||||||||
| 86
    
        bolobol 23.01.19✎ 15:25 | 
        (85) Прикол был бы, если бы не NULL давал.
 Самое интересное, что "НЕ NULL = Ложь" - отрабатывает как истина, занятно, однако. | |||||||||||||
| 87
    
        Сияющий в темноте 23.01.19✎ 15:26 | 
        Вообще то,наличие Null в операторе сравнения для некоторых языков означает,что на выходе тоже будет Null независимо от остальных данных,так что для посгре ответ вполне ожидвемый,это 1с думает по другому.     | |||||||||||||
| 88
    
        singlych 23.01.19✎ 15:26 | 
        (0) Если Док.Проведен вообще не булево, то
 Док.Проведен = Истина даст ложь, а НЕ Док.Проведен = Ложь даст истину. | |||||||||||||
| 89
    
        singlych 23.01.19✎ 15:28 | 
        (86) (87)
 Я имею в виду, что такой запрос на 1с возвращал null на постгри, а на скуле ложь. | |||||||||||||
| 90
    
        bolobol 23.01.19✎ 15:29 | 
        (89) Неожиданно. Null - это вообще ничего, а ложь - это уже что-то. Равно как и на ноль делить - сколько у каждого? Казалось бы - ноль, но нет, нельзя делить на ноль.     | |||||||||||||
| 91
    
        bolobol 23.01.19✎ 15:31 | 
        (88) Любое сравнение с NULL в языке 1С даёт ложь. Что с Истиной, что с ложью. Странно, однако.     | |||||||||||||
| 92
    
        bolobol 23.01.19✎ 15:32 | 
        В запросах - любое с NULL = NULL, а в языке = Ложь...     | |||||||||||||
| 93
    
        Мимохожий Однако 23.01.19✎ 15:36 | 
        Если работает, то можно не удивляться.     Другое | |||||||||||||
| 94
    
        DexterMorgan 23.01.19✎ 15:38 | 
        (83) Тот, кто это спроектировал просто мудак     | |||||||||||||
| 95
    
        DexterMorgan 23.01.19✎ 15:39 | 
        (85) Речь про неопределено     | |||||||||||||
| 96
    
        DexterMorgan 23.01.19✎ 15:42 | 
        (83) Забавно говнокодер учитывает решение говноархитектора. Слаженная команда     | |||||||||||||
| 97
    
        Diman000 23.01.19✎ 15:43 | 
        (94) Ты хоть бы одно обоснование привел в защиту своих резких оценок.
 Ты бы как структуру данных для такой задачи спроектировал? | |||||||||||||
| 98
    
        DexterMorgan 23.01.19✎ 15:44 | 
        (97) Отдельно дата, отдельно использование     | |||||||||||||
| 99
    
        Diman000 23.01.19✎ 15:45 | 
        (98) И потом тебе предстоит регулярная возня с визуализацией.
 В чем ты видишь минус воткнуть все в одно поле? | |||||||||||||
| 100
    
        wowik 23.01.19✎ 15:46 | 
        100!     | |||||||||||||
| 101
    
        wowik 23.01.19✎ 15:46 | 
        (100) 9 лет хотел написать это сообщение))     | |||||||||||||
| 102
    
        DexterMorgan 23.01.19✎ 15:47 | 
        (99) Ты че серьезно? какая возня? галочки поставить для нужных событий? Так везде реализовано, епт     | |||||||||||||
| 103
    
        Вафель 23.01.19✎ 15:47 | 
        составной тип из булева + дата - это формально 2 колонки в бд     | |||||||||||||
| 104
    
        DexterMorgan 23.01.19✎ 15:48 | 
        (99) Такие как ты в проведен тоже дату в проведен захерачить могут     | |||||||||||||
| 105
    
        Diman000 23.01.19✎ 15:50 | 
        (102) Вполне серьезно.
 Допустим, заказчик хочет видеть все даты в формате ДД.ММ.ГГ или "Не треб." если эта точка выключена. Если все в одном поле, то это отображается автоматически. Хоть на форме, хоть куда. А ты каждый раз будешь свои галочки анализировать. В чем минус чем запихнуть дата+булево в одно поле ты так и не ответил. | |||||||||||||
| 106
    
        DexterMorgan 23.01.19✎ 15:52 | 
        (105) В самом объекте конфигурации хранить нужно это в двух реквизитах. Потому что в БД это все равно две колонки. На форме выводи все как хочет клиент     | |||||||||||||
| 107
    
        Ненавижу 1С гуру 23.01.19✎ 15:52 | 
        (103) на самом деле три     | |||||||||||||
| 108
    
        Вафель 23.01.19✎ 15:52 | 
        (105) а так каждый раз будешь тип выбирать     | |||||||||||||
| 109
    
        singlych 23.01.19✎ 15:53 | 
        (95) Ну добавь естьnull(, неопределено).
 Я больше про то, что в (0) не эквивалентный код. | |||||||||||||
| 110
    
        DexterMorgan 23.01.19✎ 15:54 | 
        (107) =)     | |||||||||||||
| 111
    
        Ник080808 23.01.19✎ 15:54 | 
        (105) так для этого есть формат у поля. Не?     | |||||||||||||
| 112
    
        DexterMorgan 23.01.19✎ 15:55 | 
        (105) Голосовалку может запилишь? Посмотрим минусы заодно, мне лень     | |||||||||||||
| 113
    
        Diman000 23.01.19✎ 15:58 | 
        (108) Ты про ввод данных?
 (106) Кому "нужно"? У тебя свое собственное мнение вообще есть, ты можешь его высказать? Почему на твой взгляд плохо запихнуть дата+булево в одну колонку? Предложение голосовалки это вообще прикол. Ты тоже так кодишь, за что больше проголосуют? (111) Да. С форматом и одним полем визуализация будет автоматическая. С раздельными полями каждый раз придется что-то писать для отображения. | |||||||||||||
| 114
    
        DexterMorgan 23.01.19✎ 16:00 | 
        (113) "Предложение голосовалки это вообще прикол. Ты тоже так кодишь, за что больше проголосуют? "
 Неа, просто на мои аргументы, от тебя последует "ну это твое мнение". А так тебя прилюдно окунут в действительность, что аргументы придется тебе приводить всем. | |||||||||||||
| 115
    
        Ник080808 23.01.19✎ 16:01 | 
        (113) зачем? если отключено - пустая дата. для пустой даты отображаешь нетреб. вообще нужно понимать задачу, что такое точка и что это за даты     | |||||||||||||
| 116
    
        Tonik992 23.01.19✎ 16:12 | 
        Решая одну проблему (упростить вывод на форме), вы заполучили другую проблему (связана с СУБД). Но это может от не знания, или вы знали о минусах такого составного типа, то тогда странно.
 А как вы запросы строите в таком решении: ВЫБОР КОГДА ТИПЗНЧ(ПОЛЕ) = ТИП(ДАТА) ТОГДА ВЫБОР.... КОНЕЦ ИНАЧЕ ТОГДА... в таком виде? Такое решение ведь за собой тянет последствия.. Но это правда от темы ДокументСсылка.Проведен отходит, но около неё | |||||||||||||
| 117
    
        Diman000 23.01.19✎ 16:14 | 
        (114) Естественно, это будет твое мнение.
 А чье же еще, непогрешимого господа бога что ли, с которым я должен безропотно согласиться? Короче, нет у тебя аргументов. Мне поддержка толпы для моего мнения не нужна, поэтому от голосовалки я воздержусь. (115) Пустая дата это значит, что она не задана. "Не треб." это другое. Понятно, что для каких-то задач лучше сделать отдельными полями. Но и общее поле вполне имеет право на жизнь, я пока не услышал аргументов почему так не стоит делать никогда. | |||||||||||||
| 118
    
        Diman000 23.01.19✎ 16:17 | 
        (116) Нет, в таком виде обычно не строится запрос.
 С запросами вообще особой сложности нет. Кое-где Не ДатаБулево = ЛОЖЬ встречается. Даже ДатаБулево > ДАТАВРЕМЯ(1,1,1) нормально отрабатывает, булевые значения пропускаются. На MS SQL по крайней мере. | |||||||||||||
| 119
    
        Ник080808 23.01.19✎ 16:17 | 
        (117) да элементарно запрос - как выбрать все данные за период. если там булево в поле?     | |||||||||||||
| 120
    
        Ник080808 23.01.19✎ 16:19 | 
        (118) группировка по периоду?     | |||||||||||||
| 121
    
        max1c2011 23.01.19✎ 16:19 | 
        (2)>> ДокументСсылка.Проведен
 Это ПЛОХОЙ и НЕНАГЛЯДНЫЙ стиль программирования. нас в старой школе учили так не делать. Пришел к выводу - правы | |||||||||||||
| 122
    
        max1c2011 23.01.19✎ 16:20 | 
        НАДО
 ДокументСсылка.Проведен = Истина | |||||||||||||
| 123
    
        Tonik992 23.01.19✎ 16:23 | 
        (121) Давайте делать так:
 ОписаниеТипаБулево = Новый ОписаниеТипов("Булево"); ДокументПроведен = ОписаниеТипаБулево.ПривестиЗначение(ДокументСсылка.Проведен); Тогда, если будет Неопределено, то в ДокументПроведен будет ложь. О как. | |||||||||||||
| 124
    
        Tonik992 23.01.19✎ 16:25 | 
        А еще лучше, чтоб код чище был, сделаем отдельную 
 Функция ДокументПроведен(ДокументПроведен) | |||||||||||||
| 125
    
        Diman000 23.01.19✎ 16:25 | 
        (119) Через МЕЖДУ да и все. Работает, булевые значения отсекаются.     | |||||||||||||
| 126
    
        Ник080808 23.01.19✎ 16:27 | 
        (125) ладно, группировка по периоду? Функции по работе с датами - НачалоПериода и т.д.?     | |||||||||||||
| 127
    
        Diman000 23.01.19✎ 16:37 | 
        (126) НачалоПериода по-моему где-то используется, нормально.
 Про группировку по периоду уже точно не вспомню. Это все проверять надо. Помню что никаких особых проблем такой составной тип не вызывал, ни в запросах, ни в СКД, ни в производительности. | |||||||||||||
| 128
    
        Tonik992 23.01.19✎ 16:45 | 
        (126) Видать в определенных местах кода заранее известен контекст, и "вот в этом месте точно дата" поэтому в запросе НАЧАЛОПЕРИОДА(БулевоДата) отрабатывает нормально.
 Ну Димон, нормально же могли общаться, зачем такая архитектура -( | |||||||||||||
| 129
    
        Diman000 23.01.19✎ 16:48 | 
        (128) Так я нормально и общаюсь.
 Мне просто не нравится когда аргументы не приводятся, либо приводятся в духе "так не принято". Хотя к тебе и к Нику это не относится. Аргумент, что может усложниться написание запросов принимается. Может. | |||||||||||||
| 130
    
        Tonik992 23.01.19✎ 17:01 | 
        (129) На самом деле интересно вот что.
 Мы все больше за реализацию не через составной тип. А вы реализовали через составной тип. И у вас должно было быть весомое обоснование на этот счет. То есть вы взвесили плюсы/минусы и выбрали именно составной тип. Так вот, вы отходите от "так принято", и было интересно почему.. Ваше обоснование - удобство для формы. Это единственный довод был в пользу составного типа? | |||||||||||||
| 131
    
        DexterMorgan 23.01.19✎ 17:02 | 
        (117) У меня нет цели тебя переубеждать, про такую херню на собеседованиях говорят "Мы с вами свяжемся". А упертые бараны могут и РС как РН использовать и доказывать что это удобно.     | |||||||||||||
| 132
    
        DexterMorgan 23.01.19✎ 17:04 | 
        (127) "по-моему", бла-бла-бла, на всех типах БД и т.д. А главное зачем этот гемор? Потому что ты форму один раз нарисовать не можешь? 
 Кстати про выбор типа (дата или булево) при вводе данных что там было? Удобно? Вместо того, чтобы галочку поставить и появилось дата для заполнения? Смешно. | |||||||||||||
| 133
    
        Diman000 23.01.19✎ 17:40 | 
        (130) Да, главный аргумент был удобство визуализации. И отсутствие других значимых проблем. Я предварительно затестил и производительность и основные запросы. Ввода данных вручную мало. Выключение точек это отдельная операция. Там где вручную вводятся даты, для ввода поле не составное, конечно.     | |||||||||||||
| 134
    
        DexterMorgan 23.01.19✎ 17:55 | 
        (133) Что за херня "удобство визуализации"? В чем проблема визуализировать два поля? конкретно, в чем удобнее чем одно составное?     | |||||||||||||
| 135
    
        DexterMorgan 23.01.19✎ 17:56 | 
        (133) "Ввода данных вручную мало" и "Да, главный аргумент был удобство визуализации."
 Огонь | |||||||||||||
| 136
    
        Diman000 23.01.19✎ 18:01 | 
        Вода и медные трубы))) У тебя проблемы с самооценкой что ли? Цели меня переубедить у тебя нет. А смеяться надо мной и подниматься в своих глазах, вижу что тебе нравится))))     | |||||||||||||
| 137
    
        Diman000 23.01.19✎ 18:05 | 
        Ты понимаешь, что форм для вывода данных может быть больше одной? Ты понимаешь, что вывод значения ресурса в СКД, это тоже визуализация?     | |||||||||||||
| 138
    
        DexterMorgan 23.01.19✎ 18:43 | 
        (137) Так в чем проблема вывести дату? Какие тут могут быть сложности?     | |||||||||||||
| 139
    
        DexterMorgan 23.01.19✎ 18:45 | 
        (137) Я вижу тут неудобство визуализации, если ты выводишь в СКД свое поле, то оно у тебя выглядит как дата с булево вперемешку, если накладываешь отбор, то какая разница два у тебя поля или одно? Мля в чем тут сложности?     | |||||||||||||
| 140
    
        Diman000 23.01.19✎ 18:56 | 
        (138) (139)
 Проблемы никакой, конечно, это просто дело техники. Но зачем что-то делать там, где можно ничего не делать? Вывод в одной колонке это базовое требование заказчика. Или дата или "Не треб." если точка выключена или пусто если дата не задана. | |||||||||||||
| 141
    
        Diman000 23.01.19✎ 18:59 | 
        И раз уж ты мне продолжаешь задавать вопросы, то я и свой повторю.
 Почему такое составное поле это плохо, можешь сказать? | |||||||||||||
| 142
    
        DexterMorgan 23.01.19✎ 19:13 | 
        (141) Потому что ты можешь заиметь кучу граблей, которые как ты сам пишешь надо проверять. Тебе всегда нужно помнить, что это поле составного типа. Отсюда и идут в запросах =Истина, от херовой архитектуры. И я задам вопрос, раз сложности нет нахера это? проверять как работают отборы, группировки и проч функции когда параметром ты будешь передавать составного типа поля, выбирать тип в полях, зачем это все?
 "Вывод в одной колонке это базовое требование заказчика" Рисуй ему форму какую хочешь, хранится должно в разных полях. Это удобнее самому программисту, это прозрачно и понятно работает | |||||||||||||
| 143
    
        Diman000 23.01.19✎ 19:20 | 
        (142)
 Я тебя разочарую, но за 5 лет никаких серьезных проблем не появилось. Тип в полях формы не выбирается, читай внимательно что я пишу. Так что пока одни плюсы, отчётов и форм уже не перечесть. И они клепаются на раз, сразу в нужном виде | |||||||||||||
| 144
    
        Botanik8888 23.01.19✎ 23:24 | 
        (143) я бы на месте Вашего приемника утопил вас в ближайшей проруби.....     | |||||||||||||
| 145
    
        palsergeich 23.01.19✎ 23:52 | 
        (99) То что это (83) говно.
 Используй группу колонок в конце концов. Для задачи план факт просто идеален оборотный регистр, он просто создан для нее. | |||||||||||||
| 146
    
        palsergeich 23.01.19✎ 23:53 | 
        (85) А разве минимум не всегда дает Null, если он есть?
 Я эту шнягу еще в SQL на 8.2 использовал. | |||||||||||||
| 147
    
        palsergeich 23.01.19✎ 23:58 | 
        (105) Ой лолллл
 Открой для себя функцию формат. https://yadi.sk/i/kiL_nj8QE4RkuQ , если формат не подходит группа колонок тоже решает эту задачу "склеивает" 2 реквизита в 1. Я всегда догадывался что во франчах у людей кто долго сидит в мозгу что то происходит.... | |||||||||||||
| 148
    
        palsergeich 24.01.19✎ 00:00 | 
        Это неподдерживаемая, а еще я уверен недокументированная особенность.
 Вот уедешь ты в отпуск, я даже не представляю как пердан гореть будет у того, кто на это наткнется | |||||||||||||
| 149
    
        Бертыш 24.01.19✎ 00:06 | 
        недопереучившиеся семёрошники     Программисты со стажем | |||||||||||||
| 150
    
        ssh2006 24.01.19✎ 00:11 | 
        (0) 
 "огические выражения и логические значения (например, результат функции, возвращающей логическое значение, переменные типа Булево и пр.) не следует проверять путем сравнения с литералами Истина и Ложь. Правильно: Если ЭтоНовый() Тогда Неправильно: Если ЭтоНовый() = Истина Тогда" https://its.1c.ru/db/v8std#content:2149184090:hdoc | |||||||||||||
| 151
    
        palsergeich 24.01.19✎ 00:25 | 
        https://yadi.sk/i/ZG2rswhfZ6Hrww
 https://yadi.sk/i/soJ9McjlZfE5Xg Вот так вот за 10 минут 2 реквизита документа в 1м поле. В СКД есть выражение представления | |||||||||||||
| 152
    
        palsergeich 24.01.19✎ 00:29 | 
        https://yadi.sk/i/DlpIHfsp7H40XA
 Вообще без кода форма списка. Форма элемента - в 5 строчек, можно сделать понтовой гиперссылкой и заказчик будет счастлив. СКД вывод те же 10 минут займет описать выражение представления. Только мое решение на класс выше составного недокументированного и логически неясного объединения типов там, где без него можно обойтись без потери функционала.... | |||||||||||||
| 153
    
        palsergeich 24.01.19✎ 00:36 | 
        Сортировка тоже работает.
 Вот только поиск - с окном выбора типа, но это аналогично составному типу. https://yadi.sk/i/xpyerwav3S06-g https://yadi.sk/i/FCCt3u9fHCe40w | |||||||||||||
| 154
    
        Diman000 24.01.19✎ 01:32 | 
        Как же смешно вас читать, ребята)
 Не всех, некоторые серьезно подходят к обсуждению. Им большое мое человеческое спасибо, говорят о фактических минусах моего решения, которые конечно же есть. А не просто о порванных шаблонах. (144) Опять ярлык, разумных доводов нет. Как разумные доводы появятся, излагай, я готов о них поговорить. (147) Во всех наших мозгах что-то происходит. Франч, не франч, это не важно. Вы работаете там где вам нравится работать, а я там где нравится мне. Рынок труда расставляет нас по местам. Я очень востребован и высокооплачиваем, надеюсь, что и вы также. Склеивание в группе колонок это замечательно. Но зачем это все, когда и так все отображается в нужном виде? (148) Давно уже работают с десяток человек в разные времена над моей архитектурой. Короткое объяснение дает полное понимание как с ней работать и не вызывает ни у кого никаких проблем. | |||||||||||||
| 155
    
        Diman000 24.01.19✎ 01:41 | 
        И да, кстати.
 Аргумент, что новому спецу будет сложно в этом разобраться без объяснений предшественника, принят. Да, без объяснений будет сложно, согласен. | |||||||||||||
| 156
    
        CHerypga 24.01.19✎ 08:52 | 
        вот прямо сейчас открыт код нетрадиционной ориентации, и там написано примерно следующее
 Процедура ТабличнаяЧастьПередНачаломДобавления(Элемент, Отказ, Копирование) Если (ТипЗнч(Копирование) = Тип("Булево") И Копирование) Тогда Возврат; КонецЕсли; //собственно код КонецПроцедуры а сделано так потому что кое кому было лень использовать традиционные методы программирования и он решил сам вызвать эту процедуру и кое что ей дополнительно передать | |||||||||||||
| 157
    
        ADirks 24.01.19✎ 09:17 | 
        (156) Скажи спасибо, что не в попытку завернули. Хоть какой-то шанс оставлен.     | |||||||||||||
| 158
    
        ADirks 24.01.19✎ 09:33 | 
        По теме.
 Аргументация за "Проведен = Истина" вполне понятно - защитное программирование. Но есть и другая сторона, и тоже про защитное программирование. Если мы напишем "Если Проведен Тогда", и некая редиска подбросит в проведён не булево значение, то у нас всё поломается, все это увидят, и позор со скандалом. Но. Зато не произойдёт неведомо что, вообще никак не запланированное никем. А иной раз такое происходит, и замечают это довольно поздно, когда ошибки накопились уже в данных. Какую защиту выбирать - зависит от ситуации конечно. Лично я выбираю второй вариант. Пусть мой код сломается, зато я быстро его исправлю, причём исправлю причину, а не следствие. | |||||||||||||
| 159
    
        Diman000 24.01.19✎ 11:12 | 
        Ну что же, аргументация против Проведен = Истина тоже понятна.
 Согласен, есть ситуации когда код должен отвалиться с ошибкой, а не проскочить дальше из-за того что он обернут в Попытку или в = Истина. Но на моей практике с булевыми проверками такого не встречалось. У меня чаще встречается, что запрос перестает возвращать реальные значения и неявные проверки падают... Я уже это несколько раз тут говорил. Если у вас другой опыт, то я совершенно не против, пусть будет так. Ни в проруби топить, ни мудаком называть я вас не стану))) | |||||||||||||
| 160
    
        DrZombi гуру 24.01.19✎ 11:18 | 
        (156) Фу, как узко, надо было так писать.
 Процедура ТабличнаяЧастьПередНачаломДобавления(Элемент, Отказ, Копирование, ПроЯзвольНыйПараметр=Неопределено) Если Копирование <> Неопределено И Копирование Тогда Возврат; КонецЕсли; Если ПроЯзвольНыйПараметр <> Неопределно Тогда //Магия волшебство и феи :) Возврат; КонецЕсли; //собственно код КонецПроцедуры | |||||||||||||
| 161
    
        DrZombi гуру 24.01.19✎ 11:19 | 
        (0) Побоку, вы атрофировались, попробуйте взглянуть на мир с другой стороны.     Другое | |||||||||||||
| 162
    
        dezss 24.01.19✎ 11:26 | 
        В данном случае - это говнокод.
 Вообще подобное может и имеет смысл, но я его увидеть не могу. Я скорей напишу первым условием проверку на тип значения. Другое | |||||||||||||
| 163
    
        ADirks 24.01.19✎ 11:29 | 
        (159)
 > У меня чаще встречается, что запрос перестает возвращать реальные значения и неявные проверки падают... Ну так я же про то же. Если вдруг что-то происходит в запросе, то и разбираться надо с запросом? Бывает, поменяется структура данных, и внезапно некоторые запросы перестают работать корректно. По мне, уж лучше пусть оно сразу с ошибкой упадёт. | |||||||||||||
| 164
    
        Diman000 24.01.19✎ 11:37 | 
        (163) Проверка условия может на русском звучать так: "Если там что-то есть и оно = Истина, то шагаем по коду дальше".
 Пока оно есть все работает. А затем, внезапно, его больше нет. Чистая база создана или права у кого-то урезанные. Вот для таких случаев лучше написать = Истина напрямую. Ну или проверять на тип или на неопределено. | |||||||||||||
| 165
    
        Oftan_Idy 24.01.19✎ 12:03 | 
        (0) Не имеет значения как написано. Главное чтобы код был понятным     Другое | |||||||||||||
| 166
    
        AlxOlm 24.01.19✎ 12:33 | 
        Глубокое понимание духовных основ 1с программирования,
 приходящее к небольшому числу избранных, после десятилетий самоотречения и медитаций в единении с природой, позволяет строить подобные конструкции. Программисты со стажем | |||||||||||||
| 167
    
        AlxOlm 24.01.19✎ 12:35 | 
        Как замечательно, что глубокопочитаемый "wowik" вынес столь важный вопрос на обсуждение.     | |||||||||||||
| 168
    
        Вафель 24.01.19✎ 12:35 | 
        Только вот зачем писать "НЕ =", когда можно писать "<>"     | |||||||||||||
| 169
    
        singlych 24.01.19✎ 12:36 | 
        (146) обычно было Ложь, но как оказалось, зависит от СУБД.     | |||||||||||||
| 170
    
        singlych 24.01.19✎ 12:38 | 
        (168) <> в xml не выгружается :))     | |||||||||||||
| 171
    
        Вафель 24.01.19✎ 12:41 | 
        (170) выгружаются конечно же     | |||||||||||||
| 172
    
        ADirks 24.01.19✎ 13:49 | 
        (168) чтобы написать <> некоторым нужно раскладку переключать     | |||||||||||||
| 173
    
        wowik 24.01.19✎ 15:01 | 
        (172) же программы, которые позволяют переключать раскладку, сам пользуюсь)
 может эти люди не в курсе про такие программы, может им надо сказать об этом?) | |||||||||||||
| 174
    
        wowik 24.01.19✎ 15:04 | 
        (165) в том то и дело, что получается "загромождение чертежа", вместо одной операции, сразу 2 нужно обрабатывать.     | |||||||||||||
| 175
    
        bolobol 24.01.19✎ 15:05 | 
        (173) Мне расскажите об этом! Страдаю - жесть просто...     | |||||||||||||
| 176
    
        wowik 24.01.19✎ 15:06 | ||||||||||||||
| 177
    
        ДенисЧ 24.01.19✎ 15:07 | 
        (175) Я пользую 1С:AutoDesigner.
 например <> вводится как Alt-бю и ещё полтора десятка символов. | |||||||||||||
| 178
    
        bolobol 24.01.19✎ 15:07 | 
        (176) "Официальный" ответ от Яндекса: "Да, мы не можем обеспечить совместимость протоколов для передачи нажатия горячей клавиши на удалённый компьютер"     | |||||||||||||
| 179
    
        bolobol 24.01.19✎ 15:10 | 
        (177) Где взять?     | |||||||||||||
| 180
    
        DexterMorgan 24.01.19✎ 15:10 | 
        (177) на основном месте работы здорово. Не здорово, когда тебе приходится подключаться по рдп/работать в другом месте. Особенно когда привыкнешь     | |||||||||||||
| 181
    
        wowik 24.01.19✎ 15:13 | 
        (177) http://catalog.mista.ru/public/19475/  это?     | |||||||||||||
| 182
    
        Nyoko 24.01.19✎ 15:13 | 
        ДокументСсылка.Проведен достаточно 
 просто программист который это пишет находится в стрессе или ему не нравится то чем он занимается. +Ни кто ни разу не ржал над его кодом, подсказать нужно человеку чтобы относился к жизни проще.. Показать хаки типа Не писать Если Проведен = Истина Тогда ТолькоПросмотр = Истина; иначе ТолькоПросмотр = Ложь; КонецЕсли; Можно просто же написать ТолькоПросмотр = Не Проведен; Другое | |||||||||||||
| 183
    
        bolobol 24.01.19✎ 15:15 | 
        (180) В смысле? Это тоже через РДП не работает?     | |||||||||||||
| 184
    
        bolobol 24.01.19✎ 15:16 | 
        (180) И, кстати, какая разница, куда по РДП подключаться, на рабочий сервер или на "другое место"? Как от этого зависит работоспособность программы? Или о чём речь?     | |||||||||||||
| 185
    
        bolobol 24.01.19✎ 15:21 | 
        (177) Не работает. Только на локальном компьютере отрабатывает, но это никому не нужно.     | |||||||||||||
| 186
    
        Nyoko 24.01.19✎ 15:21 | 
        Встречался программист который на Delphi писал всю жизнь около 20 лет, его код в 1с меня просто вскрывал, от названия переменных до работы с логикой, форматирование .. просто жопа.. но его поделки работали ..     | |||||||||||||
| 187
    
        Tonik992 24.01.19✎ 15:36 | 
        (186) парочку примеров пожалуйста, будьте добры )) уж оч. хочется на бест практикс взглянуть     | |||||||||||||
| 188
    
        Вафель 24.01.19✎ 15:39 | 
        многие проги вообще не форматируют код     | |||||||||||||
| 189
    
        Вафель 24.01.19✎ 15:39 | 
        (187) небось половину ключевых слов на инглише писал     | |||||||||||||
| 190
    
        wowik 24.01.19✎ 15:40 | 
        (189) в одну строку))
 а какая максимальная длина строки в 1с для кода? | |||||||||||||
| 191
    
        ДенисЧ 24.01.19✎ 15:50 | 
        (179) В гугле ищется на раз
 (180) а оно у меня на гугле лежит, установки не требует. Скачал, запустил | |||||||||||||
| 192
    
        ДенисЧ 24.01.19✎ 15:50 | 
        (181) Он самый     | |||||||||||||
| 193
    
        ДенисЧ 24.01.19✎ 15:51 | 
        (185) Работает. Достаточно его на терминал закинуть и запустить     | |||||||||||||
| 194
    
        DexterMorgan 24.01.19✎ 15:52 | 
        (193) Не всегда есть права на установку чего то там на терминале     | |||||||||||||
| 195
    
        ДенисЧ 24.01.19✎ 15:52 | 
        (189) Я помнится, одну обработку импорта из акспаты целиком на аглицком писал, ибо там скуль и адо, переключаться задалбывался...
 Зато меня потом 5 раз (уже после увольнения) приглашали на дописать её, ибо местные не понимали, что там написано )) | |||||||||||||
| 196
    
        ДенисЧ 24.01.19✎ 15:52 | 
        (194) Она не устанавливается. Она просто запускается     | |||||||||||||
| 197
    
        DexterMorgan 24.01.19✎ 15:53 | 
        (193) И доступ к интернетам     | |||||||||||||
| 198
    
        wowik 24.01.19✎ 16:05 | 
        (190) сколько символов программного кода влезет в одну строку? Есть ограничения?     | |||||||||||||
| 199
    
        Nyoko 24.01.19✎ 16:18 | 
        (187) копий не осталось базы этой давно было.. .     | |||||||||||||
| 200
    
        ADirks 24.01.19✎ 17:00 | 
        Для того, чтобы раскладку не переключать, есть например AutoHotKey
 Как использовать, например тут: http://catalog.mista.ru/public/339035/ кусочек файла для AHK ;================================== ;символ '<' по Ctrl-, $^SC033::Send < ;=================================== ;символ '>' по Ctrl-. $^SC034::Send > ;=================================== ;символ '|' по Ctrl-\ $^\::Send | ;=================================== ;символ '[' по Ctrl-[ $^SC01A::Send [ ;символ ']' по Ctrl-] $^SC01B::Send ] | |||||||||||||
| 201
    
        Вафель 24.01.19✎ 17:05 | 
        можно еще Альт+60, Альт+62 набирать     | |||||||||||||
| 202
    
        cons24 24.01.19✎ 17:11 | 
        у меня коллега бывший семерочник всегда так писал. Ну и я иногда, когда не точно уверен что слева будет именно булево, а не булево/неопределено.     Программисты со стажем | |||||||||||||
| 203
    
        GANR 24.01.19✎ 17:54 | 
        Это самая безобидная разновидность говнокода     Другое | |||||||||||||
| 204
    
        Про100Филя 24.01.19✎ 18:06 | 
        Ууу... тут много вариантов, самый очевидный было так:
 ДокументСсылка.Проведен = Ложь Потом добавили НЕ ибо быстрее исправить. Или программист был пьян или не в себе, а то видел и подобные конструкции: НЕ ДокументСсылка.Проведен = (Неопределено = Истина) НЕ ДокументСсылка.Проведен = 3.14 Другое | |||||||||||||
| 205
    
        Конструктор1С 24.01.19✎ 19:35 | 
        Плохой стиль программирования, он как плохой стиль вождения, - возникает в самом начале и остаётся на всю жизнь     Программисты со стажем | |||||||||||||
| 206
    
        bolder 25.01.19✎ 07:59 | 
        (20) Абсолютно правильный код.Логично обрабатывать главную ветку первой .
 Вот стандарт от 1с: «1. Проверку того, что результат выполнения запроса не содержит строк следует выполнять с помощью метода Пустой. Поскольку на получение выборки из результата запроса (выгрузка его в таблицу значений) будет затрачиваться дополнительное время. Неправильно: Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Возврат Истина; Иначе Возврат Ложь; КонецЕсли; Правильно: Возврат НЕ Запрос.Выполнить().Пустой() «. | |||||||||||||
| 207
    
        JeHer 25.01.19✎ 08:10 | 
        Вы еще забыли про:
 Если ДокументСсылка.Проведен = Истина и НЕ ДокументСсылка.ПометкаУдаления = Истина Тогда Начинающие программисты так пишут | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |