#0
by УправляемыеФормы
Добрый день. Есть управляемая форма документа. Необходимо при изменении количества вызывать процедуру общего модуля, которая используется для обычных форм. Как правильно это сделать? Пока обошелся следующим кодом: Но это, мне кажется, неверно. Вопрос: Как правильно преобразовать а) текущую строку ЭЛЕМЕНТА формы (Клиент) в б) текущую строку РЕКВИЗИТА формы (сервер) и потом в в) строку табличного документа (Толстый клиент, Сервер), передать ее в качестве параметра в процедуру ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТовары, ДокументОбъект), и потом обновить данные? Спасибо!
#2
by УправляемыеФормы
Постановка вопроса некорректна? Формулировки не видны? Или на этом форуме не принято общаться по 1С? Вопрос в группе "Политика" и "Игры" получит более быстрый ответ?
#5
by Defender aka LINN
1. Ты не потрудился заглянуть в типовую 2. Ты не потрудился выяснить, какие типы данных можно передавать между клиентом и сервером 3. Ты не потрудился даже заглянуть в СП, чтобы выяснить ответы на . 4. Ты даже не потрудился подумать, прежде чем нагадить кодом из в базе. Достаточно?
#6
by УправляемыеФормы
Но на обсуждение вопроса вы потратили свое время, несмотря на очевидность ответа. Вы знаете ответ на мой вопрос? Или нет?
#9
by УправляемыеФормы
Вы же модератор? Почему вы тогда не стараетесь соблюдать кодекс модератора? "Уважайте участников, требуйте уважения к себе, но гораздо более решительно пресекайте неуважение к новичкам. Если кто-то назовёт новичка дятлом, да треснет его собственный клюв! Модератор — это всегда образец для подражания, пример поведения на форуме. Если модератор что-то разрешает себе, то остальные участники тоже себе это разрешают. Если модератор плюёт на культуру общения, то форум начинает зарастать сорняками. " Может тогда стоит с этого начать, что бы вы не начинали называть незнакомого человека идиотом?
#10
by УправляемыеФормы
Впрочем, с понятно, и я не готов кормить тролля, который почему-то модератор. Может кто-нибудь еще поделится опытом?
#14
by aleks-id
а вообще жесть - взять вот так и захерачить в сервант ботинком через РеквизитФормыВЗначение("Объект")
#15
by DexterMorgan
Зачем вызывать сервер это все можно (нужно) делать на клиенте. У текущей строки "ПолучитьУникальныйИдентификатор", по нему найти строку в Объект.Товары - это реквизит формы. Если хочешь найти строку в объекте БД можно например через поиск по номеру строки (НомерСтроки = ИсходныйНомерСтроки на форме)
#16
by УправляемыеФормы
В типовой торговле 10.3 есть процедура пересчета строки табличной части с учетом скидок, ставок ндс, и прочих параметров. Конечно, я могу переписать эту процедуру, взяв пример из типовой УТ 11, но у меня тут не практический, а скорее учебный. Так что, если нужно на сервер передать именно строку табличной части документа - именно такого типа "ДокументТабличнаяЧастьСтрока.МойДокумент.Товары", при событии в управляемой форме, это невозможно? Сейчас попробую через индекс строки "Элементы.Товары.ТекущаяСтрока"
#17
by aleks-id
заняться больше нечем? передавай туда номер строки. а на сервере обрабатывай через Объект.ИмяТабЧасти
#18
by DexterMorgan
Ты 10.3 так под УФ переписываешь?)))))))))))))) Ну если тебе очень надо то в все верно, только передавай еще номер строки и вместо обхода цикла: ДокОбъект.Товары.Найти(НомерСтроки, "НомерСтроки") вот тебе будет твоя строка XDDDDDDDDDDD
#19
by УправляемыеФормы
Спасибо большое, благодаря мысли про индекс удалось оптимизировать, и избежать пересчета всей табличной части. Я думаю, что избежать ДокументОбъект = РеквизитФормыВЗначение("Объект"); Не переписывая процедуру на сервере - там именно из реквизитов объекта определяются ставка НДС, скидки по договору, и т.п.
#20
by УправляемыеФормы
Я не то, что бы переписываю какую-то рабочую базу. Я а) изучаю управляемые формы и б) пока только прикидываю возможность перехода очень сильно дописанной 10.3 на УФ. Перехода на 11 УТ не будет еще года два, или какая там будет. Спасибо большое за советы.
#21
by Mort
Ну да, сервер, то простаивает, почему бы ему количество на цену умножить, зачем клиента напрягать...
#22
by УправляемыеФормы
Понимаете - " количество на цену умножить" тут не обойдешься, потому что есть сумма НДС, ставка НДС, скидка(наценка) ручная, скидка (наценка) автоматическая, курс опять-таки. Не буду же я все это на клиенте считать.
#25
by DexterMorgan
Если тебе нужен курс тогда и вызывай сервер, и то только для того чтобы этот курс получить, для этого в УТ11 и формируют структуру в которой есть ("НеобходимВызовСервера", Булево), а не всегда когда количество меняется
#27
by УправляемыеФормы
Так это не тот "Объект", к сожалению. Этот объект имеет тип "ДанныеФормыСтруктура", а мне нужен "ДокументОбъект.МойДокумент". Поэтому и использую ДокументОбъект = РеквизитФормыВЗначение("Объект")
#34
by DexterMorgan
То что документ может быть новый и ссылки у него нету и получить объект ты не сможешь
#35
by hhhh
а зачем тебе именно ДокументОбъект? Ты что, фанат этого ДокументОбъекта? Работай с ДанныеФормыСтруктура.
#39
by УправляемыеФормы
Конечно, я добавлю процедуры общего модуля, принимающие структуру, и это будет ПРАВИЛЬНО. Спасибо еще раз всем.
#40
by hhhh
чего-то ты нам мозги компостируешь. Эта функция ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти - это же для обычных форм.
#43
by УправляемыеФормы
Не очень понял, почему "ни к чему". Я отлично понимаю, что использовать процедуру ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти", изначально написанную так, что в нее надо передавать строку табличного документа из обычной формы (тип СтрокаТабличногоДокумента, тип, который отсутствует в управляемой форме), и объект типа "ДокументОбъект" для использования в управляемой форме некорректно. Но, тем не менее, если вдруг в процессе перехода на управляемые формы сталкиваешься с тем, что очень прямо сейчас нужно, то можно и так, как в , в качестве временной меры. Но использовать это в качестве конечного решения нельзя. Ибо "некошерно"
#44
by Поpyчик-4
Какой чоткий пацанчик, только зарегался, сразу всех по местам, так мне не тыкать, пальцы не гнуть, прочитали первый пост, бросили всё и метнулись мне объяснять.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Пересчет регистров
- v7: Новая статья. Быстрый и выборочный пересчет бух. итогов в 1С 7.7.
- Долгий пересчет итогов
- Пересчет суммы по строкам документа
- Долго производится "пересчет регистров" "пересчета итогов" в ТИИ
- Как в управляемой форме посчитать итог по колонке тч на форме?
- Пересчет из евро в рубли суммы поступления. УТ 11.1
- Как в v8 сделать пересчет суммы в ТЧ документа
В этой группе 1С
- Ошибка SQL: Переполнение поля => Что это?
- ЗУП: Повременка + сдельная оплата в одном месяце
- Какую платформу ставить 15 или 14
- Ограничение доступа на уровне записей (RLS)
- Установка базы распределения затрат
- Не найдено поле счета у пространства блокировки РегистрБухгалтерии.ЕПСБУ
- Внешний отчет без написания кода
- оборотно сальдовая ведомость по счету 01.1 Данные по количеству
- В окне запуск 1с не активны кнопки изменить добавить
- RLS и пустое значение. Кто сталкивался?
- ЗУП: Часы в расчетном листке отображаются как дни.
- Как решить задачу оповещения пользователей в самописной конфигурации?
- Передать объект формы на сервер и заполнить
- v7: 1С Запрос на sql базе собирает неправильные данные
- Проведите документ Отражение начисления НДС выдает ли ошибку в 2.0.32.4
- WinHttpRequest
- Дублирование видов субконто на счете 000 ?
- v7: ЗиК 7.7 Не начисляется отпуск по уходу за ребенком до 3-х лет
- Ошибка СУБД: Превышен максимально допустимый размер внутреннего файла
- восстановление файла *.epf