Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 16:41

Назначить действие на кнопку

Автор Dmitrii_VVV, 26 мая 2023, 15:02

0 Пользователей и 2 гостей просматривают эту тему.

Dmitrii_VVV

Коллеги, подскажите

Есть реквизит ТЧ - Курс, есть кнопка, необходимо при нажатии на кнопку установить в ТЧ курс валюты

На код ругается, что ни так делаю подскажите...

alexandr_ll

Dmitrii_VVV, Ну написано же - не определена переменная валюта2. Откуда она берется?
Нет функции Получить курс валюты. Вообще - что такое курс валюты? По курсу нужен регистр сведений, а не реквизит справочника. Он же каждый день разный.

Dmitrii_VVV

Цитата: alexandr_ll от 26 мая 2023, 17:12Dmitrii_VVV, Ну написано же - не определена переменная валюта2. Откуда она берется?
Нет функции Получить курс валюты. Вообще - что такое курс валюты? По курсу нужен регистр сведений, а не реквизит справочника. Он же каждый день разный.

Курс валюты это Регистр сведений, с измерением валюта и ресурсом курс



https://wampi.ru/image/RVJjvzl

fruitella

Dmitrii_VVV, Ну вот смотри.
У нас вызывается функция Валюта2НаСервере(). Что там происходит? Тут идет возврат Валюта2.Курс и компилятор тебе сообщает: "Извини, но я тебя не понимаю, что такое Валюта2".
Чтобы обратиться к Регистру сведений, мы должны воспользоваться Глобальным контекстом, типа такого:
РегистрКурсыВалют = РегистрыСведений.КурсыВалют;Если нам нужно, что-то в него записать, по твоей логике видимо надо, т.к. ты хочешь при клике на кнопку заполнять какими то данными. Тогда добавляешь РегистрКурсыВалют = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
Теперь пробуешь обратиться к своему полю. Рекомендую научиться пользоваться отладчиком, это незаменимая вещь. Всегда ставь точку остановы и проходись по каждому полю, где у тебя появляется ошибка.

alexandr_ll

Dmitrii_VVV, Ну вот у вас в документе есть реквизит "Курс" и в табличной части есть реквизит "Курс". Они что - разные? Вы в шапке уже находили курс валюты?
Как получить значение периодического регистра сведений
https://helpme1s.ru/registry-svedenij-v-yazyke-1s-8-v-primerax

Dmitrii_VVV

Цитата: fruitella от 30 мая 2023, 00:30Теперь пробуешь обратиться к своему полю. Рекомендую научиться пользоваться отладчиком, это незаменимая вещь. Всегда ставь точку остановы и проходись по каждому полю, где у тебя появляется ошибка.


Благодарю! Объясняешь максимально доходчиво

Вопрос по отладчику, его ведь мы запускаем только запуская в пользовательском режиме соответствующую процедуру, так?
А если , допустим, нажимая на кнопку, у нас вылезает сообщение об ошибке, то соответственно и отладчик не запустить.
Может другие способы запуска отладчика существуют?

fruitella

Dmitrii_VVV, Я не понял вопроса. Запуск отладчика через конфигуратор, ставишь точку остановы и дебаг стартанет с того места, где установлен брекпойнт - точка остановы.

nvj84

1. Если уж так сильно надо можно "Отладка-Остановка по ошибке..." установить "Останавливаться по ошибке".
2. Еще посмотрите что такое НаСервереБезКонтекста. Такие методы будут знать только то что в них передали в виде параметров (про форму, ее реквизиты и все остальное знать они не обязаны).
3. Вы находитесь на клиенте, идете на сервер, потом что то делаете на клиенте и опять идете на сервер. Зачем вам лишние серверные вызовы?

Dmitrii_VVV

Цитата: fruitella от 30 мая 2023, 17:02Dmitrii_VVV, Я не понял вопроса. Запуск отладчика через конфигуратор, ставишь точку остановы и дебаг стартанет с того места, где установлен брекпойнт - точка остановы.


Я к тому, что мне не запустить отладчик, если в процедуре, по которой он запускается ошибка . Как мог объяснил )

Выдаёт данную ошибку при запуске отладчика, в моём случае, при нажатии на кнопку Валюта 2

https://wampi.ru/image/RV0zUXw

Dmitrii_VVV

Цитата: nvj84 от 31 мая 2023, 01:49Вы находитесь на клиенте, идете на сервер, потом что то делаете на клиенте и опять идете на сервер. Зачем вам лишние серверные вызовы?

Не совсем понял, почему серверные вызовы лишние и как можно это обыграть по другому?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск