Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
Тамика
Котовчанин
931 / 471 / 200
Регистрация: 16.02.2010
Сообщений: 3,320
Записей в блоге: 37
1

Авторасчет Суммы при изменении Цены и Количества в управляемой форме

10.04.2017, 16:36. Просмотров 3056. Ответов 4
Метки нет (Все метки)

Так толком и не разобралась с этими, мать его, управляемыми формами.

Вот хочу сделать простую вещь - на форме документа организовать самозаполняемую сумму. Естественно, дёргаю два события - ПриИзменении для Цены и то же для Количества.

Процедуры создаются на клиенте(что это значит?..). Создались. Но теперь ни под каким видом я не могу обратиться к элементам формы... В чём смысл этого Клиент-Сервера? Для чего оно? И что значит?

Заранее спасибо!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2017, 16:36
Ответы с готовыми решениями:

Ошибка при расчете суммы текущей строки табличной части в управляемой форме документа
Подскажите что не так ? Почему не срабатывает подсчёт? ...

Вернуть значение цены при изменении скидки
Платформа 8.2 Предприятие Здраствуйте. Помогите пожалуйста с кодом. Задача состоит в следующем:...

Изменение цены товара при изменении его количества
Доброго времени суток, ув. Форумчане! Знаю что я не первый кто задаёт такой вопрос, но поиск и...

Динамическое изменение цены при изменении количества товара
Здравствуйте. Нужна помощь. Есть сайт, типа магазин, там 30 товаров, все на одной html странице....

Вывод цены товара сразу же по изменении его количества
РЕбята! Всем привет! Нужна ваша помощь! Задача следующая: есть таблица из трех столбцов: количество...

4
GreenkA
Форумчанин
Эксперт 1С
3003 / 1923 / 520
Регистрация: 25.06.2009
Сообщений: 6,817
10.04.2017, 20:35 2
Тамика, &НаКлиенте - это директива компиляции. Читайте ниже
Кликните здесь для просмотра всего текста
Каждая процедура и функция модуля формы, модуля команды и общего модуля управляемого приложения предваряется директивой компиляции, определяющей среду исполнения данной процедуры. Директива предваряется символом "&". Допустимые директивы:

&НаКлиенте (&AtClient) — определяет клиентскую процедуру (функцию);
&НаСервере (&AtServer) — определяет серверную процедуру (функцию);
&НаСервереБезКонтекста (&AtServerNoContext) — определяет серверную процедуру (функцию), исполняемую на сервере вне контекста формы. Переменные не могут быть внеконтекстными. В таких методах недоступен контекст формы (включая данные формы). Допустимыми являются вызовы только других внеконтекстных методов. При вызове этих методов не выполняется передача данных формы на сервер и обратно. Применение внеконтекстных методов позволяет существенно уменьшить объем передаваемых данных при вызове серверной процедуры из среды клиентского приложения;
&НаКлиентеНаСервереБезКонтекста (&AtClientAtServerNoContext) — определяет процедуру (функцию), исполняемую в модуле формы на клиенте и на сервере, не имеющую доступа к контексту формы, данным формы, переменным, но имеющую доступ к процедурам и функциям общих модулей – серверных, не глобальных и серверных и клиентских одновременно. Сама процедура (функция) доступна для клиентский, серверных контекстных и неконтекстных процедур и функций модуля формы. Из серверных внеконтекстных методов формы допускается вызов серверных методов общих модулей;
&НаКлиентеНаСервере (&AtClientAtServer) — определяет процедуру (функцию), исполняемую в модуле команды, выполняемую на клиенте и на сервере, имеющую доступ к процедурам и функциям общих модулей – серверных, не глобальных и серверных и клиентских одновременно, не имеющую доступ к переменным. Сама процедура (функция) доступна для клиентских серверных процедур и функций модуля команды.
Клиентская процедура (функция) исполняется в среде клиентского приложения. В такой процедуре доступен клиентский контекст формы и вызовы любых процедур модуля.

Серверная процедура (функция) исполняется в среде серверного приложения. В такой процедуре доступны данные формы, доступен серверный контекст формы и вызовы серверных и серверных внеконтекстных процедур модуля. При вызове такой процедуры данные формы будут передаваться с клиента на сервер и обратно (по окончанию вызова).

Серверная процедура (функция), исполняемая вне контекста формы, (внеконтекстная) исполняется в среде серверного приложения. В такой процедуре (функции) недоступен контекст формы (включая данные формы). Допустимыми являются вызовы только других внеконтекстных процедур (функций). При вызове этих процедур (функций) не выполняется передача данных формы на сервер и обратно. Применение внеконтекстных процедур (функций) позволяет существенно уменьшить объем передаваемых данных при вызове серверной процедуры (функции) из среды клиентского приложения.

