К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

УТ10.3 Логика!

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с, очень неудобно
banned
11 - 19.03.2016 - 01:17
5-Зелёный тролль > Мэри Сью права, имхо.
Именно копипастили, ни о чем не задумываясь.

И это правильно.
Именно так и следует программировать в 21 веке. ИМХО.
banned
12 - 19.03.2016 - 01:19
Индийский стиль программирования - рулит.

Русский стиль программирования - говно и отстой.
ИМХО.
13 - 19.03.2016 - 10:44
ПолучитьЗначениеПраваДляТекущегоПользователя
одного единственного.
я не знаю как и почему одно право может иметь несколько значений сразу(???)... но если их несколько, то почему это считается разрешением пользователю делать что-то? я бы понял, если бы запретили. но разрешать даже не проверяя полученные значения... при том что, по умолчанию юзерам запрещено печатать непроведённые доки....
всё это очень странно.
banned
14 - 22.03.2016 - 23:48
13-Зелёный тролль > В УЦ3 - ты обучался хоть раз хоть чему-нибудь?

Настоятельно рекомендую.

Иначе так на всю жизнь и останешься франчем 1С (позором фирмы 1С).

Там преподают примерно вот так:
- Видите этот код?
- Так пишут все программисты фирмы 1С.
- Так написаны все типовые конфигурации от 1С.

- Так писать нельзя.
- Если я у вас увижу такой код на экзамене - сразу неуд.


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены