Какое количество строк в документе 1с можно
Перейти к содержимому

Какое количество строк в документе 1с можно

  • автор:

Вычисление количества записей в запросах

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

1. При вычислении количества записей на языке запросов следует всегда использовать функцию КОЛИЧЕСТВО, а не СУММА. В противном случае, при количестве записей 10 млн. и более произойдет переполнение, что связано с разрядностью числа по умолчанию (7 разрядов), используемого в СУБД платформой 1С:Предприятие.

2. Если количество требуется вычислять условно и функцию КОЛИЧЕСТВО применить невозможно, тогда следует расширить разрядность числа по умолчанию с помощью оператора ВЫРАЗИТЬ (например, до 17 разрядов).

ВЫБРАТЬ
КОЛИЧЕСТВО(*) КАК Количество,
СУММА(ВЫБОР
КОГДА Номенклатура.ЭтоГруппа
ТОГДА ВЫРАЗИТЬ(1 КАК ЧИСЛО(17, 0))
ИНАЧЕ 0
КОНЕЦ) КАК КоличествоГрупп,
СУММА(ВЫБОР
КОГДА НЕ Номенклатура.ЭтоГруппа
ТОГДА ВЫРАЗИТЬ(1 КАК ЧИСЛО(17, 0))
ИНАЧЕ 0
КОНЕЦ) КАК КоличествоЭлементов
ИЗ
Справочник. Номенклатура КАК Номенклатура

ВЫБРАТЬ
КОЛИЧЕСТВО(*) КАК Количество,
СУММА(ВЫБОР
КОГДА Номенклатура.ЭтоГруппа
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ) КАК КоличествоГрупп,
СУММА(ВЫБОР
КОГДА НЕ Номенклатура.ЭтоГруппа
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ) КАК КоличествоЭлементов
ИЗ
Справочник. Номенклатура КАК Номенклатура

См. также

Какое количество строк в документе 1с можно

Нужно перебрать в Поле табличного документа заполненные строки. Как можно определить, сколько в табличном документе строк заполнено, чтобы сделать их выборку?

.Количество() ?
А поточнее? Как можно прописать?
Док.ИмяТЧ.Количество()
Не?

(3) Поле табличного документа <> Табличное поле.
(0)
ТабличныйДокумент.ВысотаТаблицы (SpreadsheetDocument.TableHeight)
ТабличныйДокумент (SpreadsheetDocument)
ВысотаТаблицы (TableHeight)
Использование:
Только чтение.
Описание:
Тип: Число. Содержит количество строк в таблице.
Сериализуется.

(3) не табличное поле, а поле табличного документа.
(0) неправильный подход
Получилось. Всем большое спасибо!

Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший

Как сделать ограниченное количество строк в табличной части?

Как сделать ограничение количества строк в таблице, т.е. максимальное количество записей в таблице = 5. Пытался сделать так, но выдает ошибку:

&НаСервере Процедура СоставПередНачаломДобавления(Элемент, Отказ, Копирование) Если Состав.Количество() > 5 Тогда Отказ = Истина; КонецЕсли; КонецПроцедуры 

Отслеживать
задан 14 окт 2023 в 7:40
25 6 6 бронзовых знаков

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

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

Другой вариант — сделать обработку события добавления записей в СУБД, которая используется 1С.

7.7 Количество строк в документе

Добрый день! Проблема состоит в следующем: имеется документ Прайс, табличная часть которого содержит всю номенклатуру из справочника. В итоге документ содержит порядка 12 тыс. строк. Так вот, первоначально в документе все красиво, строки нумеруются как надо. Но если его закрыть и открыть снова, то все номера строк > 9999 становятся равными 0. Соответственно, меняется порядок строк. Как можно изменить длину реквизита «НомерСтроки»? Там по умолчанию 4 знака.

P.S. Предвидя гневные высказывания по поводу того, что такие вещи делают в отчетах, а не в документах, хочу сразу сказать, что идея не моя.

TimeDontWait

Попробуйте отключить автонумерацию строк в документе

unknown181538

А если сделать свой реквизит «номер строки» и сортировать по нему?

TimeDontWait

Цитирую ограничения 1с 7.7:

Документ
Документ — может быть создано 9999 видов документов.
Документ может иметь и корректно работать имея не больше 9999 строк.
Максимальная длина кода — 20, т.е. может быть теоретически создано всего (27+33+10)^20 документов (70^20 = 7,9792266297612001e+36).
Всего в системе может быть не больше (длина ID кода в журнале=9), практически длина ID в 6 символов (3 на УРИБ) 36^6 = 2176782336 документов.
Количество введенных документ с одинаковым временем ограничивается 36^4 = 1679616

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *