Вычисление количества записей в запросах
Область применения: управляемое приложение, мобильное приложение, обычное приложение.
1. При вычислении количества записей на языке запросов следует всегда использовать функцию КОЛИЧЕСТВО, а не СУММА. В противном случае, при количестве записей 10 млн. и более произойдет переполнение, что связано с разрядностью числа по умолчанию (7 разрядов), используемого в СУБД платформой 1С:Предприятие.
2. Если количество требуется вычислять условно и функцию КОЛИЧЕСТВО применить невозможно, тогда следует расширить разрядность числа по умолчанию с помощью оператора ВЫРАЗИТЬ (например, до 17 разрядов).
ВЫБРАТЬ
КОЛИЧЕСТВО(*) КАК Количество,
СУММА(ВЫБОР
КОГДА Номенклатура.ЭтоГруппа
ТОГДА ВЫРАЗИТЬ(1 КАК ЧИСЛО(17, 0))
ИНАЧЕ 0
КОНЕЦ) КАК КоличествоГрупп,
СУММА(ВЫБОР
КОГДА НЕ Номенклатура.ЭтоГруппа
ТОГДА ВЫРАЗИТЬ(1 КАК ЧИСЛО(17, 0))
ИНАЧЕ 0
КОНЕЦ) КАК КоличествоЭлементов
ИЗ
Справочник. Номенклатура КАК Номенклатура
ВЫБРАТЬ
КОЛИЧЕСТВО(*) КАК Количество,
СУММА(ВЫБОР
КОГДА Номенклатура.ЭтоГруппа
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ) КАК КоличествоГрупп,
СУММА(ВЫБОР
КОГДА НЕ Номенклатура.ЭтоГруппа
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ) КАК КоличествоЭлементов
ИЗ
Справочник. Номенклатура КАК Номенклатура
См. также
Какое количество строк в документе 1с можно
Сколько позволит максимально?
При условии, что при проведении документа используется
Регистр.ххх.ПривязыватьСтроку.
Но от если надо от привязки к строке откажусь
Документ открывать и вручную не будут. Просто хранилище.
9999 вроде
(2) После 9999 нумерация не работает, а записать можно строк и больше
Для 1С 7.7 существует ограничение на количество строк в табличной части документа равное 9999. Максимальное количество строк (проводок) в операции равно 99999.
Важно заметить что для DBF версии 1С 7.7 превышение количества некритично. Строки будут хранится и обрабатываться платформой нормально, но все строки выше заданного ограничение получат номер 0. Для SQL версии это ограничение уже критично, в связи с более жестким контролем за структурой хранимых данных со стороны SQL-сервера.
Кстати, вы спокойно сможете работать с базой 1С DBF формата в которой есть документы с количеством строк в табличной части более 9999, но вот при попытке загрузить базу в SQL вы получите сообщение об ошибке, и не сможете выполнить загрузку пока не приведете количество строк в документах базы DBF к количеству менее 9999.
даже если хранилище — дели на части обозримые, 100-200 строк.
Хранилище которое делает движение?
(6) это, елы-палы, закорма родины!! там всегда движуха!! мы туда сыпем, а оттуда олигархи нашу прибаочную стоимость изымают
(0) Сколько угодно.
Но помню, что проведение больших документов тормозило тем больше, чем больше в них было строк. Экспериментальным путём было установлено, что критической точкой является примерно 3000 строк — сверх этого проведение тормозило настолько, что становилось нецелесообразным делать такие документы и проводить их, если их можно разделить на более мелкие. Поэтому я разбивала такие хранилища на части, по три тысячи строчек.
Ладно, упростим задачу: документ при проведении не будет двигать регистры и проводки. Ничего не будет делать.
Как сделать ограниченное количество строк в табличной части?
Как сделать ограничение количества строк в таблице, т.е. максимальное количество записей в таблице = 5. Пытался сделать так, но выдает ошибку:
&НаСервере Процедура СоставПередНачаломДобавления(Элемент, Отказ, Копирование) Если Состав.Количество() > 5 Тогда Отказ = Истина; КонецЕсли; КонецПроцедуры
Отслеживать
задан 14 окт 2023 в 7:40
25 6 6 бронзовых знаков
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Это можно сделать с помощью приложения: создать единый интерфейс работы с этой таблицей, в котором контролировать количество строк при добавлении. Все функции приложения, которые могут добавлять строки в эту таблицу, должны работать через этот интерфейс.
Другой вариант — сделать обработку события добавления записей в СУБД, которая используется 1С.
7.7 Количество строк в документе

Добрый день! Проблема состоит в следующем: имеется документ Прайс, табличная часть которого содержит всю номенклатуру из справочника. В итоге документ содержит порядка 12 тыс. строк. Так вот, первоначально в документе все красиво, строки нумеруются как надо. Но если его закрыть и открыть снова, то все номера строк > 9999 становятся равными 0. Соответственно, меняется порядок строк. Как можно изменить длину реквизита «НомерСтроки»? Там по умолчанию 4 знака.
P.S. Предвидя гневные высказывания по поводу того, что такие вещи делают в отчетах, а не в документах, хочу сразу сказать, что идея не моя.
| Здесь вы можете заказать любую студенческую или школьную работу. |
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как из object вытащить количество строк в документе Excel?
Народ, подскажите пожалуйста как из object вытащить кол-во строк в документе, через отладчик их.
Определить количество строк в документе Word где установлен курсор
Народ помогите определить количество строк в документе Word где установлен курсор. Причём отчёт.
Упорядочивание строк в документе
Процедура УпорядочитьСтроки() Если Вопрос("Упорядочить строки?","Да+Нет") = "Да" Тогда ТЗН =.
Удаление строк в документе Word
есть файл в котором более 2 миллионов строк(логи)(весит 361 мб). Нужно, чтобы удалялись строки.