Меню

Размер таблиц в SQL базе для 1С 8 3 УФ



Заметки из Зазеркалья

Реализовано в версии 8.3.10.2168.

Мы реализовали новый режим отображения таблицы, когда её высота определяется содержимым. Этот режим реализован для всех таблиц, которые не связаны с динамическими списками. Это, например, табличные части, таблицы значений и деревья значений.

Раньше таблица выглядела следующим образом. Вы могли задать либо фиксированную высоту таблицы, либо включить для неё растягивание по вертикали. В результате пустая таблица всегда занимала всё отведённое ей пространство. А если в таблице было лишь несколько строк, то после последней строки оставалась значительная неиспользуемая область.

Теперь пустая таблица занимает всего лишь 3 строки, а при её заполнении тремя и более строками, пустого пространства внизу таблицы не остаётся.

Мы видим два основных сценария использования нового режима отображения таблицы.

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

Более сложный сценарий, когда обычно в таблице строк не много, но иногда их может быть значительное количество. В этом случае, в дополнение к первому варианту, вам понадобится ограничить максимальную высоту раздвижения таблицы, чтобы она не портила форму. Для этого вы отключаете автоматическую максимальную выстоту в строках таблицы, а в свойстве МаксимальнаяВысотаВСтрокахТаблицы устанавливаете то значение, до которого позволительно раздвигать таблицу. Тогда, после достижения этого значения, таблица перестанет раздвигаться по высоте и начнёт прокручиваться. На следующем видео максимальная высота таблицы 7 строк.

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

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

Источник

Работаем с таблицей значений программно

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

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

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

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

Таблица значений может использоваться явно при создании в коде необходимого количества переменных типа ТаблицаЗначений , либо неявно: при добавлении элемента управления ТабличноеПоле на обычную форму, и ТаблицаФормы — на управляемую. Здесь мы рассмотрим только программную работу с таблицей значений.

Создание таблицы значений

Как и большинство объектов встроенного языка, новая таблица значений может быть создана с помощью оператора Новый :

Колонки таблицы значений

Прежде чем начать работу с таблицей значений, необходимо создать структуру колонок. Каждая колонка характеризуется следующими свойствами:

  1. Имя — идентификатор колонки (может содержать только алфавитные символы, цифры и знаки подчеркивания. Причем, начинаться имя колонки может только с буквы или символа подчеркивания);
  2. Заголовок — представление колонки в диалогах (может содержать произвольные символы);
  3. ТипЗначения — тип значения содержимого ячеек в этой колонке. Если тип не задан, в ячейке можно хранить значения произвольного типа;
  4. Ширина — ширина колонки в диалогах;

Доступ к колонкам производится через свойство Колонки объекта ТаблицаЗначений . Для добавления новой колонки используется метод Добавить():

Для того, чтобы определить наличие колонки с нужным именем используется метод Найти():

Перебор колонок выполняется следующим образом:

Читайте также:  Гороскоп друидов по дате рождения

Для удаления колонки используется метод Удалить():

Свойства колонки таблицы значений

Имя Тип Описание
Имя Строка символьный идентификатор колонки, по которому к ней можно обращаться из кода
Заголовок Строка строковое представление колонки на форме
ТипЗначения ОписаниеТипов свойство органичивает пространство доступных значений, которые можно указать в данной колонке
Ширина Число ширина колонки на форме (выражается в количестве символов)

Методы коллекции колонок таблицы значений

Вставить() Вставляет новую колонку в указанную позицию коллекции
Добавить() Добавляет новую колонку в конец коллекции
Количество() Возвращает количество колонок в коллекции
Найти() Ищет колонку в коллекции по имени
Очистить() Удаляет все колонки из коллекции
Сдвинуть() Сдвигает колонку влево или вправо
Удалить() Удаляет колонку из коллекции

Строки таблицы значений

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

Добавление и удаление строк

Для добавления новой строки используется метод Добавить() объекта ТаблицаЗначений . Метод возвращает объект СтрокаТаблицыЗначений , с которым доступны дальнейшие манипуляции:

И только теперь мы можем заполнить строку данными. Для этого обращаемся к ячейкам строки, указывая идентификаторы колонок через точку:

Обратите внимание, что каждая СтрокаТаблицыЗначений ссылается на таблицу значений с помощью метода Владелец():

Для удаления строки используется метод Удалить() объекта ТаблицаЗначений . Строку можно удалить либо передав методу непосредственно строку, либо ее индекс:

Перебор строк таблицы значений

Для перебора строк удобнее всего использовать оператор цикла Для Каждого . В редких случаях оправдано применение цикла Для :

Поиск строк

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

Все методы таблицы значений:

Вставить() Вставляет строку на указанное место
ВыбратьСтроку() Позволяет интерактивно выбрать строку в диалоговом окне
ВыгрузитьКолонку() Выгружает значения ячеек указанной колонки в массив значений
Добавить() Добавлет новую строку в таблицу значений
ЗагрузитьКолонку() Загружает значения в ячейки указанной колонки из массива
ЗаполнитьЗначения() Заполняет ячейки указанных колонок определенным значением
Индекс() Возвращает индекс строки таблицы значений
Итог() Возвращает просуммированный итог по колонке таблицы значений
Количество() Возвращает количество строк в таблице значений
Найти() Выполняет поиск строки по значению
НайтиСтроки() Выполняет поиск строк по указанным параметрам
Очистить() Очищает строки таблицы значений
Получить() Возвращает строку по ее индексу
Свернуть() Выполняет сжатие строк и колонок таблицы значений
Сдвинуть() Сдвигает строку вверх или вниз по таблице
Скопировать() Создает новую таблицу значений копированием текущей
СкопироватьКолонки() Создает новую пустую таблицу значений путем копирования колонок текущей таблицы
Сортировать() Выполняет сортировку строк таблицы значений по указанным колонкам
Удалить() Удаляет строку таблицы значений

Иерархию свойств и типов значений, связанных с таблицей значений, схематически можно представить в виде дерева:

Источник

Размер таблицы управляемые формы

Размер таблиц в SQL базе для 1С:8.3 (УФ)

Рейтинг: 353

  • 1.png

Обработка была переделана для 1С:83 из публикации.

Принцип работы аналогичен с публикаций 8.2.

Показывает размер всех таблиц информационной базы в виде таблички
-SQL имя таблицы
-1C имя таблицы
-Назначение
-Строк
-Зарезервировано, mb
-Данные, mb
-Индексы, mb
-Неиспользуется, mb

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

Как это работает:

2.Указываем Имя сервера, базы, пользователя и пароль.

Имя сервера в 1с состоит из 2х значений:

2.2. Имя Сервере SQL (Если не знаетете, можно запустить SQL Server Management Studio и в диалоговом окне будет указано по умолчанию)

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

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

Electronic Software Distribution

Маркировка 488-ФЗ

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

<ВнешнийОтчет.РазмерТаблицВSQLБазе.Форма.ФормаОтчета83.Форма(15)>: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): [DBNETLIB][ConnectionOpen (Connect()).]SQL Server не существует, или доступ запрещен.

Функция ВернутиРезультатПостроителя(пИсточникДанных,пЗначение,пОтбор,пВидСравнения)
Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(пИсточникДанных);
тОтбор = Построитель.Отбор.Добавить(пОтбор);
тОтбор.ВидСравнения = пВидСравнения;
тОтбор.Значение = пЗначение;
тОтбор.Использование = Истина;
Построитель.Выполнить();
Результат=Новый ТаблицаЗначений;
Результат = Построитель.Результат.Выгрузить();

Возврат Результат;
КонецФункции
Процедура ПоказатиТаблицю(пТаб)
П=Новый ПостроительОтчета;
П.ИсточникДанных=Новый ОписаниеИсточникаДанных(пТаб);
П.ЗаполнитьНастройки();
ТабДок=новый ТабличныйДокумент;
П.Вывести(ТабДок);
ТабДок.Показать();
КонецПроцедуры

Читайте также:  Эффективность дистанционного обучения

Процедура ОсновныеДействияФормыСтруктура(Кнопка)
тч.Очистить();

