Имя: Пароль:
1C
1С v8
Короткие имена переменных
,
0 romix
 
30.09.16
18:27
1. Короткие имена недопустимы ни в каком виде 48% (11)
2. Допустимы типичные короткие имена (5-6 сокращений) 26% (6)
3. Допустимы однобуквенные счетчики цикла: i, j, x, y 26% (6)
Всего мнений: 23

"Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8" пишет:
http://its.1c.ru/db/v8std/content/2149184103/hdoc
"4. Имена переменных не должны состоять из одного символа. Использование коротких имен переменных допускается только для счетчиков циклов".

В то же время:
http://its.1c.ru/db/metod8dev/content/2588/hdoc
Методическая поддержка для разработчиков и администраторов 1С:Предприятия 8 содержит такой пример:

тзДанные = РегистрыСведений.КурсыВалют.СрезПоследних(ВыбДата, );
Для Каждого Стр Из тзДанные Цикл
      Сообщить("Для валюты " + Строка(Стр.Валюта) + " курс на заданную дату: " + Строка(Стр.Курс) + ", кратность: " + Строка(Стр.Кратность));    
КонецЦикла;


Получается, что имена переменных могут быть двух- и трех-буквенными (тз, стр)? А счетчики цикла - однобуквенными (i, j..)?

Разлапистые имена переменных цикла типа ВыборкаДетальныеЗаписи (кстати, эквивалент ли это счетчика цикла с точки зрения стилистических рекомендаций?) - лично меня смущают - хочется иметь некоторый набор общеупотребительных сокращений для типичных случаев, чтобы не печатать и не читать с экрана много лишних букв.

Много повторяющихся переменных возникает при заполнении структур, при заполнении новой строки и при анализе выборки. Для них хочется использовать одно- и двухбуквенные переменные (например, "ст", "нс" и "вв", соответственно). Для таблицы значений допустимым выглядит имя или префикс тз, а для строки - стр.
1 Господин ПЖ
 
30.09.16
18:29
>Для таблицы значений допустимым выглядит имя или префикс тз, а для строки - стр

ромикс открыл для себя венгерскую нотацию?
2 H A D G E H O G s
 
30.09.16
18:30
Короткими считаю имена вида

Счетчик1
Счетчик2

Короткие имена недопустимы ни в каком виде
3 H A D G E H O G s
 
30.09.16
18:31
За короткие имена - расстрел.
Или оставлять в резервациях 7.7.
4 jsmith
 
30.09.16
18:32
Использую Итер, Стр, НовСтр, ТЗ, МС
Если в коде пересечение, то добавляю к ним сущности
5 mehfk
 
30.09.16
18:33
тз, сз - норм.
тз1 и сз1 и т.д. - швах.
6 jsmith
 
30.09.16
18:33
Переменные всегда с большой буквы, между операторами пробел.
7 H A D G E H O G s
 
30.09.16
18:36
(4) Ты работал плотно с 7.7, не так ли?
8 jsmith
 
30.09.16
18:36
(7) Я не семерочник. Причем тут это.
9 H A D G E H O G s
 
30.09.16
18:37
10 romix
 
30.09.16
18:37
(2) А как понять, какая из них x и y?
11 H A D G E H O G s
 
30.09.16
18:37
(10) Первый уровень вложенности - Счетчик1, второй - Счетчик2
12 romix
 
30.09.16
18:39
(11) Обход (таблицы, матрицы...) может быть по строкам и по столбцам.
13 Господин ПЖ
 
30.09.16
18:40
>За короткие имена - расстрел.
>Или оставлять в резервациях 7.7.

выбрать
т1.блабла1
т1.блабла2
т2.блабла1
т2.блабла2
т3.блабла1
т3.блабла2
из
остаткиневедомойкуйни как т1
оборотытакогожесамого как т2
чуманаобавашихдома как т3

и к ним еще портянка каких-нибудь левых соединений т1 к т2 и ко всему на свете, подзапросов, условий и перекладываний в вт1, вт2, вт3

и такого - 3 общих модуля и пять документов
14 H A D G E H O G s
 
30.09.16
18:40
(11) СчетчикСтрок, СчетчикСтолбцов

пешите код красиво.
15 jsmith
 
30.09.16
18:41
Люди, главное не писать как пишет Рарус!
16 romix
 
30.09.16
18:41
(6) Венгерская нотация - всегда с маленькой буквы. Вот, например, в коде на ИТС в сабже есть переменная тзДанные.
17 Garykom
 
гуру
30.09.16
18:44
Пока "именование" переменных не будет прописано в стандарте языка или в IDE/конфигураторе/платформе - именовать можно как угодно.

И когда мне мешают короткие имена в коде, то просто беру инструмент и делаю рефакторинг на ходу переименовывая всяческие i в Счетчик1 и т.д.
18 Garykom
 
гуру
30.09.16
18:46
(16) Это не венгерская нотация а стандарт от какого то франча по 77 который стал распространенным

всяческие лспрНоменклатура, лдокПКО и лсСтрока вплоть до лтзДанные
19 jsmith
 
30.09.16
18:46
>>всяческие i
Мастер переключения раскладок?
20 jsmith
 
30.09.16
18:46
(18) На Рарус похоже.
21 Господин ПЖ
 
30.09.16
18:46
(18) думаешь франь это с потолка взял?
22 romix
 
30.09.16
18:46
(14) Допускаются же короткие имена переменных. С длинными всё понятно. Да, можно. Но насколько обязательно и зачем? x y вполне уместны для счетчика цикла.

Допустимы однобуквенные счетчики цикла: i, j, x, y
23 Garykom
 
гуру
30.09.16
18:47
(19) нет пишу сч1, сч2 и т.д.
24 romix
 
30.09.16
18:47
(18) Указание на локальность там точно лишнее.
25 Garykom
 
гуру
30.09.16
18:48
(23)+ i и прочие оставляю только когда переделываю код на 1С с другого языка
26 Господин ПЖ
 
30.09.16
18:48
и потом это удобно - тип + локализация

зачем всех загонять в "кэмел" когда нет жесткой типизации
27 Garykom
 
гуру
30.09.16
18:51
(24) неа ибо глККМ или глПользователь
Суть этих "л" что очень удобный интелсенсе с Телепат.длл
28 Zhuravlik
 
30.09.16
18:51
Единственная двухбуквенная переменная в моем коде - это сч (счетчик для одноуровнего цикла).
Однобуквенные чем неудобны: не выделишь по двойному клику - чтобы увидеть в подсветке их по коду надо аккуратно выделять, это бесит. Две буквы - еще куда ни шло, но *только* для одноуровневых циклов.
Раньше использовал еще приставки типа тз, сз, со временем отказался и от них. Приставки мне обычно нужны для того чтобы выделить тип коллекции - использую соотв. "ТаблицаДолжностейКонтрагентов", "ДеревоГруппНоменклатур", "МассивУдаляемыхСтрок" и т.п. Так что 3.

Короткие имена недопустимы ни в каком виде
29 Garykom
 
гуру
30.09.16
18:51
(27)+ В 8-ке Телепата нету и поэтому нету смысла все переменные локальные с одной буквы начинать, один фиг почти полностью набирать придется
30 romix
 
30.09.16
18:52
(19) Я сейчас делал алгоритм для транспортной задачи, по ней вся литература содержит i, j. Переключение не напрягает, потому что для ввода квадратных скобок [i][j] надо все равно переключать раскладку.
31 Господин ПЖ
 
30.09.16
18:52
счетчики в виде i или j

это пережиток из лабораторных по паскалю. за такое в реальном проекте надо ноги выдергивать
32 Garykom
 
гуру
30.09.16
18:53
(30) для ввода скобок надо сменить раскладку в оси а не переключать ))
33 Zhuravlik
 
30.09.16
18:53
(30) Можно шаблон натравить на "хъ" :)
34 romix
 
30.09.16
18:53
(31) Пережиток из математики. Вся математическая литература содержит эти индексы матриц. Да еще и мелким шрифтом.
35 Garykom
 
гуру
30.09.16
18:54
36 Господин ПЖ
 
30.09.16
18:54
>по ней вся литература содержит i, j

это либо чисто математические формулы - там краткость нужна для написания

либо куски кода на "псевдоязыках" как в книжках по алгоритмам


зы писали бы на плюсах лучше, дебилы
37 Garykom
 
гуру
30.09.16
18:54
(35)+ кста в лине с раскладками просто супер, какие хошь такие и задаешь ))
38 Garykom
 
гуру
30.09.16
18:55
(30) Кста раскрой плиз ТЗ по "алгоритму транспортной задачи", хотя бы частично
39 H A D G E H O G s
 
30.09.16
18:56
(28) "ТаблицаДолжностейКонтрагентов", "ДеревоГруппНоменклатур", "МассивУдаляемыхСтрок"

+10000005000000
Yes, God, yes!
40 romix
 
30.09.16
18:57
(28) Я сейчас проверил - однобуквенная переменная выделяется точно так же, как и двухбуквенная. В обоих случаях ничего не подсвечивается (в 1С 8.3.8.2088).
41 romix
 
30.09.16
18:59
(38) Все открыто лежит же. Статью с подстатьями я писал. Там внутри исходники.
http://cyclowiki.org/wiki/Транспортная_задача
42 Злопчинский
 
30.09.16
19:01
(22) x и y допустимы как счётчик цикла если цикл влазит на экран, то есть грубо когда весь цикл влазит в 10-15 строк, если больше - надо обязательно писать вменяемо
43 Garykom
 
гуру
30.09.16
19:03
(41) Эээту задачку в идеальном виде нифига не встретить в реале.

Обычно поставщики это разные не связанные конторы как и потребители и нифига не оптимизировать.

Но была бы не плохая идея сделать на основе этой задачи некий универсальный ресурс по типу "тендеров" для оптимального распределения "лотов".
44 Злопчинский
 
30.09.16
19:04
Вы лучше алгоритм напишите для построения кратчайшего пути для сборщика на складе
45 romix
 
30.09.16
19:07
(36) Там очень древние традиции, как и у музыкантов. Если менять нотацию, то теряется связь с древностью. :-)

Кстати, 1С:Предприятие поддерживает греческие буквы, если кто не знал.
46 romix
 
30.09.16
19:12
(43) Да появилась она же, но в усложненном виде (трехиндексная, по-моему). Как решать, хз.

(44) А это не «задача коммивояжера» или что-то подобное?
47 Serginio1
 
30.09.16
19:15
Конечно. Я сам применяю аналог $ типа ъ.
  Смыла давать счетчикам осмысленные имена имеет только во вложенных циклах.
А вот методам лучше давать осмысленные имена

Допустимы однобуквенные счетчики цикла: i, j, x, y
48 romix
 
30.09.16
19:15
(39) >"ТаблицаДолжностейКонтрагентов", "ДеревоГруппНоменклатур", "МассивУдаляемыхСтрок"

Так с этим никто по-моему не спорит, а как насчет строки этой таблицы? Элемента выборки из массива?

Может, они эквивалентны по своей сути фразе с ИТС:

"Использование коротких имен переменных допускается только для счетчиков циклов"
49 Злопчинский
 
30.09.16
19:15
Один из наших коллег, достаточно известный по доработками клюшек, написал по моему заданию маленькую обработку

Но так как он настоящий программист - все было написанов сишном стиле, с короткими пеоеменными.

Читать я это смог но со значительным усилием.

Внятные наименования весьма способствуют пониманию логики проги и преемственности кода
50 Zhuravlik
 
30.09.16
19:15
(40) да, это откуда-то с другого места опыт был... Помню точно что нельзя было спровоцировать подсветку без выделения переменной. Наверное из 7.7.
В v8 однобуквенная подсвечивается при позиционировании на нее. Только подсветку надо включить - Сервис\Параметры\Модули - текущий идентификатор, Выбранный идентификатор и Границы(они по умолчанию блекло-серые - неудобно).
Но все-равно однобуквенные - неудобно, не знаю - может сила привычки говорит во мне))
51 Garykom
 
гуру
30.09.16
19:18
(44) Сначала придумай как схему склада задавать, а алгоритмы давно есть.
Банальный А+ или волновой поиск
52 romix
 
30.09.16
19:19
(50) Ой, а я и не знал про раскраску кликнутой переменной, сейчас проверил, спасибо. Однобуквенные тоже выделяет. :-)
53 Asmody
 
30.09.16
19:21
Код должен быть самодокументируемым.
54 Злопчинский
 
30.09.16
19:22
(46) да хз
Хочется ещё и с минимумом исходных данных

Если представить линейный склад из кучи стеллажей с заходом с торцов и возможностью перехода из прохода в проход по пожарным прозодам в разных местах стеллажей то имхо это как-то описывается графом

А если учесть что склад может иметь не регулярную структуру и стеллажи могут стоять по всякому то тут либо пространственные координаты ячеек с матрицей расстояний между любыми двумя ячейками

В последнем журнале на логистичнскую тематику - взял га cemat2016 - была весьма вменяемая статья с алгоритмом на эту тему
55 Zhuravlik
 
30.09.16
19:22
(48) Если есть порядочная портянка кода внутри цикла, то лучше называть соответственно. УзелГруппыНоменклатур (_ур0, _ур1), СтрокаТаблицыДолжностей, УдаляемаяСтрока (для цикла по массиву) и т.п. - как по мне это железное правило при групповой разработке. Вот если ваять что-то минутное можно не заморачиваться.
56 romix
 
30.09.16
19:23
+(45) Проверил также дореформенные символы, они в текущей версии 8.3 тоже поддерживаются.
57 Злопчинский
 
30.09.16
19:25
(51) дай подробнее ссылку/инфу про а+ и волновой поиск
58 Zhuravlik
 
30.09.16
19:28
(52) Еще очень рекомендую шаблоны. Сначала тосковал по openconf, пытался работать с Снегопатом - но как только начал юзать шаблоны все нормально стало. На том-же сайте что в ссылке из (35) - http://1c.chistov.pro/2009/10/1-8.html, актуальны до сих пор.
Ну и ИР, если в 7.7 без openconf как без рук, то ИР - такая же аналогия для v8.
59 Злопчинский
 
30.09.16
19:28
(51) а чего придумывать? Склад есть физический объект со вполне измеримыми расстояниями, связностями, достижимостями. Как надо для алгоритма так и зададим
60 romix
 
30.09.16
19:29
(53) Мы же используем сокращения кг, км, шт. Почему бы не использовать сокращения тз, ст, вв (таблица значений, структура, элемент выборки)?
61 Garykom
 
гуру
30.09.16
19:31
(57) А* правильно https://ru.wikipedia.org/wiki/Алгоритм_поиска_A*
Ну и https://ru.wikipedia.org/wiki/Алгоритм_Ли

Суть что строятся все маршруты между всеми нужными точками (местами сбора) и далее перебор банальный
62 Zhuravlik
 
30.09.16
19:32
(60) Потому что "кг, км, шт" есть в стандарте, и о них все знают. А еще это больше пользовательские сущности.
А тз, ст, вв - в стандартах нет. Я бы лично не понял увидев вв что это элемент выборки. Если только по контексту, но это не дело.
63 romix
 
30.09.16
19:38
(62) Стандарт можно и доработать - вместо ВыборкаДетальныеЗаписи писать вв. :-)

Суть в том, чтобы несколько сокращений (5-6 штук) было как исключение, потому что их вхождений очень много в любой конфигурации.

То, что это элемент выборки Для Каждого, видно из контекста, и это похоже на счетчик цикла (а, может быть, и является в какой-то - или полной - мере счетчиком цикла).
64 Garykom
 
гуру
30.09.16
19:42
(63) Угу и будет вот https://upload.wikimedia.org/wikipedia/ru/a/aa/Scratch_Script_Screenshot.ru.png такое "программирование" в 1С ... ))
65 Garykom
 
гуру
30.09.16
19:44
(64)+ Можно будет гордиться что написал учетную систему только мышкой без единой строчки кода с клавы вручную...
66 mistеr
 
30.09.16
19:48
Код с сокращениями читабелен только в случае, если ты сам сейчас пользуешься точно такими же. Пройдет полгода и ты сам не сможешь прочитать собственный код с первого раза.

На 95% такой код write-only.

Короткие имена недопустимы ни в каком виде
67 Смотрящий
 
30.09.16
19:50
До звезды абсолютно, как написан код в 1С, умение читать, и разбираться, в любом коде - показатель профпригодности.
Чего не скажешь о (0)-(66)
68 Garykom
 
гуру
30.09.16
19:51
(67) см (17) и научиться "читать" уже не только "код"
69 romix
 
30.09.16
19:52
(58) Поставил закладочку, попробую...
http://catalog.mista.ru/public/15126/
70 romix
 
30.09.16
19:54
(66) Для счетчиков цикла можно же сокращать, так и написано. А для элементов выборки (Для Каждого) я думаю тоже можно сокращать, потому что суть ведь та же самая.

Допустимы типичные короткие имена (5-6 сокращений)
71 mistеr
 
30.09.16
19:58
(67) Умения читать мало, чтобы считаться грамотным. Нужно еще писать уметь. В конце концов, это вопрос уважения к коллегам.
72 romix
 
30.09.16
19:59
73 Zhuravlik
 
30.09.16
20:03
(67) Да разобраться можно в чем угодно. Вопрос времени. Когда код самодокументируем - с ним легко работать, значит быстрее можно добиться результатов.
Мне вот нравится код в типовых - никогда с ним проблем не имел. А то, что пишут погроммисты ни разу не читавшие ИТС (к прискорбию их овер 90% по-моему) - это такое мракобесие... Да мне просто влом с *этим* работать - за любые деньги))
74 romix
 
30.09.16
20:04
(71) Аббревиатуры - могут быть стандартизованы, они есть во всех областях знания. Но почему бы ограниченному набору сокращений не быть и в программировании 1С? Нескольких типовых сокращений имхо будет достаточно.
75 Смотрящий
 
30.09.16
20:11
(71) Гы. Уважения. Ты просто не сталкивался с "программиздами" имеющими мохнатую лапу, но не имеющим мозгов и "имеющим вес" в компании. "Кривой" исходный код очень быстро выводит таких на чистую воду.
(73) Тебе клиент чехлит бабло, а ты как пчела против меда.
76 romix
 
30.09.16
20:38
(75) Смотря что считать кривым кодом. Это зависит от используемых соглашений. Все ли сокращения предметной области недопустимы? А кодирование - это такая же предметная область, как и любая другая.


ПараметрыЗаполненияЦен = Новый Структура;
ПараметрыЗаполненияЦен.Вставить("Дата");
ПараметрыЗаполненияЦен.Вставить("Валюта");
ПараметрыЗаполненияЦен.Вставить("ПересчитыватьСумму", Истина);
ПараметрыЗаполненияЦен.Вставить("ОбязательныеПараметры","Дата,Валюта"); // обязательные параметры, которые нужно заполнять
Возврат ПараметрыЗаполненияЦен;



с = Новый Структура;
с.Вставить("Дата");
с.Вставить("Валюта");
с.Вставить("ПересчитыватьСумму", Истина);
с.Вставить("ОбязательныеПараметры","Дата,Валюта"); // обязательные параметры, которые нужно заполнять
Возврат с;
77 Смотрящий
 
30.09.16
20:44
(76) Мелкая функция не создаст поблем при чтении и анализе. А так - Ctrl+H "c." на "ПараметрыЗаполненияЦен."; и руками поправить "с = Новый" и "Возврат с"
там в (17) еще о рефакторинге побздехивали.
78 Torquader
 
30.09.16
20:46
Я бы написал лсткПараметрыЗаполненияЦен, чтобы и тип был понятен и назначение.
79 Смотрящий
 
30.09.16
20:49
(78) тех кто пишет "лтск", как папук, впереди переменной - карать надо ректально
80 romix
 
30.09.16
20:52
(77) Ctrl-Alt-R, если уж на то пошло.

Но мне хочется наоборот заменять типичное на короткое, в строго определенных случаях, которых может быть 5-6-7.
81 Смотрящий
 
30.09.16
20:57
(80) Эска не знает Ctrl-Alt-R оО
82 GedKo
 
30.09.16
20:59
а в чем смысл сокращения имен при наличии автодополнения? сэкономить 1к кода?

зы. любителей альтернативы методов/переменных 100500 длиной тоже ждет отдельный котел.
83 romix
 
30.09.16
20:59
(81) Выделить переменную, нажать Ctrl-Alt-R, система спросит, на что ее заменить. Или из контекстного меню "Рефакторинг...".
84 romix
 
30.09.16
21:00
(82) Меньше букв читать глазами.
85 romix
 
30.09.16
21:01
+(83) Это в 8.3 появилось недавно.
86 Torquader
 
30.09.16
21:01
(79) Я не знаю, чем вам не нравится, я всегда так пишу, причём, практически во всех языках программирования, зато в этом случае возможно иметь сразу и лчКод и лстрКод и не бояться, что кто-то в них запутается.
87 romix
 
30.09.16
21:01
(86) л то зачем?
88 Torquader
 
30.09.16
21:03
(87) Для всех локальных переменных пишется л, для модульных м, для реквизитов р, а для экспортных э, для параметров функции п.
Зато сразу ясно, что и к чему относится, и очень тяжело запутаться.
89 Смотрящий
 
30.09.16
21:03
(82) Я так и знал что ежа зажарят
(83) Эт долго - выделить ... нажать ... написать. Ctrl+H - нажать ... написать ...
(87) локальная, типо
90 Смотрящий
 
30.09.16
21:06
(88) Брось ты стандарт папука, фу - кака
91 GedKo
 
30.09.16
21:07
(84) ты не читаешь буквы, а осознаешь выражения.

не видел текст-шутку без гласных который элементарно воспринимается?

При переменных схожих по именам - да, проблема. Но так делать и не нужно.
92 Fragster
 
гуру
30.09.16
21:10
если переменная используется в пределах одного экрана

Допустимы однобуквенные счетчики цикла: i, j, x, y
93 GedKo
 
30.09.16
21:14
а сокращения, с одной стороны, логичны:
тз - таблица значений
тс - текущая строка
тд - табличный документ.

Но видеть их сочетания рядом - кровь из глаз.
94 Fragster
 
гуру
30.09.16
21:20
(93) у меня ТЗ, ТекСтр и ТабДок
95 GedKo
 
30.09.16
21:27
(94) это если простой цикл. а если иерархия есть? текСтр1?
96 Fragster
 
гуру
30.09.16
21:29
(95) не понял. если просто цикл - то Сч, Выборка. Если вложенные, то СчСуффикс и ВыборкаСуффикс, например ВыборкаНоменклатура. Если обход дерева - то делаю рекурсией.
97 Dmitry77
 
30.09.16
21:35
Можно ещё вспомнить как именуются ячейки и переменные в регламентировано отчетности
98 ERWINS
 
30.09.16
21:40
Стр это счетчик цикла.
99 romix
 
30.09.16
21:46
(91) Мозг-то всё равно читает буквы... Тут хочется облегчить жызнь мозгу. Но при этом, конечно, не ударяться в другую крайность, когда много всяких переменных типа тыр пыр. Счетное множество сокращений могло бы быть уместным, как м или с в физике.

(94) У меня тз, стр и ТабДок (последнее сокращение делает встроенный конструктор 1С).

(96) У меня всё точно так же (переменную выборки хочется сокращать до вв).
100 Морковка
 
30.09.16
21:47
Код должен быть читаемым, все остальное фигня. Одно дело когда у тебя какая-нибудь непонятная стр то и дело попадается в течение 500 строк, а другое дело какой-нибудь краткий счетчик для цикла в пару строк или переменная в коротенькой функции. Опять же длинное имя совсем не гарантия, что понятно что это такое Ну вообще культуру оформления кода характеризуют не только имена переменных
101 Смотрящий
 
30.09.16
21:48
(98) I и J это sчетчики циклов. Sтр это вsегда была sтрока
102 Злопчинский
 
30.09.16
21:50
(61) боюсь при сотне ячеек сборки это будет не сильно быстро?
103 Злопчинский
 
30.09.16
21:54
(64) я вот как раз думаю что бизнес приложения и должны так строиться, это само собой приведёт к стандартизации и модульностм
104 GedKo
 
30.09.16
21:58
(96) а если потом в цикл/выборку нужно вложить еще один цикл? сч1, выборка1?

Почему бы сразу не дать осмысленные имена?
105 romix
 
30.09.16
22:05
(98) Я сейчас проверил запросом в Гугле:


"для каждого" цикл site:its.1c.ru


Там много примеров именно сокращенного использования. Указание, что это именно "счетчик цикла", я сходу не нашел.


Для каждого СтрСписка из

Для каждого Стр из ОформленияСтрок Цикл

Для Каждого Стр Из тзДанные Цикл

Для каждого Стр из ОформленияСтрок Цикл

Для Каждого Сотр Из ОтмеченныеСотрудники Цикл

Для Каждого СтрСостава Из Состав Цикл

Для Каждого СтрокаТЧ Из ТабЧасть Цикл

Для Каждого ТекСтрокаСостав Из Состав Цикл

Для Инд = 0 По Картинки.length - 1 Цикл

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

Для Каждого ТекСтрокаТовары Из Товары Цикл

Для каждого КолонкаТП из Элемент.Колонки Цикл


Это всё поисковые находки из святая святых - сайта ИТС - its.1c.ru.
106 romix
 
30.09.16
22:18
(104) Вложенные циклы относительно редки, там уже уместны более полные имена (чтобы не перепутать одно с другим).

Да и уместно выкидывание обоих циклов в отдельную функцию и даже отдельный модуль (чтобы прыгать по F12 и возвращаться назад было удобнее).
107 b_ru
 
30.09.16
22:52
То ли дело САП - тама все имена переменных, таблиц и столбцов - не более 8 символов ascii и не волнует.

По сабжу:

Допустимы типичные короткие имена (5-6 сокращений)
108 Torquader
 
30.09.16
23:38
(107) Есть языки программирования где имена переменных могут состоять только из цифр, так что ASCII - это уже что-то.
Опять же, никто не мешает написать транслятор, чтобы изначально были длинные и красивые имена переменных, а на выходе, сочетания букв и цифр.

Что касается короткого имени, то если переменная упоминается только в нескольких смежных строках одного экрана, то ей и однобуквенное имя вполне подходит, а вот если уже несколько экранов или модульная, то тут нужно осмысленное имя.
Хотя, никто не мешает сделать общий объект модуля в переменной "Ы" - всем будет понятно, что это, если вверху в комментарии это написано.
109 Nirvana
 
30.09.16
23:52
1) Короткие имена допустимы для простых значений.
Н=0
Да="Да"

2) Имя переменной должно отражать её содержимое.
Для Каждого СтрокаДанных Из МатрицаДанных Цикл
Для Шаг=1 По 100 Цикл

3) Сокращения (типа "Стр", "Спр", "Таб", "Шаб") неприемлемы ни в каком виде.

4) Для одноразовых или локальных задач допустимы короткие имена переменных, вплоть до односимвольных. Однако чем более универсален модуль, чем более эта часть программы "расширяема", тем более подробными должны быть имена переменных.

5) Для переменных, которые не используются в алгоритме, но необходимы для синтаксической корректности, допустимы минимальные имена.
110 Torquader
 
30.09.16
23:54
(109) А что в 1С для "синтаксической корректности" НЕОПРЕДЕЛЕНО писать запретили ?
111 orefkov
 
01.10.16
00:19
(29)
>>  В 8-ке Телепата нету и поэтому нету смысла все переменные локальные с одной буквы начинать,
>> один фиг почти полностью набирать придется
Это не совсем так:
https://www.youtube.com/watch?v=J5fBCh9cugs
112 Nirvana
 
01.10.16
00:21
(110) В некоторых случаях переменная должна быть одним из обязательных параметров функции, и туда помещается определённое значение.
113 Torquader
 
01.10.16
00:27
(112) Если в 1С тебе это значение не нужно - можно написать НЕОПРЕДЕЛЕНО - система-то должна сообразить, что происходит.
А если значение нужно передать в функцию, то можно написать это значение.
Здесь же не php, где если указано, что передаётся по указателю - нужно передавать именно переменную.
114 Митяйский
 
01.10.16
09:30
ИменемХранителяСервераИПовелителяТонкогоКлиентаПойдиЗаНепонятноКакойФигнейНаСерверПовтИсп()

Код нечитаем из-за таких длинных портянок.
С пояснением назначения функции в сто раз лучше справляются комментарии.
Уникальность наименования также достигается за счет гораздо меньшего числа символов.

Так что единственная причина, по которой имеет смысл пользоваться такими переменными - это ЧтобыКодБылМаксимальноПохожНаСтандартныеПроцедурыТипаКакВБСПИлиТиповыхКонфигурацияхАОниКакРазЭтойРекомендации1СПридерживаются

Допустимы типичные короткие имена (5-6 сокращений)
115 mistеr
 
01.10.16
13:58
(114) То есть ты предлагаешь ИХСИПТКПЗНКФНСПИ(), я правильно понял?
116 DailyLookingOnA Sunse
 
01.10.16
16:06
(114),(115)
Нужны локальные псевдонимы модулей.

ОБЪЯВИТЬ МойЛюбимыйМодульРасчетовПоКоэффициентамОпределяемымВДругомМоемНелюбимомоМодулеКоторыйКлиентСерверАЛюбимыйМодульТолькоСерверПереопределяемый КАК МодульЛюбимий;

РезультатРасчета = МодульЛюбимый.КоэффициентПодразделения(Подразделение)*МодульЛюбимый.КоличеяствоСотрудниковПодразделения(Подразделение);

ОБЪЯВИТЬ;
117 impulse9
 
01.10.16
16:22
Ребята, делающие короткие имена переменных, что вы делаете с этой кучей свободного времени, которое вы сэкономили?

Короткие имена недопустимы ни в каком виде
118 KSergey1C
 
01.10.16
17:52
(0) > Получается, что имена переменных могут быть двух- и трех-буквенными (тз, стр)? А счетчики цикла - однобуквенными (i, j..)?


"тз" - это не имя переменной, а тип переменной.

А "стр" - это  и есть фактически счетчки цикла, хотя конечно правильнее стрДанные

Длина же переменных зависит от сложности программы.

Если у тебя простая обработка, которую не предполагется переделывать то и короткие имена допустимы.
119 Fragster
 
гуру
01.10.16
18:57
(116) попробуй так:
Любимый = МойЛюбимыйМодульРасчетовПоКоэффициентамОпределяемымВДругомМоемНелюбимомоМодулеКоторыйКлиентСерверАЛюбимыйМодульТолькоСерверПереопределяемый;
РезультатРасчета = Любимый.Х()*Любимый.У()+Любимый.Й();
120 Fragster
 
гуру
01.10.16
18:57
даже пародия на интеллисенс работать будет
121 orefkov
 
01.10.16
19:36
(120)
Ну, зря вы так про "пародию". Для языка без жёсткой типизации интеллисенс в восьмёрке довольно хорош. Это я вам как человек, кодивший на javascript в разных IDE говорю.
122 lvz
 
01.10.16
19:51
Согласен со стандартами 1С.
и с (100).

Допустимы однобуквенные счетчики цикла: i, j, x, y
123 DailyLookingOnA Sunse
 
01.10.16
20:10
(119)
О, точно, забыл про ссылки на модули.
Складываем в дальнюю память, вдруг меня кодить куда возьмут.
124 Nirvana
 
01.10.16
21:00
(113) А я, кажется, так когда-то пробовала, и это заканчивалось ошибкой типа <<Переменная недоступна для записи>>.
125 romix
 
01.10.16
21:01
(117)  У вас нет завала с задачами в Редмайне?
126 Лефмихалыч
 
01.10.16
21:16
Единственное короткое имя, которую использую - это
Для СчЦ=0 по 10 Цикл

всё. Когда есть вложенные циклы, тогда счетчики называю именами того, что они считают.

И ни когда не использую эти венгерские угондгрёбищные префиксы. Их придумали мудаки.

В именах переменных избегаю вообще название типов, чтобы код сам себя документировал, исходя из своего смысла, а не из типов переменных. Хотя при этом переменные вида МассивСсылок или СписокПараметров в допускаю - это маленькое и допустимое зло.

Короткие имена недопустимы ни в каком виде
127 IamAlexy
 
01.10.16
22:26
массив = новый массив;
128 romix
 
01.10.16
22:30
(126) А что делает этот цикл? Долбит 10 раз?
Востребованность цикла Для (не Для Каждого) сомнительна. Зачем именно для него короткие переменные, если он почти никогда реально не используется...
129 Nuobu
 
02.10.16
14:07
(125) Короткие имена не влияют на скорость выполнения задачи.

Короткие имена недопустимы ни в каком виде
130 Лефмихалыч
 
02.10.16
22:55
(128) >А что делает этот цикл?
какая погода на твоей планете, Ромикс? тебе знакомо словосочетание "для примера"? Этот конкретный - вообще ни чего.

>Востребованность ... сомнительна. Зачем бла-бла-бла
вот ровно потому, что редко используется, лично я и допускаю только для него короткое имя для счетчика.
131 novichok79
 
02.10.16
22:58
Иногда, когда разбираю код предыдущего программиста в базе, хочется вот встретить его, взять за плечики и так потрясти пару раз сильно, и спросить ЗАЧЕМ?

Короткие имена недопустимы ни в каком виде
132 orefkov
 
03.10.16
00:34
Если код функции умещается на пол-экрана, а ее название ясно и чётко говорит о её назначении, то длина названий переменных внутри функции уже не так важна. Тем более в нынешних конфигураторах, где выбранная переменная сразу подсвечивается по тексту.
Вывод - держите названия своих функций большими, а сами их - маленькими.
PS: Это был совет для идеального мира...
133 Torquader
 
03.10.16
01:14
(132) Идеальный мир ? В Программировании ?
Сферического коня в вакууме вам, а не идеальный мир.
134 orefkov
 
03.10.16
01:31
(133)
А хрен ли тогда обсуждать длину названий переменных в 1С? Один фиг идеала не будет. И благо бы типичный одинэсник копался в своём коде, где он называет переменные как ему надо. Но нет - жизнь типичного одинэсника наполнена копанием в коде прошлых товарищей (там он хоть как-то может переписать под идеал), и в коде типовых от 1С - там он вообще никак на названия переменных не повлияет. И что тогда тут обсуждать?
135 IamAlexy
 
03.10.16
01:37
про

ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокументИмениБорисаГеоргиевичаНуралиева


уже шутили?
136 orefkov
 
03.10.16
01:44
(135)
Святым не шутят!
137 Nuobu
 
03.10.16
09:11
(134) Так тут как раз и обсуждается, что легче переписывать, когда переменные названы длинными именами.
138 DailyLookingOnA Sunse
 
03.10.16
09:15
(137)
Легче, когда по названию можно понять смысл.
В очень длинных именах искать смысл так же тяжело, как и в однобуквенных.
139 aka AMIGO
 
03.10.16
09:21
СПС - справочник склады
СПФ - справочник фирмы
Рег.. - регистр
РегОст - регистр остатков
РегЖР - регистр железный резерв
ы - счетчик цикла

У каждого кодера есть свои предпочтения в названиях переменных
Следовать советам сабжа нужно только в одном случае - когда кодер работает в команде. Раздрай в наименованиях - путь к шумихе и неразберихе.
Я ковыряюсь в конфе один. Привычке изменять не намерен :)
140 senior
 
03.10.16
09:22
За "ТЗ" и "СЗ" - по рукам

Короткие имена недопустимы ни в каком виде
141 aka AMIGO
 
03.10.16
09:22
+139 моего пункта в голосовалке нет, потому - молчу :)
142 aka AMIGO
 
03.10.16
09:24
(140) А, да! у мепня есть наследство от предыдущего кодера, в нём ТЗ и СЗ - глобальные переменные.
Потому к ним подставляю от одной до нескольких букв
143 Лефмихалыч
 
03.10.16
09:25
(138) это ложь
очевидно, что второй вариант при любых раскладах более информативен:

Для каждого С из ТН Цикл

Для каждого СтрокаТаблбицы из ТаблицаНоменклатуры Цикл
144 DailyLookingOnA Sunse
 
03.10.16
09:26
(143) тоже ложь
СтрокаТаблицы - это очень длинное?
145 aka AMIGO
 
03.10.16
09:27
(143) я пишу обычно Стр
146 impulse9
 
03.10.16
09:28
(143)
Для Каждого СтрТЗНоменклатура из ТЗНоменклатура Цикл
КонецЦикла;
147 Лефмихалыч
 
03.10.16
09:29
(144) про "очень" речи не было ни в топике, ни где-то еще в ветке. Короткое - это С, СТ, стч и прочее сокращенное говно, а "СтрокаТаблицы" - это не короткое имя.
148 aka AMIGO
 
03.10.16
09:32
(145) + ну, и СтрТ для конкретизации в локальной процедуре или модуле

(147) ну уж ты уж сказанул.. Для скорости набора достаточно трёх-четырёх букв.
Расписывать модуль в виде текста романа "Война и мир" Льва нашего Толстого - это далеко не кошерно.
149 Лефмихалыч
 
03.10.16
09:36
(148) куда ты будешь девать все то время, которое сэкономишь на скорости своего набора?
150 aka AMIGO
 
03.10.16
09:37
(149) у меня много задач :)
151 aka AMIGO
 
03.10.16
09:38
+150 Это ещё не считая сидения в форуме :)
152 DailyLookingOnA Sunse
 
03.10.16
09:38
(147)
Для меня длинное - это в полстроки и далее.
А так я вслепую по-русски набиваю, переменная в два слова  это норма.
153 senior
 
03.10.16
09:39
Короткие имена это как если едешь по трассе, а вместо "Урюпинск" на указателе "УРП", а те кто называет "ТЗ", "СЗ" - это как вместо "Урюпинск" на указателе бы писали "поселок" или "город"
154 Лефмихалыч
 
03.10.16
09:41
(152) контекст обсуждения задается постом с номером 0, а не твоим восприятием. В (0) короткими названы такие переменные, которые состоят из одного символа или из сокращенных слов.
155 aka AMIGO
 
03.10.16
09:43
ЗначениеНДСкЗачетуВСуммеПоступившегоТовараПоНакладнойПоставщика = Сумма / (100+ЗначениеНДСдляТовараНаДатуПоступленияТовара) * ЗначениеНДСдляТовараНаДатуПоступленияТовара;

Действительно, так гораздо читабельнее  :)
156 Лефмихалыч
 
03.10.16
09:45
(155) ну, так точно понятно, что ты вычисляешь и на основании чего. А это и есть - самодокументируемость кода
157 Лефмихалыч
 
03.10.16
09:46
+(156) не надо спрашивать автора или шерстить стэк вызовов, чтобы понять, что имеется в виду и почему.
158 aka AMIGO
 
03.10.16
09:47
(156) (157) Да, тут ты прав на 100%, вот этот момент - действительно, интересный: Самодокументируемость
159 Рэйв
 
03.10.16
09:53
У меня:
Для перебора ТЗ -всегда Стр
Для Перебора массивов , СЗ или струтур - всегда Эл
Для Перебора документов - вседа Док

При вложенности просто добавляется цифра уровня.
Вполне комфортно с этим живу.

Допустимы типичные короткие имена (5-6 сокращений)
160 Рэйв
 
03.10.16
09:54
а это только для простых циклов (не коллекций)

Допустимы однобуквенные счетчики цикла: i, j, x, y
161 Лефмихалыч
 
03.10.16
09:54
(159) гори в аду :)
162 Рэйв
 
03.10.16
09:55
(161) а ты попробуй - тебе понравится:-))
163 Serg_1960
 
03.10.16
10:02
Автор ностальгирует по временам, когда во многих языках длина имени лимитировалась 8 символами? Видать забыл/не знал каково это, когда имена переменных, все имена функций и процедур в сложной программе должны были быть уникальны...
164 senior
 
03.10.16
10:03
(162) попробовали во времена нетленок на 7.7, наелись
165 Лефмихалыч
 
03.10.16
10:11
(162) я из этого вырос лет 10 назад
166 ovrfox
 
03.10.16
10:20
Если короткое имя описывает суть переменной, то почему бы и нет?
Для себя я решил так - внутренние для процедуры (лучше для текущих 50 строк процедуры) переменные могут иметь короткие имена, просто отражающие их суть (ТЗ, Стр, спПарам).
Имена, которые передаются между процедурами, должны быть более точными (ТЧТовары, тзДопРеквСотрудники).
Глобальные переменные должны использовать вообще без сокращений (ТаблицаДокументовДляПроведения, ФлагУдаленияПартий)
Т.е. очень простой вариант - чем дальше сожно увидеть, тем крупнее пишем.

Допустимы типичные короткие имена (5-6 сокращений)
167 Рэйв
 
03.10.16
10:40
(165)А я привык. Зачем чтото менять если мне так удобно?
168 eryomin
 
03.10.16
11:05
Вспомнился анекдот:
"Приходит индеец к вождю и говорит:
- Мне не нравится мое имя. Оно у меня длинное и некрасивое. И вообще в нашем роду все имена длинные и некрасивые. Вот у белых людей все имена короткие и красивые: Гарри, Джон, Боб…
А в нашем роду… Я хочу сменить свое имя!
Вождь подумал и индейцу отвечает:
- У белых людей имена короткие и не красивые. А в нашем роду все имена длинные и очень красивые. Вот я – Зоркий Сокол, моя жена – Быстроногая Лань. Так что ты неправ, Бычий Куй!"
169 orefkov
 
03.10.16
12:36
одинэсники всё к куям сведут
170 romix
 
04.10.16
10:48
(153) Есть 2-3 символьные сокращения для стран, аэропортов... Например, Домодедово - DME, Шереметьево - SVO.

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

Как говорится, не так опасно знамя, как его древко.

Если переменная повторяется в пределах видимости по 50 раз, не случай ли это для её сокращения...
171 Лефмихалыч
 
04.10.16
10:50
>Если переменная повторяется в пределах видимости по 50 раз, не случай ли это для её сокращения...

это повод для рефакторинга
172 newbling
 
04.10.16
11:10
Для ЗамечательныйСчетчикДляПеребораОчередногоРандомногоМассива_i = 1 по 5 Цикл...
173 novichok79
 
04.10.16
11:10
дровишек вам позабористее в аду, любители стр, эл, _сс и прочей куйни.

Если ЗначениеЗаполнено(_аа) Тогда
    Возврат ПолВнешСс(_аа, _мет_имя, _поиск);
КонецЕсли;
мета = _аа.Метаданные();
имя = мета.Имя;
пимя = мета.ПолноеИмя();
тип = Лев(пимя, Найти(пимя, ".") - 1);
рез = Неопределено;
Если тип = "Справочник" И ЗначениеЗаполнено(_владелец) Тогда
    в = Справочники[имя].Выбрать(, _владелец);
    Пока в.Следующий() Цикл
        Если Не в.ПометкаУдаления Тогда
            рез = в.Ссылка;
            Прервать;
        КонецЕсли;
    КонецЦикла;
КонецЕсли;

Возврат ПолВнешСс(рез, _мет_имя, _поиск)

Короткие имена недопустимы ни в каком виде
174 newbling
 
04.10.16
11:11
(173) да всё же понятно
175 novichok79
 
04.10.16
11:12
(174) доооааа, при рассмотрении, буквы сливаются в неудобочитаемое нечто.
176 newbling
 
04.10.16
11:14
если прочитать быстро, то звучит как Болгарский. Пимя мета рез тип полвнешсс
177 novichok79
 
04.10.16
11:14
(174) всего-лишь маленький кусок кода, при дальнейшем чтении забываешь - что было в _аа, что в _сс. там сложная универсальная обработка, поэтому в _аа и в _сс может быть что угодно.
178 newbling
 
04.10.16
11:16
ну я не вижу ничего страшного во всяких переборках юзать стрВыб или при заполнении построковом нСтр
179 newbling
 
04.10.16
11:17
Главное чтоб было читаемо, чтоб мог зайти через неделю, открыть и вдуплить о чём шла речь
180 novichok79
 
04.10.16
11:19
(178) ладно при несложных переборах, а когда весь модуль написан вот так? получается неподдерживаемый и нечитаемый код. ну если конечно, следующий программист - не великий сокращатель, читай, знатный любитель извращений.
181 newbling
 
04.10.16
11:24
Когда сложные, тут да, много сокращений тоже плохо. Всё хорошо в меру.
182 newbling
 
04.10.16
11:25
выше

Допустимы типичные короткие имена (5-6 сокращений)
183 orefkov
 
04.10.16
11:28
Я одного не могу понять - как обсуждение того, какими должны быть переменные и каковы ваши личные предпочтения в их именовании - помогут в ситуации, когда вам УЖЕ достался такой код? Просто поднять своё самомнение, мол "прошлый прогер был мудак, а я его лучше"? Или слабая надежда, что он прочитает эту ветку, осознает, каким он был мудаком и исправится? Нет, они не исправляются, эффект Даннинга — Крюгера, знаете ли.
184 cybfyv
 
04.10.16
11:31
(183) поплакать же хочется
185 Гаврилин Игор
 
04.10.16
11:37
Использую что-то вроде ТЗ, стр, сч, ТабДок... А в 95% случаев НовыйДокументПоступление или ТекущийОкладСотрудника очень удобно, один взгляд и сразу понимаешь о чем речь. Ну и комменты помогают.

Короткие имена недопустимы ни в каком виде
186 cybfyv
 
04.10.16
11:39
Комменты. ммм....
Кто-то реально пишет комменты к коду?
187 novichok79
 
04.10.16
11:40
(183) тут больше некая сублимация своей ненависти... я понимаю, что если кодер давно пишет одним образом, очень сложно что он внезапно станет писать по-другому.
188 novichok79
 
04.10.16
11:41
(187) ненависть - слишком сильное слово, неприязнь. я бы сказал.
189 Это_mike
 
04.10.16
11:41
(186) бывает. Описания функций/процедур, и пояснения "непрозрачных" на первый же взгляд кусков, либо обход/использования "тяжелого наследства"
190 Это_mike
 
04.10.16
11:42
(183) ну, чтоб самого таковым не посчитали...
191 Гаврилин Игор
 
04.10.16
11:44
(186) Конечно. Нас несколько разрабов, если правишь код - обязательно указываешь кто и по какой причине. И для себя тоже что-то типа: "Здесь сделаем срез по счетчикам за предыдущие три месяца, потому что маркетологи опять придумали какую-то муйню с аналитекой..." )))
192 orefkov
 
04.10.16
11:44
(184)
Вот. В этом вся наша суть. Собрались, поплакали на форуме. Разошлись дальше делать всё то же самое. А вот какие-нибудь американцы бы что сделали?
Запилили бы тут же какойнить комитет, который бы полгода проработал, и выдал бы рекомендации по стандарту именования переменных. Дали бы этому документу звучное имя, что-то типа "стратегическая именовательная инициатива свободных коммерческих интеллектуалов" (СИИСКИ) , придумали бы логотип, товарный знак. Продвигали бы её и пиарили, добивались бы включения в гос.стандарты, сертификацию сделали, "Программист, следующий СИИСКИ", "ПО стандарта СИИСКИ", денежку бы брали за сертификацию, выбивали бы из работодателей надбавки для работников, постигших СИИСКЕ. Поле деятельности обширное, тащемто. Ладно, что-то понесло меня перед обедом.
193 Fragster
 
гуру
04.10.16
12:50
(192) так ведь всё есть: http://its.1c.ru/db/v8std#browse:13:-1:72:73
194 DrZombi
 
гуру
04.10.16
13:07
Мне побоку... я не привередлив... Могу и матерный код воспринимать, как должное :)

Допустимы однобуквенные счетчики цикла: i, j, x, y
195 Nuobu
 
04.10.16
13:22
(193) У меня не открывается, т.к. нету подписки. А вот бэст практисэс гуглится:
https://msdn.microsoft.com/en-us/library/ff926074.aspx
196 romix
 
06.10.16
10:17
(183) В текущем стандарте расплывчатые формулировки - я вот например не совсем понимаю, что там со счетчиками цикла можно делать официально, и каких именно циклов. Поиск примеров по самому сайту ИТС дает сокращенные переменные циклов (и тех, и этих). То есть, это не плохая практика, а официальная.
197 spiteful41
 
06.10.16
10:35
Обычно называю счетчик строки исходя из имени таблицы, например, если имя таблицы ПоказателиОтчета, то счетчик строк будет СтрокаПоказателиОтчета

Короткие имена недопустимы ни в каком виде
198 romix
 
07.10.16
16:20
Сейчас обратил внимание, что встроенный конструктор движений и ввода на основании платформы 1С делает сокращения вот такого вида:


Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПриходнаяНакладная") Тогда
        // Заполнение шапки
        Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл
            НоваяСтрока = Товары.Добавить();
            НоваяСтрока.Количество = ТекСтрокаТовары.Количество;
            НоваяСтрока.Товар = ТекСтрокаТовары.Товар;
        КонецЦикла;
    КонецЕсли;
    //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры


А конструктор печати делает сокращения такого вида:


ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень());


Платформа 1С:Предприятие 8.3 (8.3.8.2088)