Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Начало и конец области в коде

Начало и конец области в коде
Я
   vsg-work
 
11.03.21 - 09:09
Здравствуйте, уважаемые коллеги.

Хочу узнать ваше профессиональное мнение по поводу размещения областей на 8.3.

Насколько правильно будет, если размещать области внутри процедуры или функции? Или это некорректно, и области нужно создавать только для группировки функций и процедур?
У меня следующий код, и правильно ли это?


&НаСервере
Процедура ВыгрузитьДанныеВЛюбимыйДомНаСервере()
// Справочники
ДокПриемник.Организация = Открытие.Справочники.Организации.FindByCode("00-000001");
ДокПриемник.СостояниеЗаказа = Открытие.Справочники.СостоянияЗаказовПокупателей.FindByDescription("Завершен");
ДокПриемник.СтруктурнаяЕдиницаПродажи = Открытие.Справочники.СтруктурныеЕдиницы.FindByDescription("Подразделение");
ДокПриемник.СтруктурнаяЕдиницаРезерв = Открытие.Справочники.СтруктурныеЕдиницы.FindByDescription("Основной - Русский Лес");
ДокПриемник.Источник = Открытие.Справочники.ИсточникРекламы.FindByDescription("Русский Лес");
        
        
#Область СозданиеКонтрагента
// Контрагент
Контрагент = Открытие.Справочники.Контрагенты.FindByCode(Объект.Контрагент.Код);
Если Контрагент.Пустая() Тогда
КонтрагентПриемник = Открытие.Справочники.Контрагенты.CreateItem();
Иначе
КонтрагентПриемник = Контрагент.GetObject();
КонецЕсли;
#КонецОбласти
КонецПроцедуры
   Волшебник
 
1 - 11.03.21 - 09:11
области есть, лесенки нет
   mikecool
 
2 - 11.03.21 - 09:11
код должен соответствовать политике разработки
все остальное от лукавого
   Kassern
 
3 - 11.03.21 - 09:18
(0) А можно объяснить why писать code то русскими letters, то английскими (Справочники.Организации.FindByCode("00-000001"))? Какой в этом сакральный смысл?
   vsg-work
 
4 - 11.03.21 - 09:21
(3) Работаю с COMConnector, не поддерживает функции на кириллице
   Hans
 
5 - 11.03.21 - 09:30
Создание областей внутри процедуры я не приветствую. Только для группировки процедур и функций.
   Галахад
 
6 - 11.03.21 - 09:31
(0) Есть мнение, что процедуры/функции желательно делать не очень крупными. Значит и области там не особо нужны.
   Hans
 
7 - 11.03.21 - 09:33
>> #Область СозданиеКонтрагента


Ты это должен вывнести в отдельную функцию "НайтиСоздатьКонтрагента".
   Dmitrii
 
8 - 11.03.21 - 09:39
(0) Редкостный *авнокод.
ИМХО, гораздо важнее содержание и смысл кода, чем то как именно он структурирован.
Потому что, если код грамотно написан, то его правильная структура приходит сама собой.

В приведенном примере историю с поиском, созданием и получением ссылки на Контрагент я бы вынес в отдельную процедуру или функцию, а не областями выделял.

Аргументы из (4) звучат как-то не очень убедительно.
И вообще что касается работы через COM, то, ИМХО, использовать его можно только в двух случаях. Когда другого выхода нет (от безысходности) или когда надо написать какую-то одноразовую(!) простую обработку с подключением к другой базе и заморачиваться с нормальными механизмами нет времени и необходимости (потому что одноразовая история). Но для одноразовых разработок никто не заморачивается с оформлением и структурированием кода.

Про *авнометоды типа "НайтиПоКоду" и "НайтиПоНаименованию" я вообще молчу. За это публично расстреливать надо.
   Kassern
 
9 - 11.03.21 - 09:47
(4) Попробуй использовать вебсервисы для обмена данными, создай структуру для заполнения данными отдельной функцией и заполняй ее из какой нить таблицы, которую пользователь заполнил. Сегодня тебе нужна организация с кодом 00-000001 а завтра совсем другая, будешь каждый раз код перелопачивать? Лучше дать людям инструмент настройки чем каждый раз самому править. В таком написании как в (0) я бы еще понял, если на 1 раз обработка, но тогда и области не нужны, согласен с (8)
   VladZ
 
10 - 11.03.21 - 09:54
(0) На "Область" всем наср*ть.
А вот за Организации.FindByCode("00-000001") могут и морду набить.
   Волшебник
 
11 - 11.03.21 - 09:56
(10) По коду ещё можно, а вот за FindByDescription("Основной - Русский Лес") могут и морду набить
   Hans
 
12 - 11.03.21 - 09:57
>> ИМХО, гораздо важнее содержание и смысл кода, чем то как именно он структурирован.

Хороший код как раз таки хорошо структурирован. Смысл кода может быть один и тот же, но в одном случае все будет в одной процедуре, в другом случае будет все разнесено по смыслу в разные процедуры.
   vsg-work
 
13 - 11.03.21 - 10:12
(8) (12) (11) (10) (9) (7)
Всем спасибо за ответы.

На самом деле, обработка на один раз, знаю, что использование НайтиПоКоду и НайтиПоНаименованию редкое г...  Но тут обработка, нужно просто тупо выгрузить всех контрагентов и договоры к ним, не хотел садиться за конвертацию, поэтому решил быструю обработку.

Вопрос был задан по интересу и правильности. Можно ли так использовать или нет. И то что можно код вынести в отдельную процедуру, по-моему каждый начинающий прогер знает.
   fisher
 
14 - 11.03.21 - 10:13
Как по мне, полезность областей весьма относительна.
Но если уж их юзать - то в соответствии c системой стандартов 1С. Т.е. никак не для группировки внутри функций.
Да и вообще при хорошем структурировании кода необходимость даже в комментариях возникает редко.
   Кир Пластелинин
 
15 - 11.03.21 - 10:13
кажется попадалось в стандартах разработки от 1с, что использование #Областей правильно только в рамках самого модуля, но не в рамках процедур/функций. но это не точно)
   Вафель
 
16 - 11.03.21 - 10:15
лучше отдельные процедуры
   Волшебник
 
17 - 11.03.21 - 10:15
(14) Согласен. Названия функций и переменных сами по себе являются комментариями
   ManyakRus
 
18 - 11.03.21 - 10:16
Надо делать отдельную функцию создание контрагента а не область
   vsg-work
 
19 - 11.03.21 - 10:16
(9) Спасибо за совет Вам. НА досуге попробую)
   fisher
 
20 - 11.03.21 - 10:22
Цитата из системы стандартов 1С: "объемные разделы модулей рекомендуется разбивать на подразделы по функциональному признаку. Разделы и подразделы оформляются в виде областей"
Плюс ряд разделов и даже их порядок тоже стандартизирован. Ну, в любой современной типовой это легко наблюдать.
   Тихий омут
 
21 - 11.03.21 - 10:47
(8) типовая буха, глобальный поиск НайтиПоКоду(" - 60 вхождений :)))
   ДенисЧ
 
22 - 11.03.21 - 10:50
(21) А что там ищут по коду - ты не смотрел?
   Aleksey
 
23 - 11.03.21 - 10:51
(22) обычно валюту
   ДенисЧ
 
24 - 11.03.21 - 10:51
В основном - классификаторы всякие. Со строгими кодами.
   Kesim
 
25 - 11.03.21 - 11:57
недавно разгребал найтиПоНаименованию/коду более 180 точек в самописной конфе. 4-5 элементов поменяли наименование и не отрабатывали. помимо этого уход от этих методов ускорил открытие некоторых форм на 0,15 секунд.
так что согласен с тем что на области можно не обращать внимание, если есть найтиПоНаименованию/коду
   vsg-work
 
26 - 11.03.21 - 19:27
(25) А чем заменяете "НайтиПоНаименованию" или "НайтиПоКоду"? Запросом?
   Волшебник
 
27 - 11.03.21 - 19:41
(26) Предопределённые элементы справочника, константы, таблицы настройки, параметры обработки, ключи
   fisher
 
28 - 12.03.21 - 11:10
С тех пор как связку предопределенных с пользовательскими сделали нестрогой, вообще красота стала.
Теперь в самописке, как только возникает необходимость в НайтиПоКоду - сразу создаю предопределенный элемент и навешиваю его на нужный элемент справочника. Ну, это если нельзя решить более гибко - через ввод дополнительных признаков.
   Kassern
 
29 - 22.04.21 - 12:15
(0) По поводу областей внутри функций/процедур. В некоторых процедурах даже вложенные области используют)
Процедура ПриСозданииФормыПодбораНаСервере(Форма) Экспорт
    
    Параметры = Форма.Параметры;
    Элементы = Форма.Элементы;
    ЭтоФормаПодбораВДокументыПродажи = ПодборТоваровКлиентСервер.ЭтоФормаПодбораВДокументыПродажи(Форма);
    ЭтоФормаПодбораВДокументыЗакупки = ПодборТоваровКлиентСервер.ЭтоФормаПодбораВДокументыЗакупки(Форма);
    АвторизованВнешнийПользователь = ОбщегоНазначенияУТКлиентСервер.АвторизованВнешнийПользователь();
    
#Область ПолучитьЗначенияФункциональныхОпций

    
    Форма.ИспользоватьУпаковкиНоменклатуры = ПолучитьФункциональнуюОпцию("ИспользоватьУпаковкиНоменклатуры");
    Форма.ИспользоватьХарактеристикиНоменклатуры = ПолучитьФункциональнуюОпцию("ИспользоватьХарактеристикиНоменклатуры");
    Форма.ИспользоватьСтандартныйПоискПриПодбореТоваров = Константы.ИспользоватьСтандартныйПоискПриПодбореТоваров.Получить();
        
    Если ЭтоФормаПодбораВДокументыПродажи Тогда
        Форма.ИспользоватьРучныеСкидкиВПродажах = ПолучитьФункциональнуюОпцию("ИспользоватьРучныеСкидкиВПродажах")
                                                  И НЕ АвторизованВнешнийПользователь;
        Форма.ИспользоватьНоменклатуруПродаваемуюСовместно = ПолучитьФункциональнуюОпцию("ИспользоватьНоменклатуруПродаваемуюСовместно");
        Если Не Форма.РежимПодбораБезСоглашенийСКлиентами    Тогда    
            Форма.ИспользоватьСоглашенияСКлиентами = ПолучитьФункциональнуюОпцию("ИспользоватьСоглашенияСКлиентами");
        КонецЕсли;
        Форма.ИспользоватьРасширеннуюФормуПодбораКоличестваИВариантовОбеспечения = ПолучитьФункциональнуюОпцию("ИспользоватьРасширеннуюФормуПодбораКоличестваИВариантовОбеспечения");
    ИначеЕсли ЭтоФормаПодбораВДокументыЗакупки Тогда
        Форма.ИспользоватьРучныеСкидкиВЗакупках = ПолучитьФункциональнуюОпцию("ИспользоватьРучныеСкидкиВЗакупках");
        Форма.ИспользоватьНоменклатуруПоставщиков = ПолучитьФункциональнуюОпцию("ИспользоватьНоменклатуруПоставщиков");
    КонецЕсли;
#КонецОбласти


    
#Область УстановитьСвойстваФормыПоПараметрам

    
    #Область УстановитьСкладскиеНастройкиПоПараметрам

    
    ЭтоГруппаСкладов = Справочники.Склады.ЭтоГруппа(Параметры.Склад);
   Kassern
 
30 - 22.04.21 - 12:16
(29) типовая конфа ут11
 
 
   Hans
 
31 - 22.04.21 - 12:19
Исползовать области в процедурах и функциях это не правильно.
   Kassern
 
32 - 22.04.21 - 12:20
(31) тогда почему сами разрабы 1с это делают?
   Hans
 
33 - 22.04.21 - 12:24
(32) Похоже что быдлокодеры. Хотя не уверен.
   Kassern
 
34 - 22.04.21 - 12:33
(33) вместо длинной портянки на несколько листов, получается более менее читаемая процедура, где все в одном месте. Видимо в некоторых случаях лучше использовать одну процедуру с областями, чем дробить ее на множество функций/процедур
https://ibb.co/K5X0PPg
   acht
 
35 - 22.04.21 - 12:34
33) https://its.1c.ru/db/v8std/content/456/hdoc пункт 8
Не, ты конечно можешь продолжать считать как тебе угодно, да.
   acht
 
36 - 22.04.21 - 12:35
(34) Да. Например текст запроса и значения устанавливаемых параметров.
   hhhh
 
37 - 22.04.21 - 12:41
(30) + и в БП3 тоже есть, подтверждаю.
   Hans
 
38 - 22.04.21 - 12:43
(34) Дробить как раз таки и надо, а не использовать области.
   Hans
 
39 - 22.04.21 - 12:44
(36) Можно сворачивать тексты запроса. Это норм. Но сам код нельзя.
   Griffin
 
40 - 22.04.21 - 12:45
#Область Скорее_всего_тут_что_-_то_есть

    
#КонецОбласти

При сворачивании области будет так:

Скорее всего тут что - то есть

Немного приятнее для глаза:)
   acht
 
41 - 22.04.21 - 12:47
(38) Чувак. У вендора есть гайд по кодестайлу. Он использует его сам и рекомендует другим.
При таком подходе твое мнение о том что можно и что нельзя - это всего лишь твое частное мнение.

И вот уже началась подгонка этого мнения. То безапелляционое "неправильно" в (31) и (33). Теперь уже "Можно сворачивать тексты запроса". Ты уж определись?
   Hans
 
42 - 22.04.21 - 12:49
Отладкой по таким свернутым текстам проходить пробывали? Что будет?
   Hans
 
43 - 22.04.21 - 12:49
Текст запроса можно свернуть, не критично. Но я в таком случае вынесу текст запроса в отдельную функцию и все.
   Kassern
 
44 - 22.04.21 - 12:50
(42) а что с отладкой не так? Она спокойно по областям ходит
   Kassern
 
45 - 22.04.21 - 12:51
(44) и можно развернуть нужную область и отлаживать уже ее.
   Hans
 
46 - 22.04.21 - 12:51
Процедуры и фунции должны быть размером в один два экрана. А на такие размеры не нужны никакие области. Такая процедура может в голове уместиться и ее легко отлаживать.
   acht
 
47 - 22.04.21 - 12:53
(46) Чистный и незамутненный теоретик =)

Ты БСП когда нибудь внедрял, например? Когда она свои обработчики в формы там записывает...
   Волшебник
 
48 - 22.04.21 - 12:54
(46) Предлагаю 2-3 экрана с книжной ориентацией.
   Hans
 
49 - 22.04.21 - 12:55
(44) Области мешают отладке. При хождении по шагам - заходит в области если они свернутые.
   Hans
 
50 - 22.04.21 - 12:56
(47) А что там с обработчиками?
   Hans
 
51 - 22.04.21 - 12:59
(47) Я не гуру, не экперт. Но мне почти всегда удается писать код с процедурами край в два экрана максимум.
   Hans
 
52 - 22.04.21 - 13:03
Особо радуют те кто пишет:

Если
5 экранов кода
иначеЕсли
5 экранов кода
иначе

КонецЕсли;
   ildary
 
53 - 22.04.21 - 13:06
(49) Как области мешают отладке? Если при хождении по шагам конфигуратор сам развернет область.
   Hans
 
54 - 22.04.21 - 13:09
(53) а в процедуру хочешь заходи, не хочешь - не заходи.
   banco
 
55 - 22.04.21 - 13:12
(14) В стандарте разрешается. В типовых тоже встречал области внутри процедуры.

https://its.1c.ru/db/v8std#content:456:hdoc
Тексты больших процедур и функций можно разбивать на отдельные сворачиваемые области.
   acht
 
56 - 22.04.21 - 13:23
(50) Они автоматически вставляют туда или обновляют вызовы групп своих методов.
Хотя я сейчас заглянул, они похоже на области еще не перешли, все еще используют маркеры типа

// СтандартныеПодсистемы.ВерсионированиеОбъектов
...
// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов



(51) Великолепно! Осталось только осознать, что бест практикс, к которым относятся правила использования областей, они составлены организацией, у которой немного побольше опыта применения в конкретных боевых условия. Ты, конечно, умничка, только пока маленькая и локальная.
   fisher
 
57 - 22.04.21 - 13:26
(55) Да, действительно...
Спасибо за замечание, буду знать.
Но все равно мне это не кажется оправданным. Мне удобнее, когда внутри функции ничего не сворачивается. В идеале функции вообще не должны быть большими, а этапы которые не кажется оправданным выносить в отдельные процедуры привычнее комментариями выделять.
   skpoo
 
58 - 22.04.21 - 13:31
(7) И гонять туда сюда процедуры/функции через стек?
   fisher
 
59 - 22.04.21 - 13:34
(58) Да. Сэкономленные микросекунды ты бережно пронесешь до ближайшего обращения к БД.
   Kassern
 
60 - 22.04.21 - 13:41
(57) я, если честно, сам пока не могу понять логику использования областей, где-то обернут в область стек процедур, где-то запихнут в отдельную процедуру с параметром формы.
К примеру, все тот же модуль из ут11:
Параметры = Форма.Параметры;
    Элементы = Форма.Элементы;
    ЭтоФормаПодбораВДокументыПродажи = ПодборТоваровКлиентСервер.ЭтоФормаПодбораВДокументыПродажи(Форма);
    ЭтоФормаПодбораВДокументыЗакупки = ПодборТоваровКлиентСервер.ЭтоФормаПодбораВДокументыЗакупки(Форма);
    АвторизованВнешнийПользователь = ОбщегоНазначенияУТКлиентСервер.АвторизованВнешнийПользователь();
    
#Область ПолучитьЗначенияФункциональныхОпций

    
    Форма.ИспользоватьУпаковкиНоменклатуры = ПолучитьФункциональнуюОпцию("ИспользоватьУпаковкиНоменклатуры");
    Форма.ИспользоватьХарактеристикиНоменклатуры = ПолучитьФункциональнуюОпцию("ИспользоватьХарактеристикиНоменклатуры");
    Форма.ИспользоватьСтандартныйПоискПриПодбореТоваров = Константы.ИспользоватьСтандартныйПоискПриПодбореТоваров.Получить();
        
    Если ЭтоФормаПодбораВДокументыПродажи Тогда
        Форма.ИспользоватьРучныеСкидкиВПродажах = ПолучитьФункциональнуюОпцию("ИспользоватьРучныеСкидкиВПродажах")
                                                  И НЕ АвторизованВнешнийПользователь;
        Форма.ИспользоватьНоменклатуруПродаваемуюСовместно = ПолучитьФункциональнуюОпцию("ИспользоватьНоменклатуруПродаваемуюСовместно");
        Если Не Форма.РежимПодбораБезСоглашенийСКлиентами    Тогда    
            Форма.ИспользоватьСоглашенияСКлиентами = ПолучитьФункциональнуюОпцию("ИспользоватьСоглашенияСКлиентами");
        КонецЕсли;
        Форма.ИспользоватьРасширеннуюФормуПодбораКоличестваИВариантовОбеспечения = ПолучитьФункциональнуюОпцию("ИспользоватьРасширеннуюФормуПодбораКоличестваИВариантовОбеспечения");
    ИначеЕсли ЭтоФормаПодбораВДокументыЗакупки Тогда
        Форма.ИспользоватьРучныеСкидкиВЗакупках = ПолучитьФункциональнуюОпцию("ИспользоватьРучныеСкидкиВЗакупках");
        Форма.ИспользоватьНоменклатуруПартнеров = ПолучитьФункциональнуюОпцию("ИспользоватьНоменклатуруПартнеров");
    КонецЕсли;
#КонецОбласти

Вот тут могли же создать процедуру ПолучитьЗначенияФункциональныхОпций(Форма) и в нее это пихнуть.
В этой же процедуре где области, есть следующая строчка:
УстановитьЗначенияПоНастройкамФормы(Форма);
С тем же успехом они могли создать область #УстановитьЗначенияПоНастройкамФормы и запихнуть все туда...
 
 
   Kassern
 
61 - 22.04.21 - 13:44
(60) и да, они еще накосячили, назвали 2 области одинаково в этой процедуре, видимо копипастили, внутрянку заменили, а область не переименовали)
#Область УстановитьОтборОсобенностьУчета

    Если Параметры.Свойство("ОсобенностьУчета") Тогда
        ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
        Форма.СписокНоменклатура, "Ссылка.ОсобенностьУчета", Параметры.ОсобенностьУчета, 
            ВидСравненияКомпоновкиДанных.Равно, "ОтборОсобенностьУчета",ЗначениеЗаполнено(Параметры.ОсобенностьУчета));
    КонецЕсли;

#КонецОбласти


#Область УстановитьОтборОсобенностьУчета


    Если Параметры.Свойство("КоллекцияНоменклатуры") Тогда
        ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
        Форма.СписокНоменклатура, "Ссылка.КоллекцияНоменклатуры", Параметры.КоллекцияНоменклатуры, 
            ВидСравненияКомпоновкиДанных.Равно, "ОтборКоллекцияНоменклатуры",ЗначениеЗаполнено(Параметры.КоллекцияНоменклатуры));
    КонецЕсли;

#КонецОбласти
   Hans
 
62 - 22.04.21 - 14:00
(56) Даже если они будут туда вставлять области, то это не для того что бы код был свернут. Они в формы вставляют небольшие куски кода.
   Hans
 
63 - 22.04.21 - 14:20
Я так называемый гугл программист и то такое понимаю.
   fisher
 
64 - 22.04.21 - 14:41
(60) Ну так декомпозиция кода - это вопрос во многом религиозный. Поэтому как карта легла, так и есть. А нужный аспект нужно выделить в любом случае. Неважно, декомпозировался он в отдельную функцию или нет.
   fisher
 
65 - 22.04.21 - 14:49
(64) + Но лично я бы конечно предпочел такие вещи по возможности в отдельные функции выносить.
   Hans
 
66 - 22.04.21 - 15:08
(65) Спец литературу по декомпозиции не знаешь случаем?
   Hans
 
67 - 22.04.21 - 15:34
Функция ЗначениеВФайл(<ИмяФайла>, <Значение>) пример быдлокодинга разработчиков платформы?
   Волшебник
 
68 - 22.04.21 - 15:35
(67) Deprecated - устарело, осуждаемо

Депрекация — в программировании некоторое указание нежелательности применения какой-либо части программы, процедуры или языка программирования.
   Hans
 
69 - 22.04.21 - 15:41
(68) Активно используем.
   fisher
 
70 - 22.04.21 - 17:55
(66) Прям вот отдельно по процедурному программированию не подскажу. В литературе по ООП много про декомпозицию. Многое ведь упирается в особенности более богатых языков - там не грех и подсмотреть best practices когда уже есть некоторое понимание. Ну там строгая типизация, классы, интерфейсы, функции высшего порядка, инъекция зависимостей и прочие факторы. А в 1С же фактически процедурное программирование. Если регулярно приходится рефакторить собственный код, то все большей частью интуитивно приходит и упирается в банальные вещи, к которым просто надо прийти своей шкурой. Через "лень - двигатель прогресса".
Фактически все сводится к ясным наименованиям сущностей и вынесению максимума функциональности в простые однозадачные чистые функции без сайдэффектов.
Я часто больше умственных усилий трачу на придумывание хорошего имени, чем на собственно кодинг. Это повышает ясность мышления. В процессе очень многое автоматически проясняется. Не зря ведь "как вы яхту назовете, так она и поплывет". Когда думаешь, насколько хорошо данное название отражает сущность - часто понимаешь что не только назвать нужно иначе, но и реализовывать тоже. Часто при этом приходит в голову, как можно дешево повысить универсальность кода.
Когда пытаешься писать самодокументируемый код, то грамотная декомпозиция проявляется автоматически, как сайдэффект :)
   МимохожийОднако
 
71 - 22.04.21 - 18:08
Если функция будет использоваться только один раз в коде, то её можно и не создавать. В этом случае включение в область самое то.))
   Cthulhu
 
72 - 22.04.21 - 18:12
выше много кто прав.
если внутри процедуры/функции выделена область - значит это временное решение, "костыль" и напоминание о том, что содержимое области необходимо вынести в отдельную процедуру (реже - функцию).
точка.
   Волшебник
 
73 - 22.04.21 - 18:19
(69) В 1С скоро добавят атрибуты. Истину вам говорю!
   acht
 
74 - 22.04.21 - 21:46
(73) &Причиндал РежимСовместимости("Авто")
   Mort
 
75 - 22.04.21 - 21:56
Запрос.Текст = 
[Область текст запроса]

гораздо удобнее чем:

Запрос.Текст = ПростоВернутьОченьДлинныйЛитерал();


Хотя если текст запроса собирается по кускам, то выносить стоит.
   acht
 
76 - 22.04.21 - 22:04
(72) Еще за кулисами есть сценарий
#Область Изменил_Иванов_Иван_Иванович_1_апреля_45_размер_ноги
#КонецОбласти

Но на нашей сцене все пишут чистейший код и срут бабочками
   Kassern
 
77 - 23.04.21 - 09:02
(76) а это нормальная практика свои вставки кода через область выделять?
   Kassern
 
78 - 23.04.21 - 09:03
(77) или это все от лукавого?)
   acht
 
79 - 23.04.21 - 09:09
(77) Что есть "нормальность"?
   fisher
 
80 - 23.04.21 - 09:18
(77) Почему нет. Сразу бросается в глаза на фоне обычных комментариев. Другое дело, что в идеале это вообще не нужно (если конфигурация сопровождается через удобную VCS). Но...
Если это типовая с единичными правками, сопровождаемая от случая к случаю самыми разными подрядчиками - то вариантов нет.
   Hans
 
81 - 23.04.21 - 09:21
(78) От лукавого.  В сравнении объединении области отдельно показывают.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.