С Новым годом! Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/29: Рейтинг темы: голосов - 29, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 4
1

Таблица Умножения (Внешняя Обработка)

14.10.2013, 13:35. Показов 5915. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте,

помогите пожалуйста разобраться с заданием.

Требуется создать таблицу умножения использую Внешнюю Обработку

Размеры таблицы указываются в двух Полях ввода.
После этого таблица заполняется.

Форму я уже создал, алгоритм тоже вопросов не вызывает.
Главный вопрос как заставить элементы формы взаимодействовать друг с другом.

Пожалуйста подскажите в каком направлении двигаться
Миниатюры
Таблица Умножения (Внешняя Обработка)  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2013, 13:35
Ответы с готовыми решениями:

Внешняя обработка
Здравствуйте, конфигурация УТ 10.3, создал внешнюю обработку для отправки вложений по почте. Как...

Внешняя обработка
1С Предприятие 8.2 Как из внешней обработки создать элемент в корень какого-нибудь справочника? (В...

Внешняя Обработка
добрый день! Очень нужна помощь.В 1с8.2 есть справочник контрагенты.Необходимо в наименовании...

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

14
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
14.10.2013, 14:18 2
Цитата Сообщение от Gertok Посмотреть сообщение
Форму я уже создал, алгоритм тоже вопросов не вызывает.
Вызывает и то, и другое. К1 и К2 - множители? А результат куда надо?
Таблица в виде "2х2=4,2х3=6"? Непонятно
0
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 4
14.10.2013, 14:32  [ТС] 3
В полях К1 и К2 указывается кол-во колонок и строк.
Например 3 х 5
После этого заполняется таблица
1 2 3
2 4 6
3 6 9
4 8 12
5 10 15

Добавлено через 5 минут
А результат в таблицу над полями
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
14.10.2013, 17:13 4
Таблица значений.
Цикл по К1 создать колонки
2 цикла:
Цикл по К2 добавить строку
Цикл По К1 перемножить счетчик для К2 на счетчик для К1

В форме таб.поле, данные в нём - эта ТЗ.
0
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 4
14.10.2013, 17:24  [ТС] 5
можно пример как цикл по к1 писать,
у меня опыт только на Java

Добавлено через 3 минуты
Как "прочитать" число из К1
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
14.10.2013, 17:29 6
1C
1
2
3
Для ИкК1=1 По К1 Цикл
ТЗ.Колонки.Добавить("К"+ИкК1);
КонецЦикла;
0
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 4
14.10.2013, 18:08  [ТС] 7
Спасибо большое за ответы.

Поле Объекта не Обнаружено Колонки.

Я пишу это в модуле формы. Все реквизиты и ТЗ добавлены в форме.
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
14.10.2013, 19:31 8
Что Вы подразумеваете под ТЗ?
0
Модератор
Эксперт 1С
4029 / 2974 / 591
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
14.10.2013, 23:01 9
Код будет примерно следующий:
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
//Имеем на форме три реквизита
//К1 - Число
//К2 - Число
//Таблица - тип таблица значений (без колонок)
&НаКлиенте
Процедура ЗаполнитьТаблицу(Команда)
    
    СерверныйВызовЗаполненияТаблицы();
    
КонецПроцедуры
 
&НаСервере
Процедура СерверныйВызовЗаполненияТаблицы()
    
    Таб = Новый ТаблицаЗначений;
    
    Для сч=1 По К1 Цикл 
        Таб.Колонки.Добавить("_"+сч,,""+сч);
    КонецЦикла;
    
    Для Множитель1=1 По К2 Цикл 
        Строка = Таб.Добавить();
        Для Множитель2=1 По К1 Цикл 
            Строка["_"+Множитель2] = Множитель1 * Множитель2;
        КонецЦикла;
    КонецЦикла;   
                        
    МассивРеквизитов = Новый Массив;
    Для Каждого Кол Из Таб.Колонки Цикл 
        МассивРеквизитов.Добавить(Новый РеквизитФормы(Кол.Имя,Новый ОписаниеТипов("Число"),"Таблица",Кол.Заголовок));
    КонецЦикла;       
    
    ИзменитьРеквизиты(МассивРеквизитов);
    
    Для Каждого Кол Из Таб.Колонки Цикл
        Если Элементы.Найти(Кол.Имя) = Неопределено Тогда 
            Эл = Элементы.Добавить(Кол.Имя,Тип("ПолеФормы"),Элементы.Таблица);
            Эл.ПутьКДанным = "Таблица."+Кол.Имя;
        КонецЕсли; 
    КонецЦикла;
    
    ЗначениеВРеквизитФормы(Таб,"Таблица");
    
КонецПроцедуры
Во вложении обработка
ТаблицаУмноженияУФ.rar
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
15.10.2013, 00:58 10
Dethmontt, это круто. Поскольку я с УФ не работаю, то и не пойму, почему нельзя всё сделать на клиенте прямо в контексте формы. ТЗ живёт только на сервере, но содержится в реквизите формы? Ужас
0
Модератор
Эксперт 1С
4029 / 2974 / 591
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
15.10.2013, 01:14 11
Половина тех методов которые я использовал в данном примере, работают только на сервере...
Цитата Сообщение от duk337 Посмотреть сообщение
ТЗ живёт только на сервере, но содержится в реквизите формы?
Верно, подмечено! Но для этого придуман специальный тип (всего их три кажись) это тип ДанныеФормыКоллекция - этот тип и отображает ТЗ
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
15.10.2013, 01:37 12
. Но, если честно, я в обработках и в обычных избегаю ТЗ. Зачем, если можно создать типизированную ТабЧасть?

Добавлено через 3 минуты
один раз не поленился 500 колонок завести. А потом только видимость отсчитывал: программа зато летала
0
Модератор
Эксперт 1С
4029 / 2974 / 591
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
15.10.2013, 01:53 13
В Управляемых формах таблицу значений вообще нельзя передать на клиент, только через специальные методы - которые ТЗ трансформируют в тип ДанныеФормыКоллеция (например ЗначениеВРеквизитФормы())


Цитата Сообщение от duk337 Посмотреть сообщение
один раз не поленился 500 колонок завести. А потом только видимость отсчитывал: программа зато летала
Добавлено через 1 минуту
duk337, я бы поленился =)))
P.S. Хороший программист - ленивый программист =)) Народная мудрость...

Добавлено через 1 минуту
Попробуй замерить мою обработку 500 на 500 за сколько осилит...

Добавлено через 4 минуты
Заинтриговал....

Добавлено через 3 минуты
Замерил 11,6 секунды - ну не так уж и долго =))

Добавлено через 2 минуты
Дольше всего отрабатывает передача контекста на сервер...
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
15.10.2013, 01:58 14
не, у меня система была такая, что анриал... Я только сунулся с полем ТЗ - и сразу кранты... Матрица километр на километр и надо персчитывать и менять образ на ходу... Роспечать, ежедневная рабодяжка порядка тысячи изданий по 400 киоскам. По шаблонам, по вчерашнемй отгрузке и т.п. Киоски то выходные, то у них продукция по дням идёт. А с ТЧ так всё мило стало
0
Модератор
Эксперт 1С
4029 / 2974 / 591
Регистрация: 10.03.2011
Сообщений: 11,703
Записей в блоге: 1
15.10.2013, 01:59 15
Согласен, динамические "штучки" в учете зло! Очень страдает быстродействие...
0
15.10.2013, 01:59
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.10.2013, 01:59
Помогаю со студенческими работами здесь

Внешняя обработка (ЗаполнениеОбъекта)
1С 8.2 Управляемые формы Не могу понять как перехватить ссылку с документа, чтобы обработка...

1с: Документооборот 8.2 + Внешняя Обработка
Доброго времени суток, господа и дамы. На днях попалась задачка - создать для ДО обработку, на...

1с 8.2 Не открывается внешняя обработка
Доброго времени всем! Такая беда, запускаю 1С Предприятие 8.2 УТ 11 запускаю созданную обработку, а...

Внешняя Обработка Проведенные Платежи
Здравствуйте. Суть задачи такова. Нужно сделать внешнюю обработку - Отчет о проведенных платежах За...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru