0
- 17.03.2016 - 03:47
|
Если Не Проведен Тогда Предупреждение("Документ можно распечатать только после его проведения!"); Возврат; ИначеЕсли Не УправлениеДопПравамиПользователей.РазрешитьПечатьН епроведенныхДокументов(Проведен) Тогда Предупреждение("Недостаточно полномочий для печати непроведенного документа!"); Возврат; КонецЕсли; где она? | |
1
- 17.03.2016 - 03:54
| [*****] Функция РазрешитьПечатьНепроведенныхДокументов(Проведен = Истина) Экспорт Если Проведен Тогда Возврат Истина; КонецЕсли; РазрешеноПечатать = УправлениеПользователями.ПолучитьЗначениеПраваДляТ екущегоПользователя(ПланыВидовХарактеристик.ПраваП ользователей.ПечатьНепроведенныхДокументов, Ложь); Если РазрешеноПечатать.Количество() = 0 Тогда Возврат Ложь; ИначеЕсли РазрешеноПечатать.Количество() > 1 Тогда Возврат Истина; Иначе Возврат РазрешеноПечатать[0].Значение; КонецЕсли; КонецФункции // РазрешитьПечатьНепроведенныхДокументов() поясните, как количество может быть больше 1 ? | |
2
- 17.03.2016 - 08:20
|
Это хороший стиль программирования. Разработчик качественно писал код. функция ПолучитьЗначениеПраваДляТекущегоПользователя возвращает результат запроса. В текущей реализации в результате ожидается только одна запись. Но так будет не всегда. Через год-другой может возникнуть ситуйня, когда разработчики изменят запрос, для своих каких-то новых целей. И запрос начнёт возвращать несколько записей. Разработчик предусмотрел возможное изменение и заранее написал обработку этой ситуации. | |
3
- 17.03.2016 - 08:23
|
Ну раз обращение по индексу, значит в ответ ожидает коллекцию, почему она не может содержать более одного элемента? Разные люди/команды писали механику: одни управление пользователями, другие прикладное поведение системы при печати. На момент написания вторым неизвестна реализация первых, но уже задокументированы требования к интерфейсам | |
4
- 17.03.2016 - 08:24
| Вообще, так рекомендуется делать всегда. Предусматривать любые значения проверяемого параметра. Особенно в том случае, если параметр получен из функции другого модуля, из другой подсистемы (которую могут как угодно изменить в следующих релизах). | |
5
- 17.03.2016 - 09:44
|
считываемое значение (одно!) типа булево передаётся коллекцией замечательно. прекрасно. я понимаю, что нужно предусматривать все возможные варианты, но может не надо плодиьт эти варианты на ровном месте? больше похоже, что этот код не писали, а копипастили , не утруждаясь обдумыванием | |
6
- 17.03.2016 - 09:48
| 5-Зелёный тролль > ты смотришь в белый ящик. В момент разработки смотрели в чёрный. Вот и вся разница :) | |
7
- 17.03.2016 - 09:49
| +(6) и да, ретроспективу не провели. Бывает. | |
8
- 17.03.2016 - 10:02
| Зелёный тролль - ты же вроде франч, у тебя нет доступа к 1с-фреш? | |
9
- 17.03.2016 - 10:13
| 8-angro > франч. нету. я против засовывания 1С в облака. | |
10
- 17.03.2016 - 10:22
| (9) да, как людям занимающимся доработкой 1с, очень неудобно | |
11
- 19.03.2016 - 01:17
|
5-Зелёный тролль > Мэри Сью права, имхо. Именно копипастили, ни о чем не задумываясь. И это правильно. Именно так и следует программировать в 21 веке. ИМХО. | |
12
- 19.03.2016 - 01:19
|
Индийский стиль программирования - рулит. Русский стиль программирования - говно и отстой. ИМХО. | |
13
- 19.03.2016 - 10:44
|
ПолучитьЗначениеПраваДляТекущегоПользователя одного единственного. я не знаю как и почему одно право может иметь несколько значений сразу(???)... но если их несколько, то почему это считается разрешением пользователю делать что-то? я бы понял, если бы запретили. но разрешать даже не проверяя полученные значения... при том что, по умолчанию юзерам запрещено печатать непроведённые доки.... всё это очень странно. | |
14
- 22.03.2016 - 23:48
|
13-Зелёный тролль > В УЦ3 - ты обучался хоть раз хоть чему-нибудь? Настоятельно рекомендую. Иначе так на всю жизнь и останешься франчем 1С (позором фирмы 1С). Там преподают примерно вот так: - Видите этот код? - Так пишут все программисты фирмы 1С. - Так написаны все типовые конфигурации от 1С. - Так писать нельзя. - Если я у вас увижу такой код на экзамене - сразу неуд. | |
| Интернет-форум Краснодарского края и Краснодара |