Последние сообщения

#1
Я вот так время засекаю:
НачВремя = _GetPerformanceCounter();
	
итПац.ДобавитьИндекс("Элем", "*ТекущийЭлемент", 0);
	
Сообщить("Индекс * по " + ВыбКолвоСтрок + " строкам = "+(_GetPerformanceCounter()-НачВремя)/1000 + " с.");

Тогда точность до миллисекунды.
#2
пардон
все ок
#3
:)
быстрее
но теперь разность не але

итз1.загрузить(тз1); 
итз1.ДобавитьИндекс("Пациент","*"+"Пациент");       
сообщить(текущеевремя()+" "+итз1.Количествострок());
итз2.загрузить(тз2); 
итз2.ДобавитьИндекс("Пациент","*"+"Пациент");       
сообщить(текущеевремя()+" "+итз2.Количествострок()+"("+НомерПериода+")");
итз2.Разность(итз1,"Пациент","Пациент",0);
сообщить(текущеевремя()+" "+итз1.Количествострок()+"-"+итз2.Количествострок());

11:30:27 73633
11:30:27 247818
11:30:28 73633-247818
#4
:)
спс за *
#5
Если же не хочется уходить от сетевой версии, то для нее есть расширение Вирт:V7DBNet - отлично работает на небольших сетях. У меня несколько лет у 10 пользователей работало и никаких проблем не было. Скорость, конечно, поменьше, чем у терминала, но в разы выше, чем у стандартной сетевой. Раньше больше 3-х пользователей было платно, но сейчас это совершенно бесплатная разработка. Причем она убирает многие проблемы сетевой. Самое главное, что файлы базы не надо размещать в сетевом доступе. В общем, рекомендую!
#6
7.7 / Re: ЭтРН и 7.7
Последний ответ от sau - 24 октября 2026, 12:54
Что конкретно нужно? Отправить транспортную накладную в СБИС из 1С от грузоотправителя?
#7
Если же вопрос про разницу в скорости между файловым и терминальным режимом работы, то это вроде как общеизвестный факт. Сброс локального кэширования в файловой версии даёт сильное падение. SMB1 (во времена которой 7.7 писалась) под Win10 отключили (из-за всяких WannaCry), а современный SMB3 оптимизирован под передачу больших файлов, в то время как 7.7 делает кучу мелких сетевых запросов - и получаются ещё большие торомоза.
На файловой - только ларьки на 1-2 компьютера. Всё остальное - в терминале, при необходимости - ещё и в SQL.
#8
7.7 / Re: ЭтРН и 7.7
Последний ответ от Харлампий Дымба - 24 октября 2026, 01:23
Рабочая обработка для выгрузки 1 титула.
https://disk.yandex.ru/d/CSB3ggLkFw09bw
Можно использовать как шаблон - вся логика заполнения данных вынесена в процедуру ЗаполнимПеременныеЗависящиеОтДокумента().
Своё заполнение закомментировал, но оставил как пример.
Спарсил формат обмена в таблцу ЭлементыФайлаОбмена - удобнее отлаживать логику.
Полученные XML проверяю через Контур- удобно.
Можно вызывать как саму по себе, так и для выгрузки непосредственно из документа:
Процедура ПоКнопкеВыгрузитьЭТрн()
 СписокПараметров=СоздатьОбъект("СписокЗначений");
 СписокПараметров.Установить("Документ",Контекст);
 //так
 ОткрытьФорму("Отчет",СписокПараметров,КаталогИБ()+"ExtForms\ВыгрузкаЭТрН.ert");
 //или так
 ОткрытьФорму("Обработка.ВыгрузкаЭТрН#",СписокПараметров);
КонецПроцедуры


#9
Судя по всему вы используете индекс по справочникам без сортировки с указанием *, поэтому сортировка у вас не по внутренним идентификаторам, а по представлению. Если нет необходимости в сортировке по представлению, то лучше отказаться от использования "Контрагент", а писать "*Контрагент". Если же нужна сортировка, то желательно в таблицу еще при ее формировании добавлять поле для сортировки, чтобы при индексировании не приходилось постоянно лезть в базу за представлением.
Сами цифры абсолютно нормальные и говорят, что эффективность индексирования высокая и имеет линейную зависимость от количества строк. Если индекс строится по атомарным значениям (строки, числа, внутреннее представление объектов), то скорость должна быть примерно на порядок выше. Простой индекс на сотнях тысяч строк строится считанные секунды.

Немного поэкспериментировал и получились вот такие цифры:

Индекс * по 6000 строкам = 0.002 с.
Индекс без * по 6000 строкам = 0.528 с.
Индекс * по 50000 строкам = 0.024 с.
Индекс без * по 50000 строкам = 10.205 с.
Индекс * по 100000 строкам = 0.052 с.
Индекс без * по 100000 строкам = 24.49 с.
#10
Дружественные проекты / 1с++ Индексированная таблица с...
Последний ответ от Andrewalexk - 23 октября 2026, 12:42
:)
всем привет
наткнулся на странный имхо тайминг зависимости минут/строк таблицы
1. файловая версия 1с77 (win10)
6193
12:23:36+индекс
12:24:05=индекс
50561
12:26:02+индекс
12:30:09=индекс
102855
12:32:33+индекс
12:40:47=индекс
2. терминальная версия 1с77 (microsoft rdp)
6196
12:33:37+индекс
12:33:40=индекс
50562
12:34:55+индекс
12:35:25=индекс
331186
12:37:08+индекс
12:40:43=индекс
это нормально?