Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для G3schaFt
1 / 1 / 0
Регистрация: 19.09.2022
Сообщений: 142
1C 8.x

Обещание сравнить со Списком Значений

17.05.2023, 11:47. Показов 2865. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые. Есть у меня список значений "Кнопки". Необходимо задать АСИНХ вопрос пользователю, делаю это так:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Кнопки = Новый СписокЗначений;
Кнопки.Добавить("Конст", "Форма констант");
Кнопки.Добавить("СпрОбраб", "Тома хранения и обработка");
 
Ответ = ЗадатьВопросАСИНХ(Кнопки);
 
&НаКлиенте
АСИНХ Функция ЗадатьВопросАСИНХ(СписокКнопок)
 
    ОтветНаВопрос = ЖДАТЬ ВопросАсинх("Какую форму открыть?", СписокКнопок,,, "Выбор формы");
    
    Возврат ОтветНаВопрос;
 
КонецФункции
По итогу в основной процедуре тип Ответа - Обещание. Хочу дальше сравнить Ответ со значением элемента Списка значений. Но завис на моменте, что не знаю, как получить элемент Списка значений.
Думал, что надо так
1C
1
Если Ответ = Кнопки.НайтиПоЗначению("Конст") Тогда
, но тут ищу по значению строкового типа, а там обещание. В итоге, разумеется, в цикл не захожу. Подскажите, как быть?

Добавлено через 2 минуты
Или я полез в это дело каким-то сложным путём? Буду рад, если подскажете, как попроще быть
Хотя всё равно интересно, как сравнивать не с КодомВозвратаДиалога, а со Списком значений
1
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.05.2023, 11:47
Ответы с готовыми решениями:

Сравнить сегодняшнюю дату с списком
Есть даты в dategridview сравнить их всех с сегодняшний и если какая-та меньше чем сегодняшняя удалить из базы. Программа на SQl...

Как сравнить список со вложенным списком
Добрый день. Есть первая переменная в которой лежит: , ] Вторая переменная в которой И сравнении через all_res =...

Const - обещание (гарантия) или требование?
Считал, что `const` в списке параметров функции - это всегда не требование, а гарантия - обещание не менять аргумент. Но вот столкнулся с...

30
Эксперт 1С
7175 / 1777 / 648
Регистрация: 16.01.2015
Сообщений: 7,346
18.05.2023, 14:23
Студворк — интернет-сервис помощи студентам
Зацепила меня эта тема. Поэкспериментировал. Вот вариант самый оптимальный (правильный?) и реально практически повторяет работу вопросов в модальном режиме :
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
&НаКлиенте
АСИНХ  Процедура ОсновнаяПроцедура(Команда)
    
    СписокКнопок = Новый СписокЗначений;
    СписокКнопок.Добавить("ФормаКонстант", "Форма констант");
    СписокКнопок.Добавить("ФормаТомов", "Форма томов");
    
    НажатаяКнопка = ЖДАТЬ ПолучитьОтветНаВопросАсинх(СписокКнопок);
    
    Если НажатаяКнопка = "ФормаКонстант" Тогда
        ОткрытьФорму("ВнешняяОбработка.ВнешняяОбработочка.Форма.ФормаКонстант");    
    Иначе
        ОткрытьФорму("ВнешняяОбработка.ВнешняяОбработочка.Форма.ФормаТомов");
    КонецЕсли;
    
КонецПроцедуры
 
&НаКлиенте
Функция ПолучитьОтветНаВопросАсинх(ВозможныеКнопкиДляТыка)
    
    НажатаяКнопка = ВопросАсинх("Какую форму необходимо открыть?", ВозможныеКнопкиДляТыка,,, "Выберите форму");
    Возврат НажатаяКнопка;
    
КонецФункции
0
 Аватар для G3schaFt
1 / 1 / 0
Регистрация: 19.09.2022
Сообщений: 142
18.05.2023, 14:27  [ТС]
polax, вот, собственно, этот вариант я и взял себе. Ещё раз спасибо
0
Эксперт 1С
7175 / 1777 / 648
Регистрация: 16.01.2015
Сообщений: 7,346
18.05.2023, 14:31
Проверил работу этого кода в веб сервисе, ОК
0
 Аватар для G3schaFt
1 / 1 / 0
Регистрация: 19.09.2022
Сообщений: 142
18.05.2023, 14:32  [ТС]
polax, а много кто веб использует?
0
Эксперт 1С
7175 / 1777 / 648
Регистрация: 16.01.2015
Сообщений: 7,346
18.05.2023, 15:22
G3schaFt, Достаточно. Еще больше работает в облаке, А еще используют всякие сервисы работающие по http, мобильные приложения 1с. И во всех этих вариантах модальность не работает, запрещена, только асинхронные вызовы. В типовых базах уже давно желание работать с модальными вызовами, снимай замок с базы и только тогда можешь сменить эту настройку
Вообще уже давно не встречаю что-то сделанное с модальностью. Только что-то старое или для старых баз. Но это субъектив, может просто не кручусь в этой сфере
1
 Аватар для G3schaFt
1 / 1 / 0
Регистрация: 19.09.2022
Сообщений: 142
18.05.2023, 15:27  [ТС]
polax, понял-принял, а ещё такой вопрос: самописные базы вы часто встречали? Они используются или это, скорее, баловство / ну очень редкие случаи? Не важно, насколько эти базы большие или маленькие
0
Эксперт 1С
7175 / 1777 / 648
Регистрация: 16.01.2015
Сообщений: 7,346
18.05.2023, 16:05
Цитата Сообщение от G3schaFt Посмотреть сообщение
самописные базы вы часто встречали?
я нет. Но как правило самописки ведутся теми кто их писал и не обращаются к сторонним лицам. А так реклама самописок есть.
1
 Аватар для G3schaFt
1 / 1 / 0
Регистрация: 19.09.2022
Сообщений: 142
13.03.2024, 11:30  [ТС]
polax, здравствуйте. Вернулся к АСИНХ-процедурам/функциям и немного не понял одного момента: в конфигурации "Режим использования модальности" стоит "Использовать", могу ли я в такой конфигурации использовать АСИНХ методы? А то почему-то говорю ему ЖДАТЬ, а он, злодей, не ждёт
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
 
// тут что-то выше
 
Отказ = ЗадатьВопросОПересеченииЗаписейАСИНХ
 
КонецПроцедуры
 
&НаКлиенте
АСИНХ Функция ЗадатьВопросОПересеченииЗаписейАСИНХ()
    
    Режим       = РежимДиалогаВопрос.ДаНет;
    Заголовок   = "Заголовок";
    ШаблонТекста = "Текст %1";
    ТекстВопроса = СтрШаблон(ШаблонТекста, Параметр);
    
    Ответ = ЖДАТЬ ВопросАсинх(ТекстВопроса, Режим,,,Заголовок); // доходит до сюда и всё равно дальше идёт, не останавливаясь
    
    Возврат ?(Ответ = КодВозвратаДиалога.Нет, Истина, Ложь)
 
КонецФункции
0
Эксперт 1С
7175 / 1777 / 648
Регистрация: 16.01.2015
Сообщений: 7,346
13.03.2024, 11:42
G3schaFt, см сообщение №18, отмеченное как решение. Твой вариант п.2 Увидишь отличия.

Добавлено через 2 минуты
И, разрешение модальности не мешает использовать асинхронный методы
1
 Аватар для G3schaFt
1 / 1 / 0
Регистрация: 19.09.2022
Сообщений: 142
13.03.2024, 11:45  [ТС]
polax, то есть основная процедура тоже должна быть АСИНХ и там тоже нужно ждать возврата результата из АСИНХ функции, ага. Думал, что ЖДАТЬ в функции заставит программу ждать нажатия кнопки и больше ничего не потребуется, а он всё равно дальше идёт.

Цитата Сообщение от polax Посмотреть сообщение
И, разрешение модальности не мешает использовать асинхронный методы
Понял

Премного вам благодарен
0
Эксперт 1С
7175 / 1777 / 648
Регистрация: 16.01.2015
Сообщений: 7,346
13.03.2024, 12:09
G3schaFt, Да. Все оказалось не так хорошо как показалось вначале. Я, чтобы не разбираться и не спотыкаться на новом Асинх, вернулся к старому доброму ОписаниеОповещения. Там хоть уже сделано переделано десятки раз и вопросов с применением не возникает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.03.2024, 12:09

Сравнить значение в поле со списком с несколькими записями в таблице
Добрый день, форумчане Окажите содействие. Описание проблемы: Мне необходимо составить условие, при котором, при выборе...

Помогите со списком значений
Здравствуйте все! У меня такая проблема: Есть список значений "СписокЦен" Надо создать условие, чтобы значения типов цен из таблицы...

Работа со списком значений
Подскажите, пож-та! Как програмно создать объект типа справочника контрагентов и в параметре Вид Контрагента указать конкретное значение,...

Сравнения переменной со списком значений
Напишите программу, чтобы проверить, определенное целое число n превышает все элементы целочисленного списка. Значение списка вводятся...

Поле со списком и несколько значений!
Помогите разобраться. Имеем три таблицы: 1-я кошелек,сумма 2-я кредит, сумма 3-я кошелек, кредит, итого-сумма. Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru