Clarion 11-12
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 11 раз
- Поблагодарили: 44 раза
Clarion 11-12
1С использует только предопределенные объекты метаданных, в кларионе их состав можно расширять на свое усмотрение.
Вот на недавнем примере. Как Вы решили вопрос с выдачей сообщения, если после редактирования/добавления запись не попадает в условия браузера? Используя заточенные под свои стандарты разработки шаблоны это делается минут за 30 (с запасом, специально не засекал). И это будет сразу работать во всех браузерах, используемых в проектах, а также в браузерах, которые в дальнейшем будут добавлены. Сделал раз и забыл.
Вот на недавнем примере. Как Вы решили вопрос с выдачей сообщения, если после редактирования/добавления запись не попадает в условия браузера? Используя заточенные под свои стандарты разработки шаблоны это делается минут за 30 (с запасом, специально не засекал). И это будет сразу работать во всех браузерах, используемых в проектах, а также в браузерах, которые в дальнейшем будут добавлены. Сделал раз и забыл.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7784
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 81 раз
Clarion 11-12
1. Полностью с Вами согласен, что есть задачи для которых изменение шаблонов идеальное решение.
Например, если нужно на закладке карточки показать иконку с режимом её работы (просмотр, добавление, изменение и т.д.)
Мне для этого нужно будет вручную изменить все FORM, а Вы бы реально решили бы задачу через шаблоны за полчаса ...
2. Я рад, что Вам понравился пример с добавлением записи в спискок - но общее решение там немного иное ...
Любой список открываемый в потоке должен быть полностью изолирован и получать данные только через Notify / Event.
Т.е. при открытии он получает все настройки для работы, в т.ч. и рабочую дату для FORM.
И вот тогда описанная мною "проблема" не возникает в принципе, но там есть некоторые рабочие нюансы ...
Например, если нужно на закладке карточки показать иконку с режимом её работы (просмотр, добавление, изменение и т.д.)
Мне для этого нужно будет вручную изменить все FORM, а Вы бы реально решили бы задачу через шаблоны за полчаса ...
2. Я рад, что Вам понравился пример с добавлением записи в спискок - но общее решение там немного иное ...
Любой список открываемый в потоке должен быть полностью изолирован и получать данные только через Notify / Event.
Т.е. при открытии он получает все настройки для работы, в т.ч. и рабочую дату для FORM.
И вот тогда описанная мною "проблема" не возникает в принципе, но там есть некоторые рабочие нюансы ...
Make Clarion Great Again !
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 11 раз
- Поблагодарили: 44 раза
Clarion 11-12
Давайте так.
1. Форма открывается в том же потоке, что и браузер?
2. Установите фильтрацию в браузере, откройте форму на редактирование, сделайте так, что после изменений запись перестаёт удовлетворять условиям фильтрации и "улетит" из списка отображаемых записей. Вот здесь мы хотим сообщить пользователю о данной коллизии. Речь про такую ситуацию была.
1. Форма открывается в том же потоке, что и браузер?
2. Установите фильтрацию в браузере, откройте форму на редактирование, сделайте так, что после изменений запись перестаёт удовлетворять условиям фильтрации и "улетит" из списка отображаемых записей. Вот здесь мы хотим сообщить пользователю о данной коллизии. Речь про такую ситуацию была.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7784
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 81 раз
Clarion 11-12
И не заставляйте себя. Для этого нужно желание понять - как например у меня с алгоритмом нечёткого поиска.
Всё абсолютно верно ! Но ведь есть ещё вариант в котором можно просто избежать коллизии.
В общем случае это не имеет значения.
Открываемое окно (процедура) всегда наследует окружение родительского окна (процедуры).
Всё тоже самое, что и при создании нового класса на основе существующего, когда изначально SELF = PARENT.
Если утрировать - то FORM получает все настройки окружения из BROWSE, а не из БД или компьтера (ToDay() и т.д.)
Поэтому FORM, по умолчанию, просто не может влепить запись за пределами периода родительского окна.
Make Clarion Great Again !
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 11 раз
- Поблагодарили: 44 раза
Clarion 11-12
Может быть не только период. Например, qbe фильтр или альтернативный отбор в зависимости от активной закладки. Вы все это хотите передавать в форму, а там вручную отслеживать значения? Или рассматриваете только кастрированный вариант с передачей периода?
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7784
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 81 раз
Clarion 11-12
Наверно всё-таки нужно различать разные ситуации.
Т.е. если пользователь самостоятельно изменил при добавлении дату документа в FORM или, предположим,
отфильтровал в списке нерабочие записи и тут же добавляет новую (рабочую) - то это его право.
Более того. Если, например, пользователь отфильтровал документы за сегодня и меняет в них даты вручную
на завтра - то записи и должны исчезать из списка. Это нормально. Вряд ли здесь нужны какие-либо сообщения.
Задача в том, что бы построить алгоритм работы изначально исключающий непреднамеренные ошибки,
а не в том что бы завести в доме слепую собаку, которая будет тупо лаять на каждый шорох.
Make Clarion Great Again !
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 11 раз
- Поблагодарили: 44 раза
Clarion 11-12
На моё восприятие, сообщить пользователю о том, что запись после редактирования больше не отображается в списке, это нормально, даже если в каких-то ситуациях избыточно.
Если я правильно понял, то Вы рассматриваете частный случай, запретить добавление нового документа, если его дата за пределами периода просмотра информации в браузере. Правильно? А почему Вы решили, что надо запрещать? Есть период, в котором разрешено вносить изменения в документы, у разных пользователей он может быть разный. Или период, доступ к информации которого пользователю запрещен. Ограничение редактирования делается по ним, никак не по выбранному периоду просмотра в журнале документов. Представьте, что пользователь хочет скопировать несколько документов, для простоты поиска отобрал по дате. А Вы при попытке копирования шлете его лесом...
Если я правильно понял, то Вы рассматриваете частный случай, запретить добавление нового документа, если его дата за пределами периода просмотра информации в браузере. Правильно? А почему Вы решили, что надо запрещать? Есть период, в котором разрешено вносить изменения в документы, у разных пользователей он может быть разный. Или период, доступ к информации которого пользователю запрещен. Ограничение редактирования делается по ним, никак не по выбранному периоду просмотра в журнале документов. Представьте, что пользователь хочет скопировать несколько документов, для простоты поиска отобрал по дате. А Вы при попытке копирования шлете его лесом...
C6/C11, ШВС, tps/btrieve.
- Губин Игорь
- Шубуршун
- Сообщения: 2467
- Зарегистрирован: 16 Сентябрь 2005, 16:35
- Откуда: Москва
- Благодарил (а): 3 раза
- Поблагодарили: 25 раз
Clarion 11-12
А что она делает?Игорь Столяров писал(а): ↑12 Июнь 2024, 18:51 Красненьким обвёл удобную опцию управления потоками, остальные различия просто видны.
Это я только кажусь дураком! На самом деле я полный идиот!
- Игорь Столяров
- Ветеран движения
- Сообщения: 7784
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 81 раз
Clarion 11-12
Неа. Никого я не посылаю. Никто не запрещает пользователю совершать нужные ему действия.
А вот у Вас действительно по несколько условий в каждом предложении.
Вы (как обычно) пытаетесь найти обоснование своей точки зрения, а не услышать про наличие альтернативной.
Make Clarion Great Again !
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 11 раз
- Поблагодарили: 44 раза
Clarion 11-12
Я реально не понимаю Вас. Неужели нельзя писать конкретику, а не общие фразы? Это вот кто написал и как это понимать?Игорь Столяров писал(а): ↑13 Июнь 2024, 10:23Неа. Никого я не посылаю. Никто не запрещает пользователю совершать нужные ему действия.
А вот у Вас действительно по несколько условий в каждом предложении.
Вы (как обычно) пытаетесь найти обоснование своей точки зрения, а не услышать про наличие альтернативной.
Если утрировать - то FORM получает все настройки окружения из BROWSE, а не из БД или компьтера (ToDay() и т.д.)
Поэтому FORM, по умолчанию, просто не может влепить запись за пределами периода родительского окна.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7784
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 81 раз
Clarion 11-12
Просто Вы решаете другие задачи, возможно, что даже более высокого класса сложности.
Или конкретные задачи, в которых хорошим решением является предупреждать о непопадании
записи в текущий список BROWSE, чем не допускать такой ситуации изначально.
Я не могу толковать каждое слово или как в соседнем посте учить мужиков по картинкам нажимать F1.
Или конкретные задачи, в которых хорошим решением является предупреждать о непопадании
записи в текущий список BROWSE, чем не допускать такой ситуации изначально.
Я не могу толковать каждое слово или как в соседнем посте учить мужиков по картинкам нажимать F1.
Make Clarion Great Again !
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 11 раз
- Поблагодарили: 44 раза
Clarion 11-12
Так Вы запрещает или не запрещаете ввод даты документа за пределами периода просмотра в журнале документов? Вивиан, это да или нет? (с) Красотка.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7784
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 81 раз
Clarion 11-12
Не запрещаем, если пользователь сам хочет это сделать.
Но при этом не допускаем ситацию, при которой добавляемому документу по умолчанию присваивается дата
за границами периода текущего списка. Но если пользователь хочет указать любую другую дату - пожалуйста.
Make Clarion Great Again !
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4984
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 11 раз
- Поблагодарили: 44 раза
Clarion 11-12
То есть, если текущая дата не в установленной периоде, то по умолчанию ставится другая, но пользователь волен сам её поменять на не попадающую в период. Правильно? А какую в этом случае подставляете дату по умолчанию? Начало и конец периода могут быть самыми разными.
C6/C11, ШВС, tps/btrieve.