Бухгалтерия / Говнокод #10543 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
Если ПроверятьСкидкиРассчитаны И
        ИспользоватьАвтоматическиеСкидки И
        Не ДокументПродажи.СкидкиРассчитаны И
        ДокументПродажи.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ПередачаНаКомиссию Тогда
    ПроверятьСкидкиРассчитаны = Истина;
КонецЕсли;

Управление торговлей (11-я редакция)

Запостил: Argonavt Argonavt, (Updated )

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

  • пиздец, уже от кириллического кода глаза слезятся
    Ответить
    • Поработайте часок в экселе. От всяких СЖПРОБЕЛЫ, ПСТР и ЛЕВСИМВ глаза истекают кровью гораздо быстрее...
      В 1с хотя бы слова не сокращают...
      Ответить
  • Я думаю, в 1С особой популярностью должны пользоваться имена переменных в которых латинские буквы выглядят как кирилличные, например ПpoвеpятьCкидкиPaccчитаны.
    Ответить
  • Всегда интересовал вопрос, насколько накладен вызов функции в 1с. Очень часто вместо использования функций пользуются китайским методом реиспользования кода через копи-пейст.
    Свежее. Надо было подсмотреть в одной конфигурации, как там выгрузка происходит. Конфигурация штриховская (от НТЦ "Штрих-М"), новая, как обещается.
    От увиденного кровавые слёзы.
    ЗначениеКода=Док.ПолучитьАтрибут(Атрибут).Код;
    Если (ВыбКонфигурации=1) и (Вид="Номенклатура") Тогда
    	Если СтрДлина(ЗначениеКода)=1 Тогда
    		ЗначениеКода="0000000000"+ЗначениеКода;
    	ИначеЕсли СтрДлина(ЗначениеКода)=2 Тогда
    		ЗначениеКода="000000000"+ЗначениеКода;
    	ИначеЕсли СтрДлина(ЗначениеКода)=3 Тогда
    		ЗначениеКода="00000000"+ЗначениеКода;
    	ИначеЕсли СтрДлина(ЗначениеКода)=4 Тогда
    		ЗначениеКода="0000000"+ЗначениеКода;
    	ИначеЕсли СтрДлина(ЗначениеКода)=5 Тогда	
    		ЗначениеКода="000000"+ЗначениеКода;
    	ИначеЕсли СтрДлина(ЗначениеКода)=6 Тогда	
    		ЗначениеКода="00000"+ЗначениеКода;
    	ИначеЕсли СтрДлина(ЗначениеКода)=7 Тогда	
    		ЗначениеКода="0000"+ЗначениеКода;
    	ИначеЕсли СтрДлина(ЗначениеКода)=8 Тогда	
    		ЗначениеКода="000"+ЗначениеКода;
    	ИначеЕсли СтрДлина(ЗначениеКода)=9 Тогда	
    		ЗначениеКода="00"+ЗначениеКода;
    	ИначеЕсли СтрДлина(ЗначениеКода)=10 Тогда	
    		ЗначениеКода="0"+ЗначениеКода;
    	ИначеЕсли СтрДлина(ЗначениеКода)=11 Тогда	
    		ЗначениеКода=ЗначениеКода;
    	КонецЕсли; 
    КонецЕсли;
    Если (ВыбКонфигурации=1) и (Вид="Контрагенты") Тогда
    	Если СтрДлина(ЗначениеКода)=1 Тогда
    		ЗначениеКода="00000000"+ЗначениеКода;
    // ...

    И таких кусков - три-четыре. Пожалуй, на сегодня хватит копаться в этом дерьме.
    Ответить
    • весьма накладен, кстати. Как-то тестировал разные варианты получения названия месяца прописью из даты (кстати, Формат() - далеко не самый быстрый), так выяснилось, что вызов функции с 1 параметром, которая по Соответствию из 12 элементов вернет значение, занимает чуть ли не больше времени, чем собственно поиск по соответствию...
      Ответить

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

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8