Снегопат
https://snegopat.ru/forum/

Форматирование модуля
https://snegopat.ru/forum/viewtopic.php?f=3&t=653
Страница 1 из 1

Автор:  alonehobo [ 28 сен 2014, 18:18 ]
Заголовок сообщения:  Форматирование модуля

Работая с конфигурациями, в которых до тебя поработали другие "спецы", часто сталкиваешься с говнокодом. Но мало того, что говнокод сам себе по себе говно. Он зачастую еще и написан в стиле "вырвиглаз". К счастью у нас есть снегопат и такой скрипт как formatModule.js. Но он иногда подглючивает(точнее не сам скрипт, а алгоритм обработки, которую он вызывает). В некоторых случаях удаляет последнюю строку выделенного текста, знак >= заменяет на =>, на что 1С начинает ругаться, и еще пару мелочей с самим форматированием. Вот я и взял на себя смелость его подправить.
Теперь говнокод легким движением руки превращается в..... все тот же говнокод. Но смотрится уже гораздо симпатичнее.

Вложения:
formatModule.zip [4.07 КБ]
Скачиваний: 562
Комментарий к файлу: Правила форматирования
НастройкаФорматирования.zip [1.63 КБ]
Скачиваний: 586
ФорматированиеТекста.epf [73.61 КБ]
Скачиваний: 794

Автор:  gigabyte-artur [ 29 сен 2014, 10:10 ]
Заголовок сообщения:  Re: Форматирование модуля

А можно увидеть примеры кода "ДО" и "ПОСЛЕ" ?

Автор:  alonehobo [ 29 сен 2014, 10:46 ]
Заголовок сообщения:  Re: Форматирование модуля

ДО:
Код:
Для каждого ТекСтрока Из ДеревоРезультата.Строки Цикл
      Если НЕ ЗначениеЗаполнено(ТекСтрока.ФизЛицо) Тогда
      Продолжить;
   КонецЕсли;
   
   
   
   
НоваяСтрокаСотрудники = Сотрудники.Добавить();
НоваяСтрокаСотрудники.Сотрудник=ТекСтрока.ФизЛицо;
НоваяСтрокаСотрудники.Начислено= ТекСтрока.СуммаЗПИтог;
НоваяСтрокаСотрудники.КлючСтроки=НоваяСтрокаСотрудники.НомерСтроки;
      
      для каждого ТекСтрокаПоказатели з ТекСтрока.Строки цикл
         
         НоваяСтрокаРасшифровка = СотрудникиРасшифровка.Добавить();
         НоваяСтрокаРасшифровка.КлючСтроки = НоваяСтрокаСотрудники.КлючСтроки;
         НоваяСтрокаРасшифровка.ЗаказПокупателя = ТекСтрокаПоказатели.Показатель;
         НоваяСтрокаРасшифровка.ПроцентЗП = ТекСтрокаПоказатели.ЗначениеПоказателяИтог;
         НоваяСтрокаРасшифровка.СуммаЗП = ТекСтрокаПоказатели.СуммаЗПИтог;
         НоваяСтрокаРасшифровка.Начислено = НоваяСтрокаРасшифровка.СуммаЗП;
         НоваяСтрокаРасшифровка.СуммаЗПОкр = Окр(НоваяСтрокаРасшифровка.СуммаЗП);
      конеццикла;
      
      
      
   КонецЦикла;


ПОСЛЕ:

Код:
Для Каждого ТекСтрока Из ДеревоРезультата.Строки Цикл

    Если Не ЗначениеЗаполнено(ТекСтрока.ФизЛицо) Тогда
        Продолжить;
    КонецЕсли;

    НоваяСтрокаСотрудники            = Сотрудники.Добавить();
    НоваяСтрокаСотрудники.Сотрудник  = ТекСтрока.ФизЛицо;
    НоваяСтрокаСотрудники.Начислено  = ТекСтрока.СуммаЗПИтог;
    НоваяСтрокаСотрудники.КлючСтроки = НоваяСтрокаСотрудники.НомерСтроки;

    Для Каждого ТекСтрокаПоказатели з ТекСтрока.Строки Цикл

        НоваяСтрокаРасшифровка                 = СотрудникиРасшифровка.Добавить();
        НоваяСтрокаРасшифровка.КлючСтроки      = НоваяСтрокаСотрудники.КлючСтроки;
        НоваяСтрокаРасшифровка.ЗаказПокупателя = ТекСтрокаПоказатели.Показатель;
        НоваяСтрокаРасшифровка.ПроцентЗП       = ТекСтрокаПоказатели.ЗначениеПоказателяИтог;
        НоваяСтрокаРасшифровка.СуммаЗП         = ТекСтрокаПоказатели.СуммаЗПИтог;
        НоваяСтрокаРасшифровка.Начислено       = НоваяСтрокаРасшифровка.СуммаЗП;
        НоваяСтрокаРасшифровка.СуммаЗПОкр      = Окр(НоваяСтрокаРасшифровка.СуммаЗП);
    КонецЦикла;
КонецЦикла;

Автор:  alonehobo [ 29 сен 2014, 10:48 ]
Заголовок сообщения:  Re: Форматирование модуля

Настроить формат под себя можно в самой обработке, открыв ее в управляемом приложении.

Автор:  gigabyte-artur [ 29 сен 2014, 18:41 ]
Заголовок сообщения:  Re: Форматирование модуля

Классная вещь, спасибо!
Только я так и не разобрался, как выставить настройки, чтобы пустые (хотя бы дублирующиеся) строчки убирались. Пробовал взводить/отпускать галочки во всех группах на закладке "Пустые строчки" - результат не меняется. В качестве тестового примера использовал Ваш.
А в остальном - офигенная разработка!

Автор:  alonehobo [ 29 сен 2014, 18:57 ]
Заголовок сообщения:  Re: Форматирование модуля

Спасибо Евгению (sosnae), это его работа. Я лишь слегка поправил.
Чтобы убрать пробелы используйте эти правила.

Вложения:
НастройкаФорматирования.zip [1.63 КБ]
Скачиваний: 558

Автор:  alonehobo [ 10 окт 2014, 13:10 ]
Заголовок сообщения:  Re: Форматирование модуля

Добавил в сам скрипт команду стандартного форматирования методом платформы после обработки по правилам, чтобы не было проблем с отступами

Автор:  sosnae [ 11 окт 2014, 14:35 ]
Заголовок сообщения:  Re: Форматирование модуля

Обновил репо. Спасибо.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/