Отсутствие директивы компиляции перед процедурой (функцией) означает использование директивы по умолчанию. Директивой по умолчанию является &НаСервере. Не допускается использование нескольких директив компиляции перед одной процедурой (функцией). Не допускается наличие одноименных процедур (функций), отличающихся только директивами компиляции.

В модуле управляемой формы допускается использование инструкций препроцессору. Рекомендуется использовать инструкции препроцессора только внутри процедур (функций). Для понимания результата при "пересечении" инструкциями препроцессора границ процедур (функций) следует учитывать, что обработка инструкций препроцессора выполняется до обработки директив компиляции.

В модуле команды предопределенная процедура-обработчик ОбработатьКоманду должна предваряться директивой &НаКлиенте, так как выполнение команды происходит в клиентском приложении.

Модуль формы
В модуле формы доступны директивы компиляции – &НаКлиенте, &НаСервере, &НаСервереБезКонтекста, &НаКлиентеНаСервереБезКонтекста.
Модуль команды
В модуле команды доступны директивы компиляции – &НаКлиенте, &НаСервере, &НаКлиентеНаСервере.
Общий модуль
В общем модуле доступны директивы компиляции – &НаКлиенте, &НаСервере.


По поводу доступа к элементам формы и перерасчету сумм: у вас это в табличной части документа происходит?
Если да, то обращение к текущей строки - Элементы[ИмяТабличнойЧасти].ТекущиеДанные
Потом уже перерасчет полей:
1C
1
2
ТекСтрока = Элементы[ИмяТабличнойЧасти].ТекущиеДанные;
ТекСтрока.Сумма = Текстрока.Цена * ТекСтрока.Количество;
Ну это только вариант и предположение) Я не телепат, надо больше информации: какая конфигурация, где перерасчет нужен и т.п.
0
Yulunga
457 / 326 / 83
Регистрация: 22.04.2013
Сообщений: 2,140
Записей в блоге: 1
Завершенные тесты: 1
10.04.2017, 21:04 3
Цитата Сообщение от Тамика Посмотреть сообщение
Процедуры создаются на клиенте(что это значит?..)
это значит, что пересчёт идёт на компьютере твоего менеджера. нет смысла обращаться к базе данных, которая хранится где-то в другом месте, и спрашивать у неё "сколько будет 10 000 рублей умножить на двух человек"

а когда тебе нужны сведения от базы данных ( накладную от 2 января 16 года или что-то такое ) , тогда ты пишешь процедуру &НаСервере и обращаешься к тому, что хранится в файле базы данных, и вытягиваешь его.
0
Тамика
Котовчанин
931 / 471 / 200
Регистрация: 16.02.2010
Сообщений: 3,320
Записей в блоге: 37
11.04.2017, 10:19  [ТС] 4

Не по теме:

Цитата Сообщение от GreenkA Посмотреть сообщение
Я не телепат
Да ну лааааадно! Инога мне кажется, что Вы именно телепат!:) Потому что всё так и есть. Табличная часть документа.:)



Yulunga, осторожно! Сейчас пойдут глупые вопросы! Так вот... А почему форма не выполняется на клиенте? Разве это сервер?..
0
Yulunga
457 / 326 / 83
Регистрация: 22.04.2013
Сообщений: 2,140
Записей в блоге: 1
Завершенные тесты: 1
11.04.2017, 10:46 5
Цитата Сообщение от Тамика Посмотреть сообщение
А почему форма не выполняется на клиенте?
что значит "форма не выполняется" ? ))
открылась ? открылась. значит с этой точки зрения - выполнила то, что от неё просили.
не показывает то, что надо ? не показывает - значит плохо просите. Модератор же написала, как и чо написать там.
Цитата Сообщение от Тамика Посмотреть сообщение
Разве это сервер?..
мммм, чо?
0
11.04.2017, 10:46
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2017, 10:46

Stringgrid не изменяет свой размер при изменении n и как сделать подсчет суммы и количества
Помогите с кодом . Stringgrid не изменяет свой размер при изменении n и как сделать подсчет суммы и...

При изменении цены в каталоге, не проставляется цена на странице товара
Добрый день, столкнулся с проблемой, не проставляется цена, при вводе через админку: каталог -...

Расчет суммы и количества в форме
Здравствуйте! Помогите пожалуйста в форме Сотрудники посчитать Сумму и Количество заключенных...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.