Имя: Пароль:
1C
 
"На основании" в управляемых формах
,
0 Мисти
 
09.05.16
21:01
Запуталась. Как лучше сделать?
В 2.0 было так. Есть документ (акт снятия показаний счетчика), при вводе на его основании создавалось сразу несколько счетов, заполненных соответствующими строками - в один все коммунальные услуги, в другой - "питьевая вода" и т.д. Все счета - не записаны, без номеров - хочешь сохраняешь, хочешь нет.
В 3.0 у меня так не получилось.
Не получается даже проще! Сейчас задача такая - спросить, по какому типу сделать счет и сделать один (а потом - второй, если надо).
1 Мисти
 
09.05.16
21:03
Вроде, процедура такая была прописана "приСозданииНаСервере" для нового документа (основание документа уже вставлено в модуле процедурой заполнения). Как спросить-то?
2 Звездец
 
09.05.16
21:08
ПриВводеНаОсновании будет наверное правильнее, только предварительно передав как параметр то, по чем создавать счет
3 Мисти
 
09.05.16
21:09
А разве из модуля документа можно задать вопрос?
4 Звездец
 
09.05.16
21:12
(3) Вопрос задать можно еще в акте снятия показаний, и на основании ответа уже сформировать параметр для передачи и вызвать ввод на основании.


В общем достаточно вызвать ОткрытьФорму создаваемого документа и в его ПриВводеНаОсновании обработать переданный параметр
5 Чайник Рассела
 
09.05.16
21:14
(0) есть вопросы, которые на ставят тебя в тупик. В 50 лет косить под молодую дурочку это уже маразм.
6 Мисти
 
09.05.16
21:49
Нашла -             ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса,РежимДиалогаВопрос.ДаНет);
А из "наСервере" можно?
7 Мисти
 
09.05.16
21:49
Или это не вопрос? Мне ведь нужен не ответ "да-нет", а выбор значения из списка?
8 Мисти
 
09.05.16
21:50
Чайник Рассела, да это простой вопрос! Даже делала когда-то, но не помню. Ума тут не надо никакого, немножко знаний, а у меня склероз, как раз по возрасту.
9 Звездец
 
09.05.16
21:52
(8) так может ну его? в (4) я почти по шагам написал что да как, подробнее - это только написать весь код
10 Мисти
 
09.05.16
21:55
(4) В твеом плане есть непонятный момент - при нажатии на кнопку "ввод на основании" уже сразу открывается модуль счета, где я успею задать вопрос?
11 Мисти
 
09.05.16
21:56
Сейчас вопрос в названии конструкции. Это не оповещение и не вопрос. А что?
12 Звездец
 
09.05.16
22:04
сделать свою кнопку, задать вопрос, сформировать параметр, вызвать открыть форму, в документе создаваемом при вводе на основании обработать параметр
13 Мисти
 
09.05.16
22:06
Если это самый прямой путь, то сделаю!
Вопрос только в вопросе.
14 Звездец
 
09.05.16
22:07
(13) в каком еще вопросе? СП продать? ИТС могу оформить, там много интересного пишут. В подарок доступ в гугл разбаню
15 Мисти
 
09.05.16
22:14
Короче, всё не так. Команда для хитрого ввода на основании уже есть, я в ней прописала еще и этот документ, теперь в воде на основании появился вызов обработки. А если тип один (это бывает чаще), то счет получится без всякой обработки.
16 Звездец
 
09.05.16
22:18
все вопросы надо задавать до перехода на сервер, или же если на сервере появилась необходимость задать вопрос, прерывать работу, возвращаться на клиент, задавать, и вновь идти на сервер. Но за такое я бы руки оторвал
17 Мисти
 
09.05.16
22:51
СписокВыбора = Новый СписокЗначений;
    СписокВыбора.Добавить(1, "Депозит");
    СписокВыбора.Добавить(2, "Постоянная часть аренды");
    СписокВыбора.Добавить(3, "Переменная часть аренды");
    СписокВыбора.Добавить(4, "Пени");
    ВыбранноеЗначение = СписокВыбора.ВыбратьЭлемент("Выберите способ заполнения");
    Если ВыбранноеЗначение = Неопределено Тогда
        Возврат;
    КонецЕсли;    
Вот это - как изобразить в управляемых формах?
18 Звездец
 
09.05.16
22:53
(17) а причем тут вообще вид формы?
19 Мисти
 
09.05.16
22:57
Ну я же не могу использовать эту конструкцию в 3.0!
20 Звездец
 
09.05.16
22:59
(19) все, фиаско. Рекомендую начать с прочтения книжки радченко. Мы говорим на разных языках
21 Мисти
 
09.05.16
23:01
Да наоборот! Я уже почти у цели!
При попытке использовать такую конструкцию идет ругань про модальность (по воспоминаниям)
22 Звездец
 
09.05.16
23:03
(21) 1с вообще сложная штука, требует много ресурсов компьютера и мозга. Нужно не просто копипастить чего-то откуда-то, а понимать что и почему сделано
23 Мисти
 
09.05.16
23:09
Так я примерно понимаю, когда вижу.
Когда не вижу - не знаю, как сделать.
Я еще с семерки, уже 16 лет всё копипастю, обычно вполне удачно.
Ответь, пожалуйста, чем заменить ту конструкцию?
Я запишу себе в словарик и больше не буду спрашивать.
24 Pistol
 
09.05.16
23:12
25 Мисти
 
09.05.16
23:12
Спасибо!
26 Звездец
 
09.05.16
23:13
(23) за столько времени можно было научиться пользоваться документацией
http://its.1c.ru/docs/v8nonmodal/
27 Звездец
 
09.05.16
23:13
не успел
28 Мисти
 
09.05.16
23:27
Слушайте, но я не могу найти там свой случай!
29 Pistol
 
09.05.16
23:40
Прости, пожалуйста. Я не догадался, что навыки чтения текста с возрастом атрофируются. Копирую фрагмент специально для тебя:

Некоторые методы встроенного языка открывают модальные окна. Для этих методов в платформе были созданы «методы-дублёры», которые обладают той же функциональностью, но используют блокирующие окна. Например, старый метод Вопрос() и новый «метод-дублёр» ПоказатьВопрос(). Полный список этих методов можно посмотреть в документации Руководство разработчика, Приложение 13. Соответствие синхронных методов асинхронным аналогам.
Кроме документации метод-дублёр можно посмотреть и в синтакс-помощнике. Для каждого старого метода они указаны.
30 Звездец
 
09.05.16
23:41
(28) там не надо искать свой, там надо принять к сведению как правильно. Только так и никак иначе
31 Мисти
 
09.05.16
23:46
Как предложить выбрать одно значение из нескольких? (их неизвестно сколько, из массива, например, заполнять буду)
Это же не ответ да-нет?
32 Fram
 
10.05.16
00:45
(31) Ну чесслово!
СписокЗначений.ВыбратьЭлемент (ValueList.ChooseItem)
СписокЗначений (ValueList)
ВыбратьЭлемент (ChooseItem)
Синтаксис:

ВыбратьЭлемент(<Заголовок>, <Элемент>)
Параметры:

<Заголовок> (необязательный)

Тип: Строка.
Заголовок окна выбора. Если параметр не указан, то используется стандартный заголовок.
Значение по умолчанию: Пустая строка.
<Элемент> (необязательный)

Тип: ЭлементСпискаЗначений.
Элемент, на который следует изначально спозиционировать список значений при интерактивном выборе. Если значением параметра не является элемент списка значений, входящий в данный список, позиционирования не произойдет.
Возвращаемое значение:

Тип: ЭлементСпискаЗначений; Неопределено.
Если пользователь отказался от выбора, возвращает Неопределено.
Описание:

Вызывает окно для интерактивного выбора одного из элементов, входящих в список значений.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
Примечание:

Если для конфигурации свойство РежимИспользованияМодальности установлено в НеИспользовать, следует использовать метод ПоказатьВыборЭлемента.
Пример:

ВыбЭлемент = СписокТиповЦен.НайтиПоЗначению(ВыбЗначение);
ВыбЭлемент = СписокТиповЦен.ВыбратьЭлемент("Выберите тип цен.", ВыбЭлемент);
Если ВыбЭлемент = Неопределено Тогда
    Сообщить("Не выбран тип цен.");
Иначе
    ВыбЗначение = ВыбЭлемент.Значение;
КонецЕсли;


--------------------------------------------------------------------------------

     Методическая информация
33 Fram
 
10.05.16
00:46
Примечание:

Если для конфигурации свойство РежимИспользованияМодальности установлено в НеИспользовать, следует использовать метод ПоказатьВыборЭлемента.
34 Fram
 
10.05.16
00:46
ПоказатьВыборЭлемента!!!!!
35 Pistol
 
10.05.16
00:49
(31) Кстати да, косить под дурочку в твоем возрасте уже неприлично:
Как сделать без модального окна?
36 Pistol
 
10.05.16
00:50
Твоя же тема, чо...
37 Мисти
 
10.05.16
14:01
Вот это да! Я же помню - делала! И получилось, но не помню как.
Да, это оно!
"показатьВыборЭлемента" - мне вот это волшебное слово нужно было.
38 Pistol
 
10.05.16
14:24
(37) Словарик из (23) обновишь?
39 Звездец
 
10.05.16
14:35
(37) пипец
40 Fram
 
10.05.16
19:25
А теперь ждем вопрос "как словить ответ пользователя?" :)
41 Мисти
 
18.05.16
00:14
(40) Когда не знаешь ни одного слова - трудно что-то найти, а когда волшебное слово есть - примеров в типовой сколько хочешь.
42 hhhh
 
18.05.16
06:07
(41) правой кнопкой мыши жмешь на своем модуле, выбираешь в меню Рефакторинг, Нерекомендуемые синхронные вызовы. Там жмешь "Преобразовать вызов" и она тебе всё делает. Только аккуратно, а то получится как мартышка и очки.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.