Снегопат https://snegopat.ru/forum/ |
|
Форматирование модуля https://snegopat.ru/forum/viewtopic.php?f=3&t=653 |
Страница 1 из 1 |
Автор: | alonehobo [ 28 сен 2014, 18:18 ] | ||||
Заголовок сообщения: | Форматирование модуля | ||||
Работая с конфигурациями, в которых до тебя поработали другие "спецы", часто сталкиваешься с говнокодом. Но мало того, что говнокод сам себе по себе говно. Он зачастую еще и написан в стиле "вырвиглаз". К счастью у нас есть снегопат и такой скрипт как formatModule.js. Но он иногда подглючивает(точнее не сам скрипт, а алгоритм обработки, которую он вызывает). В некоторых случаях удаляет последнюю строку выделенного текста, знак >= заменяет на =>, на что 1С начинает ругаться, и еще пару мелочей с самим форматированием. Вот я и взял на себя смелость его подправить. Теперь говнокод легким движением руки превращается в..... все тот же говнокод. Но смотрится уже гораздо симпатичнее.
|
Автор: | 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), это его работа. Я лишь слегка поправил. Чтобы убрать пробелы используйте эти правила.
|
Автор: | 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/ |