ИмяСервераSQL = «192.0.0.0»;
ПользовательSQL = «admins»;
ПарольSQL = «qwer123»;
Строка=СтрокаСоединенияИнформационнойБазы();
п=Найти(Строка,»Ref=»);
Строка=Сред(Строка,п+5,СтрДлина(Строка)-п-6);
//Сообщить(Строка);
БазаДанныхSQL = Строка;

Соединение = Новый COMОбъект(«ADODB.Connection»);
Команда = Новый COMОбъект(«ADODB.Command»);
Соединение.ConnectionString =
«driver=;» +
«server=»+ИмяСервераSQL+»;»+
«uid=»+ПользовательSQL+»;»+
«pwd=»+ПарольSQL+»;»+
«database=»+БазаДанныхSQL+»;»;
Соединение.ConnectionTimeout = 30;
Соединение.CommandTimeout = 600;
//Открытие соединение
Соединение.Open();
Команда.ActiveConnection = Соединение;
ПідключилисьДоSQL=Истина;

Команда = ПолучитьМакет(«Макет»).ПолучитьТекст();
//Сообщить(Команда);
Рез=Соединение.Execute(Команда,,);
Пока НЕ Рез.EOF() Цикл
стр=тч.Добавить();
стр.Таблиця= Рез.Fields(«TableName»).Value();
стр.Розмір = Рез.Fields(«Total_MB»).Value();
Рез.MoveNext();
КонецЦикла;
тч2.Очистить();

ТаблицаБД = ПолучитьСтруктуруХраненияБазыДанных(, Истина);
тч2.Загрузить(ТаблицаБД);
ксть=тч2.Количество()-1;
к=ксть;
Пока к>=0 Цикл
стр=тч2[к];
нс=тч.Найти(стр.ИмяТаблицыХранения);
стр.Розмір=?(нс=Неопределено,0,нс.Розмір);
Если стр.Розмір=0 Тогда
тч2.Удалить(стр);
КонецЕсли;
Состояние(«————————————————————«+ксть+» «+к);
к=к-1;
КонецЦикла;
тч2.Сортировать(«Розмір Убыв»);
КонецПроцедуры

Источник

Программирование в 1С для всех

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

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

Таблица значений 1С на управляемой форме

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

Реквизит формы 1С с типом Таблица значений

Таблица значений на форме размещается в виде элемента формы Таблица. Это элемент будет создан автоматически, если мы перетащим мышкой реквизит с типом таблица значений в дерево элементов.

Элемент таблица формы 1С

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

Программное создание таблицы значений 1С

Вы можете создать таблицу значений в любом программном модуле при помощи оператора Новый.

ТЗ = Новый ТаблицаЗначений ;

Эта таблица значений будет существовать в том контексте, в котором Вы её создали: если Вы создали её в процедуре или функции, то она будет существовать до того момента пока выполняется эта процедура или функция. Если Вы её создали в программном модуле объекта, то таблица значений будет существовать пока выполняется обращение к этому объекту.

Но имейте в виду, что если вы создали таблицу значений в процедуре или функции программного модуля управляемой формы 1С 8.3, то на клиенте (под директивой &НаКлиенте) код будет выполняться только в толстом клиенте. В тонком клиенте и на веб-клиенте нельзя работать с таблицей значений. Возникнет ошибка!

 Ошибка при работе с таблицей значений в тонком клиенте

Но, на тонком и веб-клиенте нельзя работать только с таблицей значений 1С, которая создана программно (с помощью оператора Новый). Если же таблица значений создана на форме в виде реквизита, то обращаться к этому реквизиту можно в любом контексте, платформа преобразует её в объект ДанныеФормыКоллекция.

Как я уже говорил, вся информация в таблице значений в платформе 1С 8.3 разбита на колонки и на строки, причем каждая колонка таблицы должна иметь свое уникальное название. В том случае, если таблица выводится на форму посредством элемента Таблица, то у данного элемента могут быть все колонки, которые имеются у соответствующего реквизита с типом таблица значений с соответствующими именами. Причем количество колонок в Таблице на форме может быть меньше, чем непосредственно в таблице значений, то есть не все колонки из таблицы значений нужно отображать в таблице.

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

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

О работе с колонками и строками в таблицах значений 1С читайте в статьях по ссылкам:

Статьи о других универсальных коллекциях значений в 1С

Более подробно о работе с таблицами значений и другими интересными объектами языка программирования в 1С читайте в моей книге «Программировать в 1С за 11 шагов»

Читайте также:  Таблица белков углеводов и растительной пищи

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu


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

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы:

One thought on “ Таблица значений 1С ”

Добрый день, Ильяз! хотела поддержать проект и не смогла оплатить с Карты Маэстро.
М.б. другие варианты.
Спасибо за проект!

Источник

Размеры таблиц файловой базы данных

Обработка позволяет просмотреть размеры всех таблиц в файловой базе данных, с разбивкой по объектам (записи, BLOB, индексы). Работает как на платформах 8.2-8.3 под Windows, так и на 8.3 под Linux

Для каждой таблицы показывается соответствующее описание метаданных. Является внешней обработкой для режима управляемого приложения 1С:Предприятие 8.2 и выше, можно запустить из любой конфигурации на УФ, или из созданной пустой базы.

Технические детали:

Обработка может функционировать только на платформах 1С 8.2 и выше (т.к. используемая компонента написана по технологии NativeAPI), в режиме управляемого приложения (код открыт — можно портировать и для обычного приложения), при этом сами обрабатываемые БД могут быть любых версий (8.0-8.3). Используется компонента 1CDLib

Преимущества:

1. + Формируется быстрее

2. + Показывается размер удалённых BLOB-данных

3. + Открытый код (возможность модификации)

4. + Поддержка клиентов на платформе 8.3 под Linux

5. — Не является самостоятельным приложением

​Название файла ​Версия ​Дата ​Размер ​Скачать
Размеры таблиц файловой базы данных ​1.0 ​15.11.2014 ​550,02 Kb ​ Зарегистрируйтесь

Очень жаль что не работает с 8.3.8. Понижать совместимость ну это уже смешно! Новые базы уже давно только на 8.3.8!

Была такая же проблема. Но нашёл выход.

Для начала — к скаченному файлу нужно добавить расширение: .rar

Внутри архива обработка, которая уже содержит в себе файл 1CDLib.dll и он прекрасно работает с обработкой, НО! для это нужно привести свою БД к «старому формату». (Если кому интересно почитать что изменилось с переходом версии с 8.2.14 на 8.3.8, то вот ссылка https://infostart.ru/public/536343/) Так же для работы нам понадобится «Обновлятор 1С»: https://helpme1c.ru/obnovlyator-1s-gruppovoe-paketn. т.к. это один из самых простых способов перехода между версиями и экспериментов со «страницами». Последовательность действий довольно простая:

1. Создаём пустую БД. (у меня была платформа 8.3.10.2561 ). И выгружаем свою ИБД в файл dt.

2. Обновлятором по пункту 6->6.17 (на сайте инструкция устарела — там: 5->5.17) переводим пустышку на 8.2.14 и страницу 4к .

3. Загружаем в переведённую БД нашу ИБД .

4. Пользуемся TablesSizes из архива.

У меня маленькая БД, которая стала очень шустро расти и за месяц выросла на 800метров, достигнув 2.2ГБ. (Файловый вариант)

Для более крупных — вариант пробовать тоже самое сделать на серверной основе.

Кстати, Tool_1CD и ExtractObjects на ней тоже заработали.

При нажатии на кнопку Открыть базу сеанс 1С завершается, ошибка не комментируется

[ Главная | FAQ: Все | 7.х | 8.х | 8.2 УП | 8.3 | Видео | Files | Forum | Freelance | Поиск | Реклама на HelpF.pro | Обратная связь ]
HelpF.pro [old Help1C.com] 2009-2020 Все материалы, размещенные на сайте, добавлены посетителями сайта или взяты из свободных источников. Подробнее.
Google+ Facebook ВКонтакте YouTube Instagram Twitter @Help1C RSS

Источник