С Новым годом! Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/34: Рейтинг темы: голосов - 34, средняя оценка - 4.88
65 / 46 / 20
Регистрация: 24.10.2016
Сообщений: 1,053

Установка значения выделенных строк

08.04.2021, 15:00. Показов 8074. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую!!! Есть документ ПланированиеВыработкиПоРесурсам, реквизиты ТЧ: Сотрудник, Часы, Комментарии, в форме этого документа создал кнопки "Заполнить"(при нажатии загружает в ТЧ сотрудников) и "УстановкаЗначения", эта кнопка устанавливает значения для выделенных строк,т.е я выделяю строки(может быть несколько), должен открываться общая форма(общая форма "ВыборПроизвольногоЗначения", реквизит: Значения, тип: Произвольный, есть кнопки "ПодвердитьВыбор" и "ОтменитьВыбор")
в модуле общей формы:
Кликните здесь для просмотра всего текста
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Элементы.Значение.ОграничениеТипа = Параметры.ОписаниеТипаЗначения; 
КонецПроцедуры
 
&НаКлиенте
Процедура ПодтвердитьВыбор(Команда)
    ПараметрЗакрытия = Новый Структура("Значение", Значение);
    ЭтаФорма.Закрыть(ПараметрЗакрытия);  
КонецПроцедуры
 
&НаКлиенте
Процедура ОтменитьВыбор(Команда)
    ЭтаФорма.Закрыть(Неопределено);  
КонецПроцедуры

в модуле формы документа:
Кликните здесь для просмотра всего текста
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
&НаКлиенте
Процедура Заполнить(Команда)
    ЗаполнитьНаСервере();
КонецПроцедуры
 
&НаСервере
Процедура ЗаполнитьНаСервере()
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   ФизическиеЛица.Ссылка КАК Сотрудник
        |ИЗ
        |   Справочник.ФизическиеЛица КАК ФизическиеЛица
        |ГДЕ
        |   НЕ ФизическиеЛица.ПометкаУдаления
        |
        |УПОРЯДОЧИТЬ ПО
        |   Сотрудник";
    
    ВыборкаЗапроса = Запрос.Выполнить().Выбрать();
    
    Пока ВыборкаЗапроса.Следующий() Цикл
        НоваяСтрокаТЧ = Объект.ПланированиеВыработки.Добавить();
        ЗаполнитьЗначенияСвойств(НоваяСтрокаТЧ,ВыборкаЗапроса);
    КонецЦикла;
    
    ЭтаФорма.Модифицированность = Истина;
    
КонецПроцедуры
 
&НаКлиенте
Процедура ЗаполнитьВВыделенныхСтроках(Команда)
    
    ЭтаФорма.Модифицированность = Истина;
        
    ВыделенныеСтроки = Элементы.ПланированиеВыработки.ВыделенныеСтроки;
    Для Каждого Строка Из ВыделенныеСтроки Цикл
        //ОткрытьФорму("ОбщаяФорма.АИ_ВыборПроизвольногоЗначения");
    КонецЦикла
    
КонецПроцедуры

как обойти выделенные строки и установить значение? помогите?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.04.2021, 15:00
Ответы с готовыми решениями:

Копирование выделенных строк из отчета (чтобы потом добавить в ТЧ документа) 1с 8.3
Добрый день! Помогите кто может, бьюсь безрезультатно.. Есть отчет ДниРождения, нужно выделить строки в нем и при нажатии на кнопку...

Как получить значения выделенных строка таблицы значений на форме
Здравствуйте, подскажите можно ли получить значения выделенных строка таблицы значений на форме. Если да то как это сделать?

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

5
 Аватар для Scratchsv
1434 / 212 / 85
Регистрация: 04.03.2020
Сообщений: 742
08.04.2021, 16:19
Пример с мисты:
1C
1
2
3
4
Для Каждого Строка Из Элементы.Товары.ВыделенныеСтроки Цикл
    НСтроки = объект.Товары.НайтиПоИдентификатору(Строка).НомерСтроки;    
    МассивСтрок.Добавить(объект.Товары[НСтроки-1]);
КонецЦикла;
0
65 / 46 / 20
Регистрация: 24.10.2016
Сообщений: 1,053
08.04.2021, 23:07  [ТС]
Scratchsv, Спасибо

Добавлено через 3 минуты
Scratchsv,
{Документ.ПланированиеВыработкиПоРесурса м.Форма.ФормаДокумента.Форма(41)}: Ошибка при вызове метода контекста (НайтиПоИдентификатору)
НСтроки = объект.ПланированиеВыработки.НайтиПоИден тификатору(Строка).НомерСтроки;
по причине:
Несоответствие типов (параметр номер '1')

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

Добавлено через 4 часа 52 минуты
Поподробнее: есть в конфигураторе документ "ПланированиеВыработкиПоРесурсам", у документа есть ТЧ, реквизиты у ТЧ след: Сотрудник(тип справочник ФизическиеЛица), Часы(тип Число), Комментарии(тип Строка), и в форме этого документа мною созданы кнопки "Заполнить"(при нажатии он загружает в ТЧ документа список сотрудников из справочника ФизическиеЛица) и кнопка "УстановкаЗначения", эта кнопка устанавливает значения для выделенных строк,т.е после того как список сотрудников загружен в ТЧ(часы и комментарии остаются не заполненные), надо чтоб пользователь выделил строки(может быть несколько строк), и должна открываться общая форма, для того чтобы установить значения(общая форма называется "ВыборПроизвольногоЗначения", у него единственный реквизит: Значения, тип: Произвольный, есть кнопки "ПодтвердитьВыбор"(для того чтобы при нажатии кнопки "ОК" подтвертился выбор) и "ОтменитьВыбор"(для отмены установки значения)

Добавлено через 1 час 41 минуту
записал вот так:
1C
1
2
3
4
5
6
7
ВыделенныеСтроки = Элементы.ПланированиеВыработки.ВыделенныеСтроки;
    ЧислоЗначения = ВвестиЧисло(Объект.ПланированиеВыработки[0].Часы);
    Для каждого лкСтрока Из ВыделенныеСтроки Цикл
        НСтроки = объект.ПланированиеВыработки.НайтиПоИдентификатору(лкСтрока).НомерСтроки;    
        ВыделенныеСтроки.Добавить(объект.ПланированиеВыработки[НСтроки-1]);
    //  лкСтрока.Часы = ЧислоЗначения; 
    КонецЦикла;
но возникает ошибка
{Документ.АИ_ПланированиеВыработкиПоРесу рсам.Форма.ФормаДокумента.Форма(40)}: Ошибка при вызове метода контекста (НайтиПоИдентификатору)
НСтроки = объект.ПланированиеВыработки.НайтиПоИден тификатору(лкСтрока).НомерСтроки;
по причине:
Несоответствие типов (параметр номер '1')
что я делаю не так?
0
Эксперт 1С
5770 / 1727 / 629
Регистрация: 16.01.2015
Сообщений: 7,209
09.04.2021, 00:10
никмейн, Ошибка. Т.к. в качестве параметра принимается только индекс строки, а ни как не сама строка. СП:
ДанныеФормыКоллекция (FormDataCollection)
НайтиПоИдентификатору (FindByID)
Синтаксис:
НайтиПоИдентификатору(<Идентификатор>)
Параметры:
<Идентификатор> (обязательный)
Тип: Число.
Идентификатор строки таблицы.
Возвращаемое значение:
Тип: ДанныеФормыЭлементКоллекции, Неопределено.
Неопределено - элемент не найден.
Описание:
Получает элемент коллекции по идентификатору.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Добавлено через 32 минуты
1C
1
2
3
4
5
ВыделенныеСтроки = Элементы.ПланированиеВыработки.ВыделенныеСтроки;
Для каждого лкСтрока Из ВыделенныеСтроки Цикл
ОбъектПланированиеВыработки[лкСтрока].Часы = ТвоеЗначениеЧасов;
ОбъектПланированиеВыработки[лкСтрока].Комментарий = ТвойКомментарий;
КонецЦикла;
1
65 / 46 / 20
Регистрация: 24.10.2016
Сообщений: 1,053
09.04.2021, 12:25  [ТС]
polax, а как сделать например если это поле Часы, то устанавливаем значения для колонки часы, а если это поле комментарии, то устанавливаем для колонки комментарии, записал такой код, вроде правильно, но возникает ошибка значение не является значением объектного типа, эта ошибка возникает в условии если поле.имя.....
Кликните здесь для просмотра всего текста
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
&НаКлиенте
Процедура УстановитьЗначения(Команда)
    ПланированиеВыработкиВыбор(,Ложь);        
КонецПроцедуры
 
&НаКлиенте
Процедура ПланированиеВыработкиВыбор(Поле, СтандартнаяОбработка)
    Перем Число;
    Перем Строка;
    
    ВыделенныеСтроки = Элементы.ПланированиеВыработки.ВыделенныеСтроки;
        
    Если Поле.Имя = "ПланированиеВыработкиЧасы" Тогда
        СтандартнаяОбработка = Ложь;
        Если ВвестиЧисло(Число, "Введите часы") Тогда
            Для Каждого лкСтрока Из ВыделенныеСтроки Цикл
                Объект.ПланированиеВыработки[лкСтрока].Часы = Число;
            КонецЦикла;
        КонецЕсли;
    КонецЕсли;
    
    Если Поле.Имя = "ПланированиеВыработкиКомментарии" Тогда
        СтандартнаяОбработка = Ложь;
        Если ВвестиСтроку(Строка, "Введите комментарии") Тогда
            Для Каждого лкСтрока Из ВыделенныеСтроки Цикл
                Объект.ПланированиеВыработки[лкСтрока].Комментарии = Строка;
            КонецЦикла;
        КонецЕсли;
    КонецЕсли;
 
КонецПроцедуры
0
Эксперт 1С
5770 / 1727 / 629
Регистрация: 16.01.2015
Сообщений: 7,209
09.04.2021, 12:55
никмейн, Устанавливает значение для строки в колонке Часы. Пройдя в цикле, установит во всех нужных строках колонки Часы значени:
Цитата Сообщение от polax Посмотреть сообщение
ОбъектПланированиеВыработки[лкСтрока].Часы = ТвоеЗначениеЧасов;
Соответственно
Цитата Сообщение от polax Посмотреть сообщение
ОбъектПланированиеВыработки[лкСтрока].Комментарий = ТвойКомментарий
установит значение комментария.
Зачем еще какой-то код? Просто заранее определи что записывать в значения, типа:

1C
1
ТвоеЗначениеЧасов = 50
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.04.2021, 12:55
Помогаю со студенческими работами здесь

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

true dbgrid.Как получить значения полей из выделенных строк?
С помощью selbookmark получаю номера выделенных строк. А как мне получить значения полей из этих выделенных записей? Б. спасибо.

Удаление выделенных строк
имеется код формирования элементов checkbox &lt;?php if(isset($_GET)) { $root = $_GET; include('connectdb.php');//...

Сортировка выделенных строк
Здравствуйте, подскажите как в макросе прописать выделенные строки? Нужно выполнить сортировку выделенных строк по столбцу А с...

Обработка выделенных строк
Здравствуйте! Подскажите пожалуйста, как можно для нескольких выделенных строк в dbGrid, добавить значение для поля Группа, короче чтоб это...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru