выделенныестроки 1с управляемая форма

Выделение документов в динамическом списке

Приведу пример, как это делается в форме списка документов «Заказы клиентов».

Для начала в реквизитах формы находим «Список», который имеет тип «ДинамическийСписок». В его свойствах рядом с «Настройка списка» нажимаем «Открыть»

и добавляем в запрос перед «ИЗ» строку:

«,
Выбор Когда ДокументЗаказКлиента.Ссылка В (&МассивВыбранныхСсылок) ТОГДА ИСТИНА Иначе ЛОЖЬ КОНЕЦ КАК Отмечено».

1

После этого у вас в списке появится реквизит «Отмечено», который можете отразить на форме.

2

Затем правим модуль формы.

Добавляем переменные (у меня на основании выделенных будут создаваться реализации, отсюда переменная СоздаетсяРеализация, для себя сделаете что-то другое):

В процедуру ПриОткрытии() добавляем инициацию:

Затем для таблицы формы «Список» в процедуру СписокПриАктивизацииСтроки добавляем:

Собственно все, но я знаю вам еще захочется сделать кнопки «Отметить все» и «Снять все отметки» :-). Ок, код ниже:

Ну и для примера создаем реализацию:

Спасибо всем за внимание!

Специальные предложения

f71a8c4e70c0ff03708038e2b0210df8

9c2808762ec294cd4c55532520b9c521

895fb1e0f7afc3c0ed0d73bf5ee9d9d0

egais promo

b34b292ed32e9501f98cc31df406353e

789363929b9f37ddc5641a069a5fe52e

5b19cd6c4494a88b2abefce64a1b7565

199e2be4fd21dd8f4209d8ec34616c76

Есть другой способ как работать с выделенными строками в динамическом списке.

А в «ПриАктивацииСтроки» применить полностью алгоритм (процедуру) автора.

Тогда при двойном щелчке мыши по полю «Флаг» будет проходить выделение/снятие отметки, добавление в массив, а по остальным другим полям обычное открытие документа текущей строки списка.

(10) спасибо, очень все понятно сразу стало, как хорошо что можно написать в коде не типовой не ут «так этож типовая ут» и 1Сочка сразу все поймет.

Заодно и про макет фишечку вместо МакетКомпоновки = ОбщегоНазначенияУТ.ПолучитьМакетКомпоновки(СхемаКомпоновки, НастройкиКомпоновки);

Обновление 01.02.16 11:13

Код открыт Не указано

См. также

Недокументированное использование стандартных обработок из меню «Все функции». Промо

19.06.2015 120350 ekaruk 137

[ПОТРАЧЕНО] Динамическая таблица формы

История одной разработки в далеком 2020 году.

15.10.2021 3197 rpgshnik 43

Программно свернуть/развернуть узел динамического списка (с основной таблицей). Жирная точка над всеми «i».

08.10.2021 1418 e-9 13

Прогресс-бар в поле динамического списка

Изображаем прогресс-бары в колонке динамического списка

23.08.2021 2679 Yashazz 12

Идея или как сохранить ЦВЕТ, ШРИФТ, ОФОРМЛЕНИЕ пользователя Промо

Простой и оригинальный способ сохранять ЦВЕТОВУЮ СХЕМУ и ОФОРМЛЕНИЕ пользователей. Как сохранить ЦВЕТ

22.06.2015 24921 Tatitutu 12

Перенос расшифровки в пользовательские настройки

Как перенести данные расшифровки в пользовательские настройки.

11.08.2021 677 scientes 1

1С и ODBC

ODBC (Open Database Connectivity) — это программный интерфейс, универсальное средство доступа к базам данных, разработанное для обмена между источниками (базами данных) разного типа. Данный интерфейс принято считать более низкоуровневым, чем библиотека ADOdb, однако причина эта кроется не в более низком качестве, но в том, что ODBC послужила своего рода фундаментом более поздней ADOdb – работу с последней поддерживают все типы баз, работающие и с первой. В данной статье мы расскажем о том, как взаимодействуют ODBC и 1С, а точнее, поговорим о механизме 1С ВнешнийИсточникДанных и его использовании с вышеупомянутым интерфейсом.

02.06.2021 1252 Koder_Line 5

Предотвращение многократного вызова «ПриПолученииДанных» во время поиска в табличном поле в обычных формах

Долго искал решение: как при выводе строк заполнить значениями колонки, которые созданы программно, чтобы, не было тормозов при стандартном поиске. И с минимальными изменениями (легко контролируемыми, при обновлении).

07.04.2021 2024 Vlad_CK 9

Хранение и редактирование дополнительных параметров в регламентированном отчете. Для начинающих. Промо

Для начинающих. Как редактировать дополнительные параметры регламентированного отчета, изменив только модуль формы и модуль объекта. Как сохранить дополнительные параметры в данных отчета.

22.01.2014 21051 KapasMordorov 4

Динамический список и поиск. неприятностей

Страх и ненависть в поиске по динамическому списку, или «Кое-что о неоптимальном отборе».

17.03.2021 4337 Yashazz 37

11.12.2020 1049 SizovE 6

Программное условное оформление динамического списка, раскраска строк списка по цветам справочника или любым другим условиям (условное оформление)

30.11.2020 6209 SizovE 4

Программное генерирование кнопочек для удобного управления уровнями группировки в отчетах (версия 2a). Промо

09.04.2011 47301 mtv:) 75

[mobile] Переносим HTML интерфейс на 1С

Разберем методы переноса HTML интерфейса на 1С на примере реализации нижнего меню для мобильного приложения. Сравним методы между собой. Данные методы можно применять не только для мобильной разработки, но и для веб-клиента и т.д

02.11.2020 8677 leobrn 78

Цветовая схема конфигуратора в стиле OneScript

Цветовая схема конфигуратора 1С максимально приближенная к стандартной цветовой схеме OneScript в VS Code.

01.10.2020 1366 DmitrySinichnikov 3

Рендеринг элементов управляемого интерфейса

Реализация отображения всего состояния формы проще, чем работа по изменениям. Однако использование идеи разделения алгоритмов на программные слои MVC и построения реактивных систем позволяет получить не только простые и масштабируемые решения, но и производительные интерфейсы. Рассмотрим примеры таких реализаций на основе использования фреймворка «Управление состоянием»: Информационная надпись, Заголовок формы, Свертываемая группа, Отключаемые панели.

22.09.2020 3888 kalyaka 5

Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов. Промо

Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов. Очень часто необходимо программно сформировать заголовок отчета, например добавить туда наименование валюты, в которой формируется отчет. Можно использовать макеты, но во многих случаях это не оправданно.

27.07.2012 32819 milkers 10

Переопределение представления ссылочного значения

Переопределение представления ссылочного значения

17.09.2020 4854 sam441 15

[Общий модуль] Динамическое формирование интерфейса

Версия 2.0.0.1 + добавил GitHub

28.08.2020 12756 rpgshnik 73

Медленно формируются отчеты в БП 3, способ исправления

При формировании любых отчетов, но в особенности оборотно-сальдовой ведомости в бухгалтерии 3, очень долго формировался отчет, ПОЯВЛЯЛСЯ ЖЕЛТЫЙ КОТ, разумеется у бухгалтера невроз, да и у меня тоже. Что только ни делал: тестирование и исправление с пересчетом итогов, настройка SQL, отключение фоновых заданий, обновление платформы и конфигурации, а толку нет, регламентные операции по скулю тоже сделал. И что же сделал, а вот что:

21.07.2020 3009 VID1234 8

Рабочее место кассира для touch-screen и программируемой клавиатуры продавца в «1С: Розница» Промо

Вашему вниманию предлагается текст одного из технических проектов «1С: Розница 8», он описывает процесс разработки интерфейса РМК, с которым, нынче, работают кассиры очень многих магазинов.

29.11.2012 48282 aavolkoff 50

Регистр сведений как дополнение объекта

Подключаем регистры сведений к формам связанных с ними объектов, быстро и надежно.

19.05.2020 4977 Infector 14

Перенос инструкций из word во встроенную справку 1С с сохранением картинок и форматирования

Делюсь простым и удобным способом переноса справки/инструкций из ворда (и не только) во встроенную справку 1С с сохранением картинок и форматирования.

22.04.2020 5523 77dream77 21

Функциональные опции. Управление доступным функционалом для пользователей

Как управлять доступным функционалом в привязке к пользователям программы.

24.03.2020 2134 Evilgrym 2

Бухгалтерия предприятия 3.0 интерфейс, аналогичный 1С:Бухгалтерии 7.7; Промо

Бухгалтерия предприятия, редакция 3.0, версия 3.0.14. Добавлена возможность использовать интерфейс, аналогичный 1С:Бухгалтерии 7.7;

20.09.2012 37940 dour-dead 18

Форма выбора для реквизита с составным типом данных

Возник вопрос: как открыть форму выбора для реквизита, имеющего составной тип данных, да еще и отображаемый в виде надписи?

11.03.2020 5898 rule_2 3

Treemapping — способ визуализации данных древовидной структуры. Карта-схема дерева

Предлагается ознакомиться с редким способом графического представления иерархических данных. Приводится алгоритм формирования и пример реализации.

18.02.2020 6476 randomus 20

[Шпаргалка] Предустановка типа для составного реквизита

Для реквизита составного типа необходимо ограничить список выбора типов.

18.02.2020 5379 rpgshnik 6

Выбор вариантов отчета в «Управление торговлей» ред. 11 Промо

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

27.05.2012 48630 1cUserAndrew 25

СКД. Шаг 3. Используем макеты для оформления отчета

В данной публикации рассмотрим базовый подход к использованию собственных макетов в СКД на примере формирования небольшого отчета.

Источник

Заполнение выделенных строк таблицы

Вы хотите дать возможность пользователю заполнять произвольные строки произвольной колонки произвольным значением?

Для этого вам надо сделать следующее.

1. Добавляем кнопку которая будет вызывать заполнение. Удобно сделать ее в контекстном меню.

08d00b415360eb9f346dc11eb327b8db

78fc14eaf1237f4aa315e862ca9e58b2

2. Добавляем в модуль формы обработку кнопки и служебную функцию

Но чтобы это работало в вашу конфигурацию надо добавить:

общий модуль РаботаСФормамиСервер

общий модуль РаботаСФормамиКлиент

и общую форма ВыборПроизвольногоЗначения

реквизит Значение типа Произвольный

e63a8b9292c6fc99bbc73d208d9a912d

кроме того, должна быть функция ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения), которая есть в БСП.

PS: Этот способ работает для таблиц любых объектов (документов, справочников, обработок и т.д.). Причем даже если таблиц на форме несколько.
Но только если у вас имя таблицы и имя колонки совпадает с именем табличной части и именами реквизитов в ней (по умолчанию так и будет).
Колонки с галочкой ТолькоПросмотр не заполняются. Однако проверка на ТолькоПросмотр у таблицы и выше не происходит (не доделано).

Из демонстрационной конфигурации можно скопировать все нужные объекты метаданных.

Конфигурация разработана в 8.3.13.1644.

Скачать файлы

Специальные предложения

f71a8c4e70c0ff03708038e2b0210df8

9c2808762ec294cd4c55532520b9c521

895fb1e0f7afc3c0ed0d73bf5ee9d9d0

egais promo

b34b292ed32e9501f98cc31df406353e

789363929b9f37ddc5641a069a5fe52e

5b19cd6c4494a88b2abefce64a1b7565

199e2be4fd21dd8f4209d8ec34616c76

Автор молодец, что нашел время описать и опубликовать свою разработку. Я так и не решился на это.

Тем не менее, есть куда расти:
1) Заполнять можно не только реквизиты табличной части, но и реквизиты формы, являющихся колонкой табличной части или таблицы формы;
2) Если пользователь попытается заполнить колонку, которая является реквизитом другого поля, что произойдет? У такой колонки будет ТолькоПросмотр = Ложь;
3) У колонки может быть ТолькоПросмотр = Ложь, но при этом она недоступна для изменения, т.к. Доступность = Ложь или это поле надписи, поле картинки и т.п.;
4) Условное оформление может сделать колонку недоступной, а этой командой мы ее заполним;
5) Для колонки ссылочного типа заданы параметры выбора и/или связи параметров выбора;
6) Некоторые ссылочные типы могут давать выбирать не значения, а только группы. Или и то, и другое.
7) Для поля может быть задана своя форма выбора;
8) У поля формы может быть задан список выбора;
9) Если у пользователя в текущей ячейке уже указано какое-то значение, то желательно его подставлять в форму выбора как значение по умолчанию;
10) После заполнения форма должна стать модифицированной.

Все это надо учитывать, чтобы сделать корректное заполнение.
Конечно, все предусмотреть невозможно, у поля могут быть описаны программные обработчики, которые меняют алгоритм заполнения. Но такие случаи надо рассматривать и учитывать для каждой формы индивидуально. А для 90% форм автоматическое заполнение подойдет.

Источник

Базовый принцип программирования управляемой формы в 1С

Цель статьи – показать применение шаблонов Remote Facade и Data Transfer Object к структуризации кода, управляемой формы в среде 1С 8.2.

Введение

Начнем с небольшого описания понятия «управляемая форма» и связанных концепций платформы 1С. Знатоки платформы могут пропустить этот раздел.

Все дальнейшие рассуждения будут о правой части иллюстрации, о том, как структурировать код модуля и какие принципы позволят реализовать эффективное клиент-серверное взаимодействие.

Обозначим проблему

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

Рассмотрим структуру кода (модуль формы) в нескольких формах одной типовой конфигурации и попробуем найти закономерности.
Под структурой будем понимать секции кода (чаще всего это блоки комментариев) выделенные разработчиком для группировки методов и директивы компиляции этих методов.
Пример 1:

Зачем нужна структура кода?
Почему существующий стандарт разработки от фирмы 1С не помогает?

Шаблоны проектирования или мудрость поколений

Примеры шаблонов в платформе 1С

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

Сравните с принятым в v8.1 стилем.

Структурируем код

Источник

Работа с табличной частью объектов в 1С

Табличные части существуют у многих объектов в 1С:

Табличные части позволяют хранить неограниченное количество структурированной информации, принадлежащей одному объекту.

Рассмотрим некоторые приемы работы с табличными частями.

Как обойти табличную часть

Для обхода табличной части можно использовать цикл Для каждого

Для каждого Строка из ТабличнаяЧасть Цикл

На каждой итерации в переменную Строка передается очередная строка табличной части. Значения реквизитов строки можно получить выражением Строка.ИмяРеквизита.

Как получить и обойти выделенные строки табличной части

Для вывода информации из табличной части объекта служит элемент формы Табличное поле. Для включения возможности выделения нескольких строк на табличном поле нужно установить значение Множественный у его свойства Режим выделения.

%D0%A2%D0%A7Для получения перечня выделенных строк используется следующий код:

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

Для каждого Строка из ВыделенныеСтроки Цикл

Как программно выделить строки табличной части (табличного поля) и снять выделение

Чтобы программно снять выделение строк табличного поля:

Чтобы программно выделить все строки табличного поля:

Как очистить табличную часть

Как получить текущую строку табличной части

Текущая строка — это срока, в которой у пользователя в данный момент находится курсор. Чтобы ее получить, нужно обратиться к элементу управления на форме, который связан с табличной частью.

Для обычных форм код будет выглядеть так:

Для управляемых форм:

Как добавить новую строку в табличную часть

Добавление новой строки в конец табличной части:

Добавление новой строки в любое место табличной части (последующие строки будут сдвинуты):

Как программно заполнить реквизиты строки табличной части

Если нужно программно заполнить реквизиты строки табличной части, которую добавляет пользователь, необходимо использовать обработчик события табличной части ПриНачалеРедактирования.

Создаваемая обработчиком процедура имеет три параметра:

Рассмотрим пример. Допустим, нам нужно заполнить реквизит табличной части СчетУчета, в случае, когда добавляется новая строка. При редактировании существующей строки изменять счет учета не нужно.

//Если пользователь редактирует существующую строку, то ничего не делаем
Если НЕ НоваяСтрока Тогда
Возврат ;
КонецЕсли ;

Работа с табличной частью объектов в 1С : 13 комментариев

Приветствую!
Только начал изучать 1С.
Кое что уже знаю, но мало и опыта практически ноль.
Создал свою конфигурацию, пока только для тестов.
В данной конфигурации есть документ, назовем его «Заявка».
В данной заявке, есть табличная часть, в которой есть реквизит «Стоимость».
Получается, что таких документов много и мне нужно сложить все реквизиты «Стоимость» из всех документов «Заявка».
Вопрос.
Как мне это сделать?
Предполагаю, что нужно использовать функцию с экспортом, в которой будет цикл «Для Каждого ……»
Но как это оформить, пока не могу понять…

Сделать это можно по-разному. Цикл Для каждого, на мой взгляд, не очень подходящий вариант, т.к. будет работать слишком долго. Да и надо еще где-то список документов брать.

Я бы порекомендовал сделать запрос к табличной части документа (именно к табличной части, а не к документу). Выбрать там ваш столбец Стоимость и другие столбцы, если нужно. И применить функцию СУММА к этому столбцу. Подробнее и с примерами смотрите в статье Группировки в запросах 1С http://chel1c.ru/querry_group/

Спасибо!
Буду пробовать.

А может это подойдет?

Табличная часть (Tabular section)
Итог (Total)
Синтаксис:

Тип: Число; Строка.
Индекс либо имя колонки, по которой подсчитывается итог.
Возвращаемое значение:

Тип: Число; Неопределено.

Суммирует значения всех строк в указанной колонке.
Если в колонке установлен тип и он единственный, то при суммировании будет предприниматься попытка преобразования значения к типу Число.
Если колонке не присвоены типы, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них есть тип Число, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них нет типа Число, то результатом будет значение Неопределено.

Сервер, толстый клиент, внешнее соединение.
Пример:

Это подошло бы, если бы нужно было суммировать колонку в одном документе. А Юрию нужно суммировать колонку Стоимость всех документов.

Добрый день!
Достаточно ли будет обратиться в модуле формы к текущей строке табличной части или в модуле менеджера тоже нужно будет что-то прописать?

Не совсем понял, о чем конкретно вопрос.
Если о том, как получать и работать с текущей строкой табличной части, то в модуле менеджера ничего писать не нужно.

//Создаём новую коллекцию печатных форм
КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм(«ПечатьЭтикеток»);
//Добавляем в коллекцию сформированный табличный документ
КоллекцияПечатныхФорм[0].ТабличныйДокумент = ТабДокумент;
//Устанавливаем параметры печати (при необходимости)
КоллекцияПечатныхФорм[0].Экземпляров = 1;
КоллекцияПечатныхФорм[0].СинонимМакета = «ПечатьЭтикеток»; //Так будет выглядеть имя файла при сохранении в файл из формы «Печать документов»
//Вывод через стандартную процедуру БСП
УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм, Неопределено, Неопределено);КонецПроцедуры

ТабДокумент.АвтоМасштаб = истина ;
ТабДокумент.ОтображатьСетку = Ложь;
ТабДокумент.ТолькоПросмотр = Истина;
ТабДокумент.ОтображатьЗаголовки = Ложь;

Макет = ДокСсылка.ПолучитьОбъект().ПолучитьМакет(«Этикетка»);
Для каждого Стр Из ДокСсылка.Картриджи Цикл
//Если Лев(Стр.СерийныйНомер,2) «30» Тогда
// Продолжить;
//КонецЕсли;
ОбластьМакета = Макет.ПолучитьОбласть(«ШПК»);

ЧтоТо = Стр.СерийныйНомер;
ПервыйМодуль.ВывестиШтрихкодДокументаВОбластьМакета(ВнешняяКомпонента,ОбластьМакета,ЧтоТо) ;

ОбластьМакета.Параметры.Клиент = ДокСсылка.Партнер;
ОбластьМакета.Параметры.Орг = «СК ПОТОК тел.78-06-78»;//Константы.пмОрганизацияДляСервиса.Получить();
ОбластьМакета.Параметры.КЖ = СокрЛП(Стр.Картридж.Артикул);
ОбластьМакета.Параметры.СерийныйНомер = Стр.СерийныйНомер;

ТабДокумент.Вывести(ОбластьМакета);
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЦикла;

Информацию о выделенных строках вы можете получить только в модуле формы документа, причем, если мне не изменяет память, это должна быть клиентская процедура. По ссылке на документ выделенные строки получить нельзя.

Да, логика такая. Только учтите, что таблица значений не передается с клиента на сервер.
Выделенный строки табличного поля на форме — это массив строк. Надо попробовать, передастся ли он. Если да, хорошо. Если нет — надо думать, как его передать.

Доброго времени суток!
Создаю обработку на обычных формах, в которой имеется несколько Табличных частей. Они в свою очередь находят отображение в Форме обработки. И если данные первых 3, меня после закрытия Формы, не интересуют, то данные последней хотелось-бы использовать в дальнейшем, пока открыта обработка. В настоящее время при закрытии Формы Табличные части очищаются. В дальнейшем, в новом сеансе работы с обработкой эти данные не нужны. Насколько я понимаю Функции сохранения Данных Табличной части обработки не существует. Табличную часть в обработке решил использовать из-за возможности сохранить структуру Данных. Как мне сохранить эти данные для использования в других окнах?
Может у Вас есть видео по данному вопросу?

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • выделенные фрейдом три основные формы проявления бессознательного не включают
  • выделенная пиктограмма домик в формах программы 1с бухгалтерия 8 служит для