1. 1C / Говнокод #3617

    −132

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    Если ДатаЧисло(НачДата) < 10 Тогда
    	ЧислоДата = "0"+ДатаЧисло(НачДата);
    Иначе
    	ЧислоДата =  ДатаЧисло(НачДата);
    КонецЕсли;
    
    Если ДатаМесяц(НачДата) < 10 Тогда
    	МесяцДата = "0"+ДатаМесяц(НачДата);
    Иначе
    	МесяцДата =  ДатаМесяц(НачДата);
    КонецЕсли;			
    		
    Если ДатаЧисло(КонДата) < 10 Тогда
    	КонЧислоДата = "0"+ДатаЧисло(КонДата);
    Иначе
    	КонЧислоДата =  ДатаЧисло(КонДата);
    КонецЕсли;
    
    Если ДатаМесяц(КонДата) < 10 Тогда
    	КонМесяцДата = "0"+ДатаМесяц(КонДата);
    Иначе                                                                     
    	КонМесяцДата =  ДатаМесяц(КонДата);
    КонецЕсли;			
    
    /// ... где-то ниже
    ЧислоДата+"/"+МесяцДата+"/"+ДатаГод(НачДата)+";"+КонЧислоДата+"/"+КонМесяцДата+"/"+ДатаГод(КонДата)

    У меня это ужалось до 2х строк:
    ДатаСтр = Строка(Формат(НачДата, "ДDDMMYYYY"));
    ДатаСтр = СтрЗаменить(ДатаСтр, ".", "/");

    Запостил: just_geek, 01 Июля 2010

    Комментарии (41) RSS

    • "Гении" программирования не смогли реализовать регулярные выражения в своем 1С?
      Ответить
      • Да они даже нормальное форматирование даты не реализовали, какие тут регулярные выражения :)
        Ответить
        • Со всех сторон язык - говно, но попробуй объяснить это вот таким неадекватным личностям (персонаж под ником PayneBLADE): http://govnokod.ru/3131
          Ответить
          • ублюдочная вариация на тему бейсика с операторами
            переведенными на русский язык - что может быть кошмарнее?
            меня убивает сам вид кода make me unseen it!!
            Ответить
            • не думал, что такое скажу, но бейсик был лучше.
              Ответить
              • +100
                если кого тошнит от текстовости бейсика и особенно паскаля, то 1С вообще жесть,

                вот это особенно доставляет
                Для й = 1 По КонДата-НачДата Цикл
                даже i перевели ))
                Ответить
              • кстати я все 1С говнокоды плюсую
                мне сам язык доставляет
                Ответить
            • А представляете, каково англоязычной публике читать программы с английскими идентификаторами? Особенно венгерская нотация или всякие оконные фреймворки.

              Кошмар уже обсуждали (http://govnokod.ru/3408) — препроцессор с хинди для DJGPP (даже с досовскими шрифтами). Так что вид кода — на любителя.
              Ответить
              • тут какбэ не в кириллических идентификаторах трабла
                во многих языках их юзать можно
                Ответить
      • регуляры в 1с: http://infostart.ru/public/64222/
        Ответить
        • первая же строка
          RegExp = Новый COMОбъект("VBScript.RegExp");

          ну кто б сомевался
          повторю сказаное выше
          >>>ублюдочная вариация на тему бейсика
          Ответить
          • о, ком объекты) значит почти вся мощь винды у них в кормани)
            Ответить
            • >кормани
              это итальянский модельер? =)
              Ответить
              • Нет, это Новый COMОбъек
                Ответить
                • хм, а COM на латинице или кириллице?
                  и не надоедает им кодировку дергать?
                  Ответить
                  • думаю что на латинице.
                    Потому что рыба-сом там непричем)

                    Самое смешное, что на 1С можно писать на английском, но все всё равно пишут на русском. Наверное 1С программисты просто не знают других языков)
                    Ответить
                    • >на 1С можно писать на английском, но все всё равно пишут на русском. Наверное 1С программисты просто не знают других языков)

                      это печально
                      Ответить
                    • когда есть настроение, пишу на английском, но напрягает переключатся на русский для создания объектов :( типа CreateObject("Справочник.Блаблабла");
                      Ответить
                      • так судя этим импортам можно практически весь код на vbs или js писать ))
                        а потом его просто импотить в 1с
                        Ответить
                    • Просто трудно переводить названия по типу РасчетРеализацииКонтрагентуПоПартиям и тому подобное. Умники.
                      Ответить
                      • да, особенно если не знаешь английского)

                        аватар у Вас классный! Очень подходит виду деятельности
                        Ответить
                        • особенно если не знаешь ни человечьих, ни компутерных языков... приходится в бюстгалтерии софт конфигурить :-(
                          Ответить
        • и вообще регэкспы для 1С - это самоубийство
          ну если они такое говно пишут, какие регэкспы?
          тем более програмисты 1С не уважают символы, так что регэспы для 1С - должны задаватся русскими словами
          типа так
          РегулярноеВыражение1С="КвадратнаяСкобка1234КонецКвадратнойСкобкиПлюс"
          Ответить
        • из коментов
          >>>Выполнений: 1 000 Функции из Бух 1.6 и КОРП 2.0 время: 625 мс
          >>>Выполнений: 1 000 функций на RegExp время: 1 000 мс
          >>>Выполнений: 1 000 функций на VBScript время: 407 мс

          а говорили что бейсик медленный, пойти чтоле их потроллить вопросами типа:
          А не взападло английские переменные использовать типа RegExp
          или привести им тесты скорости любого нормального языка
          Ответить
          • и под конец фаталити: какой нить хитровыебаный код на хаскеле
            Ответить
            • ))
              БУГАГА на форуме 1Сников даже +1 и -1 выглядят так
              Рекомендую
              Не тратить время
              *ROFL*
              Ответить
            • короче там весь форум - сборище непуганых говнокодеров и сплошной лулз

              Функция РазложитьСтрокуВМассивЯва(Строка, Разделитель = ",") Экспорт
              резМассив.Очистить();
              резМассив = Script.eval("var str=""" + Строка + """; array1 = str.split(""" + Разделитель + """); for (i = 0; i < array1.length; i++) { myarray.Add(array1[i]); }; myarray; "); Возврат резМассив;
              КонецФункции

              короче они экспортят функции из СКРИПТОВЫХ языков (ибо 1С - говно и в нем нет даже базовых вещей),которые по определению слоу, да еще и юзают eval )) причем львиная доля ресурсов уходит на линковку типа Новый COMОбъект или создание среды для выполнения js

              а потом в своими читерскими тестами доказывают, что Бух 1.6 и КОРП 2.0 быстрее )))

              они бы еще яву в VMware запустили и через web-сервис на канале с огромным latency считали чего-то там, а потом сказали что родные функции Бух 1.6 и КОРП 2.0- быстрее

              кстати этот говнокод в стиле 1С
              http://govnokod.ru/3487
              Ответить
              • мде...
                1С кодеры - концентрированный песец
                Ответить
                • как же им там троллей не хватает не только Уебкиллов всяких и Где здесь С++?
                  но и адекватных людей, которых тошнит от сего поделия
                  чесно говоря я боюсь там регатся ибо могу деградировать

                  если они даже +1 и -1 так многословно называют, то видно 1С сильно въелся в мозги
                  Ответить
    • А раскладку переключать для < и > не в ломак им?
      Ответить
      • Можно написа́ть свою раскладку с доступом к знакам препинания через AltGr, но боюсь, что одинэсники до этого не додумаются...
        Ответить
    • > КонЧислоДата

      кончи сло дата
      Ответить
    • > Возврат ЗначениеИзСтрокиВнутр("{""#"",51e7a0d2-530b-11d4-b98a-008048da3034,{0,{""S"",""" + СтрЗаменить(Стр, Разделитель, """},{""S"",""") + """}}}")

      > ЗначениеИзСтрокиВнутр

      Ой ржака
      Ответить
    • имхо, 1С - это уже говнокод
      Ответить
    • Блин, тут даже 2 образца г... в одном сообщении. Зачем

      ДатаСтр = Строка(Формат(НачДата, "ДDDMMYYYY"));
      ДатаСтр = СтрЗаменить(ДатаСтр, ".", "/");


      когда достаточно

      ДатаСтр = Формат(НачДата, "ДФ=dd/MM/yyyy");

      Тем более что указанная форматная строка все равно неправильная.
      Ответить
    • Редкостное говноооо!!!!! Взять бы да насрать на лицо этим двум создателям!!!!
      Ответить

    Добавить комментарий