Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
160 / 159 / 13
Регистрация: 14.01.2010
Сообщений: 1,497
1C 8.x

Размер Таблицы значений

04.10.2013, 10:55. Показов 5401. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
8.2 Обычное приложение.
Можно ли как то узнать сколько занимает памяти Таблица значений?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.10.2013, 10:55
Ответы с готовыми решениями:

Обеспечить возможность ввода значений в поля Размер x, Размер y
Создать меню с командами InputSize, Choose, Change, Exit. При выборе команды InputSize открывается диалоговое окно, содержащее два поля...

Фигура Управляющий размер, после ввода значений Длины, размер фигуры не изменяется и остаётся прежним
Здравствуйте, буду рад за помощь. Есть фигура Управляющий размер. Не пойму что сделал, теперь после ввода значений в панель Данные...

Вычисление таблицы значений заданной функции для N значений X в заданном интервале
составить алгоритм и программу вычесления таблицы значений заданной функции для N значений X, меняющихся от Xнач с заданным шагом HX, и M...

12
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
04.10.2013, 15:12
Лучший ответ Сообщение было отмечено как решение

Решение

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Функция ОбъемСвободнойПамяти() 
    //Возвращает размер свободной ОЗУ (байт)
    Скрипт = "
    |Function FreeMemory()
    |strComputer = ""."" 
    |Set objWMIService = GetObject(""winmgmts:\\"" & strComputer & ""\root\CIMV2"") 
    |Set colItems = objWMIService.ExecQuery(""SELECT * FROM Win32_PerfFormattedData_PerfOS_Memory"",,48) 
    |For Each objItem in colItems
    |   FreeMemory = objItem.AvailableBytes
    |Next
    |End Function
    |";
    ИспСкрипт=Новый COMОбъект("MSScriptControl.ScriptControl");
    ИспСкрипт.Language="vbscript";
    ИспСкрипт.AddCode(Скрипт);
    Возврат Число(ИспСкрипт.Modules("Global").CodeObject.FreeMemory());
КонецФункции
 
ПамятьДо = ОбъемСвободнойПамяти();
 
//При инициализации таблицы
    ТЗ = Запрос.Выполнить().Выгрузить();
    Сообщить("Запрос занял в памяти:"+Строка(ПамятьДо - ОбъемСвободнойПамяти())+" байт.");
Добавлено через 48 секунд
Точные данные получить вряд ли удастся...
5
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
04.10.2013, 17:33
ценняк, однако... и не только для 1с

Добавлено через 1 минуту
turboq спасибку не кинул - сколько памяти ТЗ занимает... У сишников надо спросить, объект-то сишный
0
858 / 657 / 112
Регистрация: 01.11.2012
Сообщений: 2,411
04.10.2013, 17:51
Не вижу практического применения, вызываю кэпа
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
04.10.2013, 17:56
Xomych, это для души!
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
05.10.2013, 00:10
Xomych, да нету практического применения, только тупое инфо...

П.С. Таблица значений будет занимать меньше памяти если ее колонки строго типизированны
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
05.10.2013, 01:15
Цитата Сообщение от Dethmontt Посмотреть сообщение
П.С. Таблица значений будет занимать меньше памяти если ее колонки строго типизированны
я думаю, наоборт. Некоторые поведения ТЗ с нетипизированными колонками наталкивают на эту мысль: если в такой ТЗ нет строк, то нет и колонок. Оптитмизация, однако . Тем более, что если заполнять числом или строкой колонку - она приобретает минимально доступный тип, т.е. можно типизировать число на N(20,18), а получить тип N(1,0) при нетипизированной, если при заполнении не встретилось длиннее. Но это уже Си.
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
05.10.2013, 05:43
В Си нет не типизированных объектов и не МОЖЕТ быть!
Поэтому не типизированный объект в 1С это = описание всех возможных типов для Си,
т.е. если колонка ТЗ не типизирована - то она будет занимать память для всех возможных для нее типов.

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

Не по теме:

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

1
 Аватар для Augusto
72 / 72 / 1
Регистрация: 18.12.2012
Сообщений: 390
09.10.2013, 07:44
Попробовал использовать эту функцию. На возврате выдает
Ошибка при вызове метода контекста (Modules)
Возврат Число(ИспСкрипт.Modules("Global").CodeOb ject.FreeMemory());
по причине:
Типы не совпадают (0)
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
09.10.2013, 09:44
Цитата Сообщение от Augusto Посмотреть сообщение
Ошибка при вызове метода контекста (Modules)
Какая операционка?
0
 Аватар для Augusto
72 / 72 / 1
Регистрация: 18.12.2012
Сообщений: 390
09.10.2013, 13:32
Винда 64 домашняя расширенная
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
09.10.2013, 14:07
Переписал для x64/x32

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
Функция ОбъемСвободнойПамяти() 
    //Возвращает размер свободной ОЗУ (байт)
    Скрипт = "
    |Function FreeMemory()
    |strComputer = ""."" 
    |Set objWMIService = GetObject(""winmgmts:\\"" & strComputer & ""\root\CIMV2"") 
    |Set colItems = objWMIService.ExecQuery(""SELECT * FROM Win32_PerfFormattedData_PerfOS_Memory"",,48) 
    |For Each objItem in colItems
    |   FreeMemory = objItem.AvailableBytes
    |Next
    |End Function
    |";
    ИспСкрипт=Новый COMОбъект("MSScriptControl.ScriptControl");
    ИспСкрипт.Language="vbscript";
    ИспСкрипт.AddCode(Скрипт);
    
    Для Каждого module из ИспСкрипт.Modules Цикл 
        Если НРег(module.name) = "global" Тогда 
            Возврат Число(Module.CodeObject.FreeMemory());
        КонецЕсли;
    КонецЦикла;
    
    Возврат 0;
    
КонецФункции
2
 Аватар для Augusto
72 / 72 / 1
Регистрация: 18.12.2012
Сообщений: 390
09.10.2013, 15:21
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.10.2013, 15:21
Помогаю со студенческими работами здесь

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

Вычисление таблицы значений функции u(x, y) при изменении значений аргументов
Ребят, кто поможет? буду очень благодарен..нужно составить блок-схему и программу для вычисления таблицы значений функции u(x,y) при...

SQL. Вывод значений из таблицы и подсчет количества этих значений в другой таблице
Задание звучит так: Для таблиц user и phones, где соответствие записей определяется равенством user.id = phones.user_id привести 2 разных...

Написать программу вывода на экран таблицы значений Y: Y=X2+1 Для всех значений X от 0 до 2 с интервалом 0,25
Написать программу вывода на экран таблицы значений Y: Y=X2+1 Для всех значений X от 0 до 2 с интервалом 0,25.

Составить алгоритм и программу вывода на экран таблицы значений Y: Y=2Sinx для всех значений X от 0,1 до 0,6 с
Составить алгоритм и программу вывода на экран таблицы значений Y: Y=2Sinx для всех значений X от 0,1 до 0,6 с интервалом 0,1.


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru