Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/47: Рейтинг темы: голосов - 47, средняя оценка - 4.81
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 35
1

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

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

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

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

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

Заранее спасибо!
0
10.04.2017, 16:36
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.04.2017, 16:36
Ответы с готовыми решениями:

Ошибка при расчете суммы текущей строки табличной части в управляемой форме документа
Подскажите что не так ? Почему не срабатывает подсчёт? СтрокаТабличнойЧасти=ЭлементыФормы.Материалы.ТекущиеДанные; ...

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

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

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

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

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

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

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

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

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

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


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

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

Не по теме:

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



Yulunga, осторожно! Сейчас пойдут глупые вопросы! Так вот... А почему форма не выполняется на клиенте? Разве это сервер?..
0
Модератор
 Аватар для Yulunga
2438 / 853 / 247
Регистрация: 22.04.2013
Сообщений: 6,223
Записей в блоге: 1
11.04.2017, 10:46 5
Цитата Сообщение от Тамика Посмотреть сообщение
А почему форма не выполняется на клиенте?
что значит "форма не выполняется" ? ))
открылась ? открылась. значит с этой точки зрения - выполнила то, что от неё просили.
не показывает то, что надо ? не показывает - значит плохо просите. Модератор же написала, как и чо написать там.
Цитата Сообщение от Тамика Посмотреть сообщение
Разве это сервер?..
мммм, чо?
0
11.04.2017, 10:46
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.04.2017, 10:46
Помогаю со студенческими работами здесь

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

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

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

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

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


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Создаем SPA Router на чистом JavaScript
bytestream 17.02.2025
В современной веб-разработке одностраничные приложения (SPA) стали стандартом для создания динамичных и отзывчивых пользовательских интерфейсов. Ключевым компонентом любого SPA является роутер -. . .
Машинное обучение на TypeScript и TensorFlow
bytestream 17.02.2025
Машинное обучение становится все более востребованным направлением в современной разработке программного обеспечения. Интеграция искусственного интеллекта в веб-приложения открывает новые возможности. . .
Манипуляция данными EXIF и JPEG в JavaScript
bytestream 17.02.2025
В современном мире цифровой фотографии метаданные изображений играют важнейшую роль в организации и управлении медиаконтентом. Формат EXIF (Exchangeable Image File Format) - это стандарт,. . .
Как создать GUID/UUID в JavaScript
bytestream 17.02.2025
GUID (Globally Unique Identifier) и UUID (Universally Unique Identifier) - это специальные форматы 128-битных идентификаторов, которые практически гарантируют уникальность значения во времени и. . .
Что такое мышление в упрощенном смысле (моё субъективное видение, для создания модели).
Hrethgir 17.02.2025
Разумеется упрощать смысл есть. Дело в том, что я пришёл к тому выводу, что даже если я создам свой процессор (конвейер), то первое для чего смогу его использовать в качестве демонстративного. . .
Как Node.js устроен изнутри
Wired 17.02.2025
Node. js коренным образом изменил подход к веб-разработке, позволив использовать JavaScript не только в браузере, но и на стороне сервера. Созданный в 2009 году Райаном Далем, Node. js представляет. . .
Как обновить Node.js в Windows
Wired 17.02.2025
Думаю, многие разработчики сталкивались с ситуацией, когда устаревшая версия Node. js становилась источником проблем - от несовместимости с новыми пакетами до уязвимостей в безопасности. Особенно это. . .
Как обновить Node.js в MacOS
Wired 17.02.2025
В Node. js существует несколько подходов к обновлению, каждый из которых имеет свои преимущества и особенности применения. Выбор конкретного метода зависит от ваших потребностей - будь то. . .
Как обновить Node.js в Linux
Wired 17.02.2025
Обновление Node. js может показаться сложной задачей, особенно если у вас несколько проектов с разными зависимостями. Однако существует несколько надежных способов обновления, подходящих для разных. . .
[golang] 134. Gas Station
alhaos 17.02.2025
Тут нам даны два целочисленных слайса gas и cost, индексы массива представляют собой заправочные станции. а элементы gas это количество топлива на такой станции, cost это количество топлива. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru