|
Типовой код из 1с Документооборот, сложности с пониманием |
☑ |
0
YFedor
05.07.23
✎
16:28
|
Добрый день!
Поясните, пожалуйста, зачем такой код:
// Ввод нового
Если Объект.Ссылка.Пустая() Тогда
СостояниеТекст = Строка(Перечисления.СостоянияДокументов.НаРегистрации);
ВОтветНа = Справочники.ИсходящиеДокументы.ПустаяСсылка();
НачальноеВОтветНа = ВОтветНа;
Если ЗначениеЗаполнено(ВОтветНа) Тогда //ЗАЧЕМ ЭТО?
РеквизитыВОтветНа = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ВОтветНа,
"РегистрационныйНомер, ДатаРегистрации, Заголовок");
Если ЗначениеЗаполнено(РеквизитыВОтветНа.РегистрационныйНомер)
И ЗначениеЗаполнено(РеквизитыВОтветНа.ДатаРегистрации) Тогда
ВОтветНаСтрока = СтрШаблон(НСтр("ru = '№ %1 от %2'"),
РеквизитыВОтветНа.РегистрационныйНомер, Формат(РеквизитыВОтветНа.ДатаРегистрации, "ДЛФ=D"));
Иначе
ВОтветНаСтрока = РеквизитыВОтветНа.Заголовок;
КонецЕсли;
КонецЕсли;
ПредметПереписки = Неопределено;
НачальныйПредметПереписки = ПредметПереписки;
ПервичноеОбращение = Справочники.ВходящиеДокументы.ПустаяСсылка();
НачальноеПервичноеОбращение = ПервичноеОбращение;
ОсновноеОбращение = Справочники.ВходящиеДокументы.ПустаяСсылка();
НачальноеОсновноеОбращение = ОсновноеОбращение;
Элементы.Обзор.Видимость = Ложь;
Элементы.СтраницаФайлы.Видимость = Истина;
Иначе
Этот код в модуле объекта справочника, в процедуре "ПриСозданииНаСервере"
Меня интересует вот эта строка: "Если ЗначениеЗаполнено(ВОтветНа) Тогда //ЗАЧЕМ ЭТО?"
"//ЗАЧЕМ ЭТО?" - это я добавил, при выкладываниии сюда.
Ведь к моменту выполнения этой строки "ВОтветНа" всегда пустая ссылка и, поэтому, не заполнено.
|
|
1
majkk
05.07.23
✎
16:32
|
(0) ctrl-c ctrl-v
|
|
2
ДиВаH2
05.07.23
✎
17:13
|
(0) В ДО 2.1 очень плохо с кодом, постоянно проверяют одно и тоже условие в разных блоках, могут в переменную закинуть результат условия и спустя пару абзацев забыть про эту переменную и опять начать проверку.
Разные команды в разное время просто тупо вставляли свой код ))
|
|
3
Franchiser
05.07.23
✎
18:47
|
Может быть на случай , что не удалось выполнить присвоение пустой ссылки ?
|
|
4
YFedor
06.07.23
✎
09:16
|
(3) А как такое может быть? Здесь ведь просто оператор присвоения, если не удалось, то будет ошибка.
|
|
5
mikecool
06.07.23
✎
09:26
|
(0) если вы не видете смысла - возможно его там просто нет
|
|
6
Галахад
06.07.23
✎
09:26
|
Скорее всего "ВОтветНа = " появилась позднее.
|
|
7
Гипервизор
06.07.23
✎
11:06
|
(0) Тоже раньше задавал такие вопросы, было трепетное отношение к типовому коду. Потом пришло понимание, что его пишут совсем не небожители.
Как там в "Смешариках": "Я такой же дурак, как и вы! Только чуть-чуть… эрудированней."
|
|
8
Valdis2007
06.07.23
✎
16:08
|
да просто люди раньше на плюсах писали, там все время проверять все надо, тк нет ГК. вот и проверяют
|
|
9
Mort
07.07.23
✎
00:18
|
Лучше бы автор назвал переменную ВОтветНах, а так недосказанность некоторая.
Стандартная ситуация - у одного умника было слишком много времени, у второго слишком мало.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший