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

#11
Дружественные проекты / Re: ИТЗ, не соображу какое сое...
Последний ответ от Злоп - 19 августа 2026, 01:16
Смотрел, но нагло протупил, не обратив внимания (почему?!) на "с учетом флДобавлятьСтрокиТЗ2".
Спасибо за пинок!
#12
Дружественные проекты / Re: ИТЗ, не соображу какое сое...
Последний ответ от xav - 19 августа 2026, 00:27
Приветствую
В справке для конфигуратора не все методы описаны. Посмотрите здесь, метод "Разность", там довольно понятно.
#13
Дружественные проекты / ИТЗ, не соображу какое соедине...
Последний ответ от Злоп - 18 августа 2026, 23:08
Есть две ИТЗ с номенклатурой:
ИТЗБаза и ИТЗПрайс.
И там и там есть колонка "Артикул" (ключ соединения).

Вопрос1: Не могу сообразить/подобрать какой метод ИТЗ применить и что слева, а что справа, чтобы получить подмножество ИТЗБаза, в котором останутся только те позиции, которых нет в ИТЗПрайс..? ни одно из описанных в доке соединений не подходит (по моему разумению)... Можно ли одним соединением или надо в несколько приемов/соединений делать?

Спасибо.
#14
7.7 / Re: Алгоритм формирования CDX
Последний ответ от Ветер в поле - 18 августа 2026, 11:01
Сорри, что немного не по теме...
Ускорение индексирования актуально для больших баз. Но я в упор не вижу смысла в файловых базах при размере больше нескольких ГБ. Нет возможности бэкапа в течении дня, производительность существенно ниже, чем у SQL, нет многих возможностей, которые есть у того. У ДБФ только пара преимуществ - более быстрый доступ к единичным объектам (доступ через точку) и более быстрая запись. А еще у ДБФ отвратительная безопасность - всякие шифровальщики прекрасно шифруют файлы базы (проверено, к сожалению).
Да, необходимо часть функционала переписывать, чтобы перейти на SQL. У меня на это пара месяцев ушло. Необходимо было получить ускорение для доступа к множеству справочников. Я написал класс ЗапросКСправочнику, который радикально увеличил скорость и удобство работы со справочниками. Причем ускорение было даже для ДБФ, пусть и не столь радикальное. В этом решении я как и в Прямом Запросе использовал 1С++ для SQL и SQLite для ДБФ. Но из-за процедурного способа управления запросом, а не разбора текста запроса, я радикально снизил затраты на подготовку. В итоге даже тупое использование по типу создал объект, наложил условия, выполнил запрос, обработал результат поднял скорость до 1500 запросов в секунду. А ведь оптимизация (создать один раз объект и использовать параметрический запрос) позволяет в 3 раза поднять скорость.

Вот пример использования параметрического запроса:
НачВремя = _GetPerformanceCounter();
	
	НачДатаРождения = '15.12.1978';
	
	оСпр = СоздатьОбъект("ЗапросКСправочнику");
	оСпр.Инит("Пациенты");
	оСпр.ДобавитьРеквизиты("ТекущийЭлемент,Код");
	
	Для К = 0 По ВыбКолвоЭлем - 1 Цикл
		оСпр.ДобавитьУсловие("ДатаРождения", НачДатаРождения + К, "=", , 1);
		тзЭлем = оСпр.ВыполнитьЗапрос();	
		
		тзЭлем.ВыбратьСтроки();
		Пока тзЭлем.ПолучитьСтроку() = 1 Цикл
			
		КонецЦикла;
	КонецЦикла;
	
	КонВремя = _GetPerformanceCounter();
	
	Предупреждение("Отработано за " + (КонВремя - НачВремя) / 1000 + " с.");
	
КонецПроцедуры
#15
7.7 / Re: Алгоритм формирования CDX
Последний ответ от alyuev - 12 августа 2026, 18:00
Кое-что вот тут обсуждалось:
https://www.1cpp.ru/forum/YaBB.pl?num=1241013307/0#0 - " Кодировка и Порядок сортировки в 1С ДБФ"
https://www.1cpp.ru/forum/YaBB.pl?num=1240102224/all - "Индексы при вставке записей"

Из тещих результатов:

ЧАСТЬ 7. Измеренные показатели
[th] Показатель [/th]
[th] Значение [/th]


 Таблиц  344 
 Объём DBF  31,14 ГБ 
 Объём CDX  ~4 ГБ 
 Записей  218 460 937 
 Ключей  ~405 800 000 
 Скорость сборки  1,46 с на миллион ключей на ядро 
 Штатная переиндексация 1С  ~1800 с 
 Наша, 8 потоков  151 с 
 Ускорение  12x 


Узкое место — чтение диска: 211 МБ/с при восьми потоках против 364 МБ/с в
один поток. Самая долгая таблица
SC8135
(22 тега, 45,9 млн ключей) занимает
102 с и задаёт нижнюю границу, пока распараллеливание идёт по таблицам.


Но самое главное - пока это больше эвристика, нежели четкий алгоритм. Т.е. ИИ вывел алгоритм эмпирически по существующим данным + кое-что с форумов + файлы заголовков, как писал выше. Тестирую. Индексы создаются, в 1С заходит, не ругается; справочники, журналы - открываются без вопросов. Отборы работают. Но еще нужны тесты...
#16
7.7 / Алгоритм формирования CDX
Последний ответ от alyuev - 10 августа 2026, 14:15
Всем привет. Всё в отпусках? Никто ничего не пишет.... :-)

Такой вопрос - есть ли где-то расписанный алгоритм, как 1С формирует индексы при переиндексации?
Есть возможность ускорить процесс в 10 раз за счет распараллеливания процесса. Вместо 30минут будет делать 3.
Но при анализе разбор всё время натыкался на разные нюансы.

Сначала ИИ пытался проанализировать некоторые базы и CDX, которые я ему давал. Он что-то распарсил, сделал сверщик. Но потом я подумал и дал ему определения функций, которые есть в 1С-ных родных DLL и там он нашел в двух файлах dbeng32.h и bkend.h (из 1CHEADERS) полезное - нашел там таблицы кодировок, подключился к библиотекам, выгрузил их все, определил, что есть файл 1CV7.ORD - там 2 таблицы символов для правил сортировки. У нас в конфигураторе стоит кодировка базы как CUSTOM - но как оказалось, сверщик всё равно после переиндексции находил расхождения с оригинальными CDX при использовании этих таблиц. И всё равно пришлось ему допиливать алгоритм построения индекса, чтобы не было расхождений. И это завязка только на текущую базу. На другой - надо будет опять искать алгоритм сортировки.

Вот и хотелось бы узнать, может кто уже ковырял в этом направлении?
#17
Дружественные проекты / Re: Реанимация сборки 1С++
Последний ответ от cr - 20 июля 2026, 15:59
Цитата: trdm от 17 июля 2026, 09:17НАДО БЫ КУДА-НИТЬ ЗАКИНУТЬ ИНТЕЛЛОВСКИЙ КОМПЙЛЕР, рядом положить.
а то его непонятно как качать
Нужен репозитарий для всего наследства 7.7. На гитхабе и гитлабе.
#18
Дружественные проекты / Re: Реанимация сборки 1С++
Последний ответ от alyuev - 17 июля 2026, 13:56
Можно с rutracker качать. Например, - https://rutracker.org/forum/viewtopic.php?t=3021912 - ISO образ
#19
Дружественные проекты / Re: Реанимация сборки 1С++
Последний ответ от trdm - 17 июля 2026, 09:17
НАДО БЫ КУДА-НИТЬ ЗАКИНУТЬ ИНТЕЛЛОВСКИЙ КОМПЙЛЕР, рядом положить.
а то его непонятно как качать
#20
Дружественные проекты / Re: Реанимация сборки 1С++
Последний ответ от alyuev - 16 июля 2026, 14:51
Спасибо