Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
Fenlou
1 / 1 / 2
Регистрация: 11.03.2014
Сообщений: 483
1
1C 8.x (тонкий)

Перевести матрицу на управляемые формы

09.02.2015, 15:20. Просмотров 1275. Ответов 7
Метки нет (Все метки)

Как можно переделать данный код на версию 1С 8.2 и не используя квалификатор числа.
Форма создана в "Общие формы"
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Процедура ЗадатьРазмерМатрицыНажатие(Элемент)
    Если ЭлементыФормы.ПолеВвода1.Значение=ЭлементыФормы.ПолеВвода2.Значение Тогда
        Сообщить("Матрица квадратная!");
        КЧ = Новый КвалификаторыЧисла(12,2);
        Массив = Новый Массив;
        Массив.Добавить(Тип("Число"));
        Описание = Новый ОписаниеТипов(Массив, , ,КЧ);
        ТЗ = Новый ТаблицаЗначений;
        Для СчетчикКолонок=0 по (ЭлементыФормы.ПолеВвода2.Значение-1) Цикл
            ТЗ.Колонки.Добавить("Кол"+Строка(СчетчикКолонок),Описание,"Кол"+Строка(СчетчикКолонок),15);
        КонецЦикла;
        Для СчетчикСтрок=0 по (ЭлементыФормы.ПолеВвода1.Значение-1) Цикл
            НовСтрока=ТЗ.Добавить();
        Конеццикла;
        ЭлементыФормы.ТабличноеПоле1.Значение=ТЗ;
        ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
    Иначе 
        Сообщить("Матрица не квадратная!");
    Конецесли;
КонецПроцедуры
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2015, 15:20
Ответы с готовыми решениями:

Передать структуру из формы в форму управляемые формы
Нужно передать из произвольной формы у форму документа структуру при закрытии В форме...

Управляемые формы 1с
как перебрать строки в таблице на управляемой форме и сделать невидимыми некоторые из них?

Управляемые формы
Начал немного усваивать 1С, вопрос к профи. Есть "управляемые формы", все формы называются...

Отчет на СКД (управляемые формы)
Доброго времени суток!Конфигурация БП 3.0 Есть задание: Создать отчет, который будет выводить...

7
Dethmontt
Модератор
Эксперт 1С
2760 / 2514 / 446
Регистрация: 10.03.2011
Сообщений: 9,188
Записей в блоге: 1
Завершенные тесты: 1
09.02.2015, 18:01 2
Fenlou, т.е. на управляемые формы?
1
Fenlou
1 / 1 / 2
Регистрация: 11.03.2014
Сообщений: 483
09.02.2015, 18:19  [ТС] 3
Цитата Сообщение от Dethmontt Посмотреть сообщение
т.е. на управляемые формы?
Да, они самые, если возможно скриншот реквизитов в форме или что там добавлять!?
0
Dethmontt
Модератор
Эксперт 1С
2760 / 2514 / 446
Регистрация: 10.03.2011
Сообщений: 9,188
Записей в блоге: 1
Завершенные тесты: 1
09.02.2015, 21:03 4
Лучший ответ Сообщение было отмечено Fenlou как решение

Решение

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
43
44
45
46
47
48
49
50
51
52
53
54
55
&НаКлиенте
Процедура Команда1(Команда)
 
    Если Поле1 = Поле2 Тогда
        Сообщить("Матрица квадратная!");
        СоздатьМатрицуНаФорме("ТаблицаФормы", "Таблица", Поле1, Поле2);
    КонецЕсли; 
    
КонецПроцедуры
 
&НаСервере
Процедура СоздатьМатрицуНаФорме(Знач ИмяТабФормы_, Знач ИмяТаб_, Знач н1, Знач н2)
    
    //Если таблицу не создали вручную, создаем программно
    Если Элементы.Найти(ИмяТабФормы_) = Неопределено Тогда
        Массив = Новый Массив();
        Массив.Добавить(новый РеквизитФормы(ИмяТаб_, новый ОписаниеТипов("ТаблицаЗначений")));
        ИзменитьРеквизиты(Массив);
        ЭлементРеквизита = Элементы.Добавить(ИмяТабФормы_, Тип("ТаблицаФормы"),);
        ЭлементРеквизита.ПутьКДанным = ИмяТаб_;
    Иначе
        ЭтаФорма[ИмяТаб_].Очистить();
    КонецЕсли;
    
    //Удаляем реквизиты
    УдаляемыеРеквизиты = Новый Массив;
    РеквизитыДляУдаления = ПолучитьРеквизиты(ИмяТаб_);
    Для Каждого РеквизитУдаления Из РеквизитыДляУдаления Цикл
        УдаляемыеРеквизиты.Добавить(ИмяТаб_+"."+РеквизитУдаления.Имя);
        Элементы.Удалить(Элементы[ИмяТабФормы_+РеквизитУдаления.Имя]);
    КонецЦикла;
    
    //Добавляем реквизиты
    ДобавляемыеРеквизиты = Новый Массив;
    Для СчетчикКолонок=1 По н2 Цикл
        ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Кол"+СчетчикКолонок, новый ОписаниеТипов("Строка"), ИмяТаб_, "Кол"+СчетчикКолонок));
    КонецЦикла;
    ИзменитьРеквизиты(ДобавляемыеРеквизиты,УдаляемыеРеквизиты);
    
    //вывод контролов на форму
    Для СчетчикКолонок=1 По н2 Цикл
        ЭлементРеквизита = Элементы.Добавить(ИмяТабФормы_ + "Кол"+СчетчикКолонок, Тип("ПолеФормы"), Элементы[ИмяТабФормы_]);
        ЭлементРеквизита.ПутьКДанным = ИмяТаб_ + ".Кол"+СчетчикКолонок;
        ЭлементРеквизита.Вид = ВидПоляФормы.ПолеВвода;
    КонецЦикла;
    
    //Заполнеине строк таблицы
    Для сч=1 По н1 Цикл
        А = ЭтаФорма[ИмяТаб_].Добавить();
        Для к=1 По н2 Цикл
            А["Кол"+к] = 1;
        КонецЦикла; 
    КонецЦикла; 
        
КонецПроцедуры
Перевести матрицу на управляемые формы
1
Fenlou
1 / 1 / 2
Регистрация: 11.03.2014
Сообщений: 483
09.02.2015, 21:41  [ТС] 5
Цитата Сообщение от Dethmontt Посмотреть сообщение
&НаКлиенте
1C
1
2
{ОбщаяФорма.Форма.Форма(34)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
    Для СчетчикКолонок=1 По н2 Цикл
Добавлено через 1 минуту
у объекта какой тип?
0
Dethmontt
Модератор
Эксперт 1С
2760 / 2514 / 446
Регистрация: 10.03.2011
Сообщений: 9,188
Записей в блоге: 1
Завершенные тесты: 1
09.02.2015, 23:35 6
Цитата Сообщение от Fenlou Посмотреть сообщение
у объекта какой тип?
Объект - это стандартный реквизит! Его не нужно добавлять!

Добавлено через 28 секунд
Реквизиты Поле1 и Поле2 имеют тип число

Вот сама обработка
МатрицаКвадратная.rar
1
Fenlou
1 / 1 / 2
Регистрация: 11.03.2014
Сообщений: 483
10.02.2015, 08:09  [ТС] 7
Цитата Сообщение от Dethmontt Посмотреть сообщение
Реквизиты Поле1 и Поле2 имеют тип число
как убрать автоматическое заполнение "1" ?

Добавлено через 14 минут
Это?
1C
1
2
3
        Для к=1 По н2 Цикл
            А["Кол"+к] = 1;
        КонецЦикла;
0
Dethmontt
Модератор
Эксперт 1С
2760 / 2514 / 446
Регистрация: 10.03.2011
Сообщений: 9,188
Записей в блоге: 1
Завершенные тесты: 1
10.02.2015, 15:11 8
Цитата Сообщение от Fenlou Посмотреть сообщение
Это?
угу...
0
10.02.2015, 15:11
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2015, 15:11

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Автозаполнение табличной части, управляемые формы
Есть справочник Клиенты(реквизиты Наименование, Код) и документ Работа, с табличной частью...

Управляемые формы, составной тип данных
на упр. форме настройки отчета имеется поле содержащее составной тип данных допустим два...

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

Управляемые формы и Com -объект (страшные тормоза)
Задачка была по переносу из Com-объекта информации в базу. Написал обработку. Открывается файл -...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.