Помощь в написании контрольных, курсовых и дипломных работ здесь.
Работа с подвалом табличного поля Вопрос: в Табличном поле считается подвал.Как можно обращаться к данным подвала? Я считаю Общую.
Не сохраняются данные табличного поля Приветствую всех. Делаю для себя расширение конфигурации. Надо в документе Перемещение добавить.
Изменение цвета фона ячейки табличного поля при выборе столкнулась с проблемой выделения цветом ячейки, не могу обратиться к ячейке, чтобы изменить ее.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Отчет СКД. Пересчет значения поля табличного документа при изменении другого поля Народ, есть отчет без СКД, нужно разрешить ввод пользователем 5 графы отчета, и на основе.
Автозаполнение Табличного Поля Доброго времени суток! Подскажите как присвоить табличному полю значение реквизита справочника (1С.
Заполнение табличного поля из запроса Столкнулся с такой проблемой: есть один документ, у него несколько табличных частей которые.
Программное изменение табличного поля Товарищи, подскажите пожалуйста, возникла такая проблема. В обработке пытаюсь программно создать.
Итог по столбцу табличного поля Доброго времени, нужна помощь, 1С начал познавать совсем недавно, и не по своей воле) конфа 8.3 УТ.
Обновление данных в ячейках таблицы формы на управляемых формах
Используя механизмы работы с контекстом формы и преобразованием клиентского контекста данных формы в прикладные типы, с которыми можно выполнять любые действия, все получается. Сейчас писал про РеквизитФормыВЗначение() на серверной стороне. На клиенте, естественно, эта функция не работает.
При таком решении пользователи выразили глубочайший протест, потому что дерево сворачивается, фокус на изменяемых ячейках теряется, визуально таблицы смещаются. И прочие недочеты, которых пользователи увидели более чем достаточно.
В результате:
Пробовал перегнать таблицы в Табличные поля, группировать по необходимым признакам и работать с отдельными ячейками. Честно, не удобно и с точки зрения программирования и при работе в пользовательском режиме тоже не самолет.
Делал через СКД с построением готовых макетов и выводом результата на форму. Этот метод ресурсоемок и достаточно длительный. На больших данных выполняется медленно. И не все задачи решаются при использовании СКД без использования вставок кода. Опять же переформирование визуальной части.
В итоге нашел достаточно простое решение. Использование клиентского метода ПолучитьЭлементы(). Следует учитывать, что при использовании такого подхода не работают такие фишки как например, НайтиСтроки().
Тем не менее перебор и работа со строками становятся куда приятнее. А пользователи пищат от удовольствия, потому что работа становиться как в «Excel».
Пример кода, как собрать сумму подчиненных в дереве. Работает, естественно, только при изменении самых нижних веток дерева.
Как поведет себя на больших объемах, пока не знаю. Не проверял. На 100 строках в таблице работает достаточно шустро. Видим прямую зависимость от мощей клиентского компьютера, т.к. все вычисления/переборы делаются именно на клиентской стороне. Более сложные расчеты, скорее всего, стоит перегонять в прикладные типы и передавать на сервер, для дальнейшего обсчета.
Обработка с примером реализации во вложении. Тестировалось на платформе 8.3.13.1644
Добрый день! В форме документа я установил кнопку где меняется все счета номенклатуры. но пока не пере открыть документ. Счета будут показывать старые. как обновить строки ТЧ. Спасибо заранее.
Yandex
Возможно, вас также заинтересует
DJ_Serega
05.11.2013 22:59
Ответ № 1
Код 1C v 8.х
ТабличноеПоле (TableBox) ОбновитьСтроки (RefreshRows) Вариант синтаксиса: Обновить все
ОбновитьСтроки() Описание варианта метода:
Выполняет обновление всех видимых строк табличного поля. Вариант синтаксиса: По строке или массиву строк
Тип: Строка табличного поля; Массив. Строка или массив строк табличного поля. Описание варианта метода:
Выполняет обновление указанной строки или группы строк табличного поля. Описание:
Обновляет табличное поле. Если параметр не указан, то выполняется обновление всех строк. Если указана строка табличного поля, то обновляется именно указанная строка. Если указан массив строк, то обновляются указанные в массиве строки.
Не обновляется представление объекта в табличной части документа
(1) Сам вот немало часов промаялся с этим загадочным обновлением представления ссылки после изменения полей формирующих это самое представление. Хотел было уже плюнуть, но не тут-то было! Неожиданно и приятно подфартило!
В самом конце Процедуры (&НаКлиенте) команды этот метод вставил.
Для задачек, подобной сути, но с обработкой единичного объекта, в качестве параметра разумнее передавать не тип, а его ссылку, согласно СП. «УФ» уж этот непредсказуемый «кешка» 😉
Глобальный контекст.ОповеститьОбИзменении (Global context.NotifyChanged) Глобальный контекст (Global context) ОповеститьОбИзменении (NotifyChanged) Вариант синтаксиса: Изменен один объект
Уведомляет динамические списки на клиенте об изменении одного объекта базы данных или одной записи регистра. Вариант синтаксиса: Изменено много объектов
Уведомляет динамические списки на клиенте об изменении множества объектов или множества записей регистра.
Уведомление не влияет на динамические списки, у которых не задана основная таблица. Динамические списки в тонком и веб-клиенте не обновляются при изменении данных в базе данных автоматически. Обновление динамического списка происходит при явном вызове метода, а также при выполнении стандартных команд записи данных форм. Также осуществляется очистка закэшированных данных на клиенте. В частности, очищается кэш представлений ссылок, кэш данных через точку, кэш данных быстрого выбора, кэш ограничений по типу, кэш форм выбора. Удаляется только та информация, которая стала недействительной.
Тип: ГруппаФормы; ТаблицаФормы; ПолеФормы; Массив. Если параметр задан, то установка значений (и обновление) будет выполняться только для тех элементов, которые заданы в параметре. Если в качестве значения передан пустой массив, то ни для каких элементов формы установка значений выполнена не будет. После вызова метода признак необходимости установки значений и обновления для элементов формы сбрасывается: если после вызова метода никакие данные формы не меняются, то ни для никаких элементов, кроме указанных, текст обновлен не будет. Если параметр имеет значение типа Массив, то элементами массива могут быть только значения типа ГруппаФормы, ТаблицаФормы, ПолеФормы. Если массив содержит значение другого типа, то будет выдано исключение о неверном типе параметра. Вызов метода ОбновитьОтображениеДанных с параметром имеет смысл только внутри обработчика ВнешнееСобытие, обработчиков ожидания формы и обработчика ОбработкаОповещения. В обработчиках других событий вызов этого метода с параметром аналогичен вызову без параметра (при необходимости данные будут установлены всем элементам управления). Описание:
В принудительном порядке обновляет содержание элементов управления. Полезен при изменении значений реквизитов формы вне формы, в тот момент, когда форма отображается на экране.