Зачем в 1С нужно периодически пересчитывать итоги по регистрам?

Публикация № 177171

Администрирование - Администрирование данных 1С

620
Мы часто слышим рекомендацию о том, что пересчет итогов нужно проводить регулярно и эта операция проводит к улучшению производительности, но что скрывается за этой процедурой и какие именно проблемы решаются?

Попробуем разобраться...

Что такое итоги по регистрам?

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

Какие итоги бывают?

По умолчанию для регистров существуют итоги по месяцам и актуальные итоги (только для регистров остатков).
Почему "по умолчанию"? Потому что администратор базы может управлять наличием итогов с помощью методов "УстановитьИспользованиеИтогов" и "УстановитьИспользованиеТекущихИтогов".

Что происходит, когда документ записывает движения по регистру?

Представим, что проводим документ "Реализация товаров и услуг" в типовой УТ 10.3 с 1 строкой в табличной части задним числом за 01.01.2013, а дата расчета итогов - 28.02.2013. Во время проведения происходит запись регистра накопления "Товары на складах".
При этом в СУБД:
1) добавляется новая запись в таблицу движений регистра накопления
2) в таблице итогов происходит обновление актуальных итогов - из остатка на 01.11.3999 отнимается списанное количество.
3) если дата документа меньше крайней даты расчета итогов, то происходит обновление итогов по месяцам (причем столько раз, насколько месяцев дата документа меньше даты расчета итогов) - т.е. будут обновлены итоги на 01.02.2013 и 01.03.2013.
Итого в результате записи документа произошла модификация 4-х строк только по этому регистру.

И где проблема?

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

Посмотрим на таблицу итогов этого регистра в СУБД - получим по периодам общее число записей и число записей, для которых все ресурсы равны 0:

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

Как исправить ситуацию?

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

Самый простой и очевидный - в конфигураторе запустить полный пересчет итогов. Минусы - если база большая, то этот процесс займет длительное время.

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

Для каждого Рег из Метаданные.РегистрыНакопления Цикл

    Если
Рег.ВидРегистра = Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки Тогда

       
РегистрыНакопления[Рег.Имя].ПересчитатьТекущиеИтоги();

    КонецЕсли;

КонецЦикла;

Для каждого
Рег из Метаданные.РегистрыБухгалтерии Цикл

   
РегистрыБухгалтерии[Рег.Имя].ПересчитатьТекущиеИтоги();

КонецЦикла;

Если ваша база работает уже не один год и ее объем достаточно большой, то этот код выполниться на порядок быстрее полного пересчета итогов. Поэтому можно даже сделать этот код регламентным заданием и выполнять каждую ночь или на выходных.
Выполним эту процедуру и посмотрим в СУБД на ту же таблицу:

Видно, что в актуальных итогах (первая строка) нулевых записей больше нет.

Похожим образом выполняется пересчет итогов по месяцам.
Необходимо использовать метод "УстановитьПериодРассчитанныхИтогов()" - пересчитать можно, например, только несколько последних месяцев и не нагружать систему лишним пересчетом прошлых лет. 

В совсем запущенных случаях пересчет итогов только средствами 1С занимает очень много времени.

Фактически платформе 1С сначала надо очистить огромный объем записей в таблицах итогов, а потом заново их наполнить обновленными данными меньшего размера.
При этом платформа удаляет итоги помесячно с помощью DELETE. Соответственно, это требует много ресурсов и времени.
Сильно ускорить процесс можно путем предварительной очистки итогов в СУБД с помощью TRUNCATE TABLE.

Как один из вариантов:

1) отключаем всех пользователей и делаем бэкап базы средствами MSSQL;

2) генерируем запросы на очистку всех таблиц итогов по регистрам накопления:

В контексте базы данных выполняем запрос:

SELECT 'TRUNCATE TABLE ' + name FROM sys.tables
WHERE name like '_AccumRgT%'

Результат вывода копируем, вставляем в окно запроса и выполняем в контексте базы данных.

3) Запускаем пересчет итогов через Тестирование и исправление в Конфигураторе.

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

 

Что еще следует помнить?

Пересчет итогов влияет на статистику - она становится не актуальной. Соответственно, после пересчета итогов вы можете получить не улучшение, а, наоборот, ухудшение производительности. Поэтому нужно не забывать запускать полное обновление статистики в СУБД и очистку процедурного кэша после проведения пересчета.

Пересчет итогов также приводит к практически 100% фрагментации индексов по таблицам итогов.
Для больших баз данных это может существенно сказываться на производительности.


Варианта решения этой проблемы два:

1) (долгий, но простой) - После пересчета итогов запускать реиндексацию таблиц из конфигуратора через "Тестирование и исправление".
Не запускайте одновременно пересчет итогов и реиндексацию, т.к. конфигуратор сначала перестроит индексы, а затем пересчитает итоги, т.е. таблицы итогов все равно будут фрагментированы. Необходимо выполнять эти операции раздельно.

2) (более быстрый, только для клиент-серверного варианта) - Воспользоваться одним из множества скриптов в интернете для перестроения только наиболее фрагментированных индексов.

 

UPD. Посмотрите также очень содержательный комментарий Алексея Лустина в этой теме (сообщение №58).

620

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

Комментарии
Избранное Подписка Сортировка: Древо
1. yuraos 955 11.03.13 06:22 Сейчас в теме
Прочитал заголовок,
подумал что очередной пересказ "желтых методичек"
но был приятно удивлен
глубоким знанием автором архитектуры базы данных 1С.
user811769; user777757; kolya_tlt; dj_serega; dzhenn; trdm; +6 Ответить
2. yuraos 955 11.03.13 06:31 Сейчас в теме
(1)
наверное стоит отметить в публикации,
что картинки с результатами запросов
сделаны в SQL Server Management Studio
для клиент-серверной базы данных.
--
Возможно кому-то будет интересно,
запросы к итогам из статьи можно также сделать
в обработке "Консоль запросов 1С + ADO"
так же в консоли можно выполнить код на языке 1С для пересчета итогов.
3. PowerBoy 2911 11.03.13 07:06 Сейчас в теме
Автор мог еще упомянуть про разделение итогов и их свертку при пересчете, что тоже положительно влияет на производительность.
Waanneek; marchenko.y; +2 Ответить
4. yuraos 955 11.03.13 08:07 Сейчас в теме
(3) PowerBoy,
можно также упомянуть про регламентное задание в типовых конфигурациях
выполняющих пересчет итогов.

В УПП-1.2 например крутится регламентное задание "ПересчетИтоговРегистровНакопления",
выполняющее следующий код:

Процедура ПересчетИтоговРегистров() Экспорт
		
	НаДату = НачалоМесяца(ТекущаяДата())-1;	
	ПересчетРегистров(РегистрыНакопления, НаДату, Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки);
	ПересчетРегистров(РегистрыБухгалтерии, НаДату);	

КонецПроцедуры

Процедура ПересчетРегистров(МенеджерРегистров, НаДату, ОграничениеПоВидуРегистра = Неопределено)
	
	Для Каждого МенеджерРегистра ИЗ МенеджерРегистров Цикл
		МетаданныеРегистра = Метаданные.НайтиПоТипу(ТипЗнч(МенеджерРегистра));
		
		Если ОграничениеПоВидуРегистра <> Неопределено И МетаданныеРегистра.ВидРегистра <> ОграничениеПоВидуРегистра Тогда
			Продолжить;
		КонецЕсли;
		ПересчитатьРегистрПоДате(МенеджерРегистра, НаДату);
		
	КонецЦикла;
	
КонецПроцедуры


Процедура ПересчитатьРегистрПоДате(МенеджерРегистра, НаДату)
	
	Если МенеджерРегистра.ПолучитьПериодРассчитанныхИтогов()<НаДату Тогда
		МенеджерРегистра.УстановитьПериодРассчитанныхИтогов(НаДату);
	Иначе
		МенеджерРегистра.ПересчитатьИтоги();
	КонецЕсли;
	
КонецПроцедуры

Показать
AndreySchel; user1194547; ksewa!; mgor; anderson; w-divin; Redokov; +7 Ответить
7. Aleksey.Bochkov 11.03.13 12:32 Сейчас в теме
(3), спасибо, забыл про этот момент. Дополню как будет время.
(6), регламентные задания в СУБД - изъезженная тема, подробной информации в сети много.
5. adhocprog 1168 11.03.13 12:11 Сейчас в теме
6. fomix 26 11.03.13 12:28 Сейчас в теме
Весьма полезная статья. Еще бы подробнее про полное обновление статистики в СУБД и очистку процедурного кэша после проведения пересчета.
15. Aleksey.Bochkov 11.03.13 18:37 Сейчас в теме
26. ksai 12.03.13 09:42 Сейчас в теме
27. fomix 26 12.03.13 09:54 Сейчас в теме
8. Yashazz 2840 11.03.13 12:54 Сейчас в теме
Да, про разделение итогов было бы хорошо.
И ещё, лучше всё-таки писать так: "Если рег.ВидРегистра=Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки Тогда...", а не через СокрЛП
marchenko.y; Bukaska; catena; Aleksey.Bochkov; +4 Ответить
14. Aleksey.Bochkov 11.03.13 18:34 Сейчас в теме
(8) Yashazz, а я последние годы периодически ломал голову - что же за переменная отвечает за тип регистра :).
Все время хотелось написать "Если рег.ВидРегистра=ВидРегистраНакопления.Остатки ..", а, оказывается, надо было через Метаданные.
Спасибо!
user811769; +1 Ответить
16. yuraos 955 11.03.13 18:43 Сейчас в теме
(14) Семен Семенович!
А как можно ищо?
17. Aleksey.Bochkov 11.03.13 18:46 Сейчас в теме
(16) Ну не зря же существует фраза "Век живи, век учись!" :)
user811769; marchenko.y; +2 Ответить
9. melenaspb 208 11.03.13 14:31 Сейчас в теме
Поэтому нужно не забывать запускать полное обновление статистики в СУБД и очистку процедурного кэша после проведения пересчета.

А про это можно подробнее?
10. antik69 11.03.13 14:52 Сейчас в теме
Спасибо за статью. К регламентной операции пересчета итогов добавилось понимание того как и на что этот пересчет влияет.
11. gr0ck 11.03.13 16:17 Сейчас в теме
Статья была бы лучше, если бы уж все разом изложили, и про разделение, и про пересчет итогов, полностью от А до Я. А так, т что отражено, отражено понятным языком, с картинками, за это спасибо!
user777757; +1 Ответить
12. ksai 11.03.13 16:54 Сейчас в теме
Поэтому нужно не забывать запускать полное обновление статистики в СУБД и очистку процедурного кэша после проведения пересчета.

А про это можно подробнее?


Присоединяюсь к вопросу
13. DenisCh 11.03.13 17:09 Сейчас в теме
Статья хорошая.
Хотя для себя ничего нового не вынес..
Присоединяюсь к замечанию о разделении итогов.

Плюс поставил.
user777757; +1 Ответить
18. metmetmet 73 11.03.13 23:10 Сейчас в теме
Спасибо автору, хорошая статья, добавила понимания работы итоговых таблиц на уровне СУБД.

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

РегистрНакопления.УстановитьИспользованиеТекущихИтогов(Ложь);
РегистрНакопления.УстановитьИспользованиеТекущихИтогов(Истина);

вместо
РегистрНакопления.ПересчитатьТекущиеИтоги();


?

И еще вопрос: есть количественные оценки в росте производительности в связи с избавлением от "нулевых" строк?
19. Gilev.Vyacheslav 1836 12.03.13 00:51 Сейчас в теме
поставил плюс за "нулевые записи" - проблема старая, но от этого актуальность она не потеряла
20. sanches 245 12.03.13 07:46 Сейчас в теме
Спасибо, а что-нибудь для 77 и 2000 SQL можете посоветовать? Наверняка там такая же ситуация.
marchenko.y; +1 Ответить
23. DenisCh 12.03.13 08:55 Сейчас в теме
(20) sanches, для 77 верны те же утверждения. Только там не так удобно регистры считать. Нужно или ТИИ в конфигураторе делать, или ТА двигать. Всё - в монопольном режиме.
Но я обходился и простым удалением нулевых записей через sql.

По поводу прироста - если такая операция давно не делалась, то прирост ощутим (количественно не скажу). Если её делать каждый месяц... То явного прироста не будет.
24. sanches 245 12.03.13 09:04 Сейчас в теме
(23) DenisCh, спасибо. ТИИ не подойдет, поскольку база большая , больше 30Гиг, работают каждый день. Думаю, средствами SQl придется решать проблему.
25. DenisCh 12.03.13 09:21 Сейчас в теме
(24) sanches, Ну, это не проблема :-)
Запрос по выявлению пишется по метаданным за 5 минут.
На удаление - ещё 3...
28. yuraos 955 12.03.13 18:23 Сейчас в теме
(20)(23)(24)
sanches,
вот здеся есть много вякой вкуснятины для 1С-77
правда требуется ВК 1cpp.dll
--
в том числе обработка "Установка ТА", которая:
позволяет переустанавливать ТА,
расчитывая итоги регистров прямыми запросами 1с++
Позволяет также:
- пересчитать итоги по указанным регистрам (остатков и оборотов);
- все действия можно проводить в разделенном режиме (устанавливается блокировка);
- каждый месяц открывать за вас новый период, не выгоняя срочно всех из базы;
Vortigaunt; lustin; Зеленоград; Bukaska; sanches; +5 Ответить
29. sanches 245 12.03.13 18:38 Сейчас в теме
30. CheBurator 3399 12.03.13 18:48 Сейчас в теме
33. yuraos 955 12.03.13 19:03 Сейчас в теме
(30) CheBurator, да не работает,
там запросы писать надо по другому и
желательно прирулить какие-нибудь примочки, чтобы
прямые запросы в dbf в монопольном режиме работали.
:)
...
но клиент просил

Спасибо, а что-нибудь для 77 и 2000 SQL можете посоветовать? Наверняка там такая же ситуация.
36. CheBurator 3399 12.03.13 19:16 Сейчас в теме
(33) прямые запросы в дбф в монопольном режиме чтобы работали - это уже вроде как давно есть такая возможность
39. yuraos 955 13.03.13 05:55 Сейчас в теме
(36)
а не кто и не говорит что эти примочки к 1С
для монопольного режима какая-то новость
(разве что субъективно :) ).
--
просто их надо будет прикручивать,
если захочется что бы прямые запросы в dbf
работали в монопольном режиме.
97. Bukaska 130 10.04.13 15:16 Сейчас в теме
(28) yuraos,
Спасибо за ссылки)))
(34) yuraos,
Чтобы таблицы итогов не опухли бы, для этого есть в бухучете инструмент: Закрытие месяца, закрытие года
А без этого было бы вообще жесть..

за статью ставлю однозначно "+", так как меня давно интересовал такой вопрос, для чего закрывать месяц, год, что будет... Теперь ясно что к чему)))
21. mcher 12.03.13 07:59 Сейчас в теме
Автору спасибо за статью. Всегда были вопросы по этой теме, теперь все более ли менее ясно.
22. kasper076 48 12.03.13 08:28 Сейчас в теме
Почему код 1С вставлен, как картинка? Есть же теги для оформления кода.
31. CheBurator 3399 12.03.13 18:50 Сейчас в теме
Коллеги, а поясните неграмотному.
Если при расчетах задним числом. модифицируются промежуточные и актуальные итоги. и вдруг получается в итогах ноль. Итог - это по сути куча. Куча - всегда итог правильный, например нулевой. Почему тупо скулем не удалить нулевые итоги...?????
32. Aleksey.Bochkov 12.03.13 19:00 Сейчас в теме
(31) CheBurator, можно и напрямую в СУБД удалить. Лично я бы так и делал, но для массового применения такую рекомендацию никогда не дам.
Waanneek; +1 Ответить
35. CheBurator 3399 12.03.13 19:16 Сейчас в теме
(32) хм.. а почему..? скуль же вроде сам все разложит/проиндексирует..?
37. Aleksey.Bochkov 12.03.13 19:22 Сейчас в теме
(35) с точки зрения техники все отлично - хоть руками удаляйте своими запросами, хоть методами встроенного языка - эффект будет один и тот же. Но для написания прямых запросов к базе, модифицирующих данные, нужны прямые руки и понимание смысла, а похвастаться этим могут не все :).
Waanneek; +1 Ответить
34. yuraos 955 12.03.13 19:07 Сейчас в теме
(31)
а платформа сама не удаляет эти нулевые записи?
иначе бы таблицы итогов пухли бы ...
ну может не так, когда по измерениям расходняк в движениях делается
но пухли бы точно.
38. Diversus 2010 12.03.13 22:14 Сейчас в теме
(0) Интересно, а нет ли у кого скрипта на SQL, чтобы удалил лишние нулевые значения?
Да и быстрее это дело было бы...
40. maldinitaly 13.03.13 10:47 Сейчас в теме
Спасибо, огромное автору за статью.Все четко и понятно.Плюс
41. maxpiter 142 13.03.13 10:55 Сейчас в теме
albochkov, т.е. вы хотите сказать, что можно просто удалить в регистре остатков все нулевые значения?
Правильно ли я понимаю, что в регистре остатков нулевых значений в принципе не должно быть, а 0 это ошибка в логике пересчета регистров?

p.s. Я сам про это думал и как-то даже на тестовой удалял (SQL запросом), но на рабочую перенести так и не решился, хотя никаких отклонений в работе системы выявлено не было.
46. Aleksey.Bochkov 13.03.13 12:32 Сейчас в теме
(41) - удалить нулевые записи нужно не в регистре остатков, а таблице итогов регистра остатков. Появление нулевых записей - это нормальная работа системы и не является ошибкой. Конечно, было бы хорошо, если бы платформа сама проверяла наличие нулей после окончания проведения документов и удаляла их, то это требовало бы дополнительных затрат ресурсов. Но это лишь предположение - разработчикам платформы видней почему так сделано.
49. maxpiter 142 13.03.13 12:48 Сейчас в теме
(46) именно это я и хотел выразить, видимо не совсем ясно донес мысль :)
Удалить нулевые записи в таблицах промежуточных итогов.
58. lustin 17.03.13 01:24 Сейчас в теме
(46) а разработчики платформы тут не причем, это довольно известное архитектурное решение, не удалять "нулевые" записи. Я бы даже сказал что это давняя "священная война".

Тут самое главное понять что запись с нулевым количеством в итоге, совершенно не означает что эта запись не нужна.

При проектировании реляционных СУБД считается (считалось) что операции CRUD (Create, Read, Update, Delete) по затратам ресурсов распределяются следующим образом

1. Легкие: Read, Update
2. Средние: Create
3. Тяжелая: Delete

И исходя из логики поведения объекта Регистр, который меняется часто; и из-за больших затрат на удаление записей, существует позиция что:

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

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

И вот тут я могу сказать что разработчики платформы слегка "недочлись" (от слова "недочет") - дело в том что согласно вышеописанному архитектурному решению явно становится понятно, что:

Удалять записи с нулевым итогом нужно по тем ключам (комплектам измерений), по которым длительное время не было операций UPDATE. А этого функционала в платформе нет - есть только глобальный пересчет. В крупных конторах это решается SQL Job'ом выполняющем примерно следующую работу:

1. найти 1 комплект ключей (измерений) по которому не было движений за последний месяц и которые на данный момент нулевые
2. по данному комплекту измерений удалить запись из таблицы итогов

обычно данный Job запускается раз в 10 секунд, выбирается TOP 1 чтобы уменьшить время блокировки на затратную операцию удаления. Естественно в такие базы уже встроены и планы обслуживания по пересчету статистики и перестроению дефрагментированных индексов. В случаях когда таких "ненужных" записей очень много - то обычно уменьшают период запуска Job, либо отказываются от Регистра Итогов - потому что если у вас много ключей уходит в "ноль" и больше не используется, скорее всего у вас по данным ключам 2 операции движения "пришел" и "ушел" - зачем хранить такую информацию в регистре итогов совершенно не ясно.

Ну и про статистику тут тоже все изъезжено - масcовые операции CREATE И DELETE, а также UPDATE ключевого столбца ведут к нарушению дерева поиска по индексу (диапазона распределений ключа по страницам данных) - ну то есть в поисковом диапазоне 1..10 вполне себе может оказаться ключ со значением 23 - так SQL было удобней, потому страница данных была рядом со страницей ключа 7, а ключ 6 заместо которого встал ключ 23 окажется в диапазоне 100..134 - что тоже было удобней исходя из страниц данных. Пример на пальцах - но думаю суть отражает.

Вообще про статистику в момент массовых операций удобно понять следующее: когда вы делается массовую вставку данных SQL пытается вам помочь и оперирует близостью страниц данных для оптимизации вставки и совершенно забывает про оптимизацию операций чтения, где параметром является статистика (диапазоны поиска ключа в таблице - распределение ключа), поэтому чтобы после массовых вставок операции чтения были тоже быстрыми - необходимо восстановить работоспособность инструмента оптимизации чтения выполнив UPDATE STATS.

---

Да и еще забыл сказать - массовое удаление ведет к массовому возникновению фантомных записей: запись числится удаленной но место занимает - такая ситуация ведет к снижению производительности операций выборок типа SCAN (просмотр).
A_Max; Kinestetik; Созинов; AndreySchel; Rans; vatkir; Rudak; Ганс; Anikrion; Albert_2008; Niberu; ser6702; MarchTomCat; olezhe; user598655_ilia-bers; klaus38; LordKim; lmnlmn; spenser123; Monte Carlo; acanta; zaharknyaz; Aggressorak; vesd; Ilya$n; Waanneek; SkyJack; letarch; aegoncharov; user777757; alexey.shesterikov@bk.ru; mytg; Gang031; ice-net; Goga1979; ChessCat; RegrZ; 1cprogr_nsk; Irwin; Paradise.87; KAV2; корум; Roman100; for_questions; ragimi; EugeneMIPT; kai nk; kitaevay; crosby; Noxie41; Alex_grem; nixel; new_user; tdml; NeviD; RimidalV; reboot; denis_aka_wolf; Flashill; marchenko.y; freya-khv; asg.aleks; denis13; adm134; TIS_08; mtv:); soulsteps; shalimski; Anesk; pisarevEV; Silenser; kwazi; engineer74; vadimlp77; Артано; dgolovanov; pchela751; aexeel; artbear; jif; Dmitryiv; Rego1337h; slavap; WizaXxX; IvanBoychuk123; fishca; Evil Beaver; Dach; RodinMax; sanches; mdmdvd; zakakvo; Krio2; jacksonp; adeich; afedor; MaximStav; DoctorRoza; Serg0FFan; sanfoto; kinazarov; Bukaska; theshadowco; oitnur; JesteR; detec; audion; laeg; morok1983; krv2k; Di-dog; sparklemal; awa; KAPACEB.AA; Chif13; sa1m0nn; CratosX; AllexSoft; galich; vlad.frost; igordynets; tormozit; vasiliy_b; vladir; meuses; Poopkeen; Andreynikus; Prad2002; dicwork; JohnyDeath; An-Aleksey; It-developer; rgrisha; Bronislav; 7o2uYXg; HolodZar; адуырщдв; AzagTot; Рамзес; DenisCh; PONOM; rеd80; w-divin; metmetmet; CheBurator; PressaLod; Diversus; sevushka; Aleksey.Bochkov; yuraos; +150 Ответить
79. rеd80 23.03.13 04:34 Сейчас в теме
(58) lustin, Даже не знаю что полезнее, статья или комментарий...
tka4enk0; user753293; klaus38; Fargoth; +4 Ответить
80. lustin 23.03.13 05:02 Сейчас в теме
(79) rеd80, я бы в комплексе рассматривал. Тем более что Алексей Бочков скорее всего тоже в курсе того что я написал. Как сказал Вячеслав - проблема известная, но на данный момент так спокойно и коротко на Инфостарте (да и в тырнете) не описана - Алексей собственно и сделал такую статью.

Меня же зацепило "разработчикам платформы виднее" ;-).
82. Aleksey.Bochkov 3235 23.03.13 11:41 Сейчас в теме
(80) - Алексей, поясню эту фразу :)
1) Все-таки, решение проблемы с нулевыми записями на уровне платформы не такое тривиальное, есть разные варианты и везде есть плюсы и минусы. Вряд ли можно угодить всем. А переложить ответственность за чистку итогов на конечного пользователя системы - в принципе, хороший вариант.
2) Стараюсь быть осторожен в формулировках относительно работы фирмы 1С. Уже несколько раз попадал на цензуру и замечания с их стороны. А в немилость впасть не хочется :).
87. CheBurator 3399 25.03.13 03:20 Сейчас в теме
В принципе, не для десятковогигабайтных баз можно тупо почистить нулевые строки для всех периодов (м.б. за исключением последнего предшествующего текущему) как описал Лустин в (58), если вдруг окажется что нужных итогов нет - ну понесет платформа платформа при проведении допзатраты на их создание - но понесет эти допзатраты для одной номенклатуры один раз. А затраты на регулярное чтение при оставлении отчетов и обращения к итогам при обильном наличии пустых записей могут быть больше/чаще..? (рассуждаю применительно к файловым клюшкам)
128. lustin 24.05.16 11:34 Сейчас в теме
Подниму тему в связи с актуальностью в части PostgreSQL
Итак - для PostgreSQL и статья и комментарий (58) также действуют в полном объеме.

Поэтому тем кто будет читать эту статью и комментарии напомню, что правильный подход к исправлению выглядит следующим образом (в не зависимости от сервера СУБД)

0. Если вы вдруг обнаружили что у вас много нулевых записях в таблице итогов
1. садитесь совместно группой - ключевой пользователь системы 1С, ведущий разработчик системы 1С, DBA системы (или тот кто считает себя таковым)
2. договариваетесь о том когда у бизнес-пользователя происходят фиксация бизнес-результатов по регистрам накопления - для УТ это обычно неделя, для БП - месяц и т.д. Это время называем "Время Ч"
3. ведущий разработчик реализует регламентную очистку "за день до сдачи финансовых результатов" - то есть "Время Ч минус 1 рабочий день" назовем это "время X"
3.1 крайне желательно фиксировать в журнал регистрации количество записей до очистки, и после очистки - то есть "было 1 миллион, стало 100 тысяч"
4. DBA запускает регламентные операции "по приведению в порядок базы после массового удаления" - запускает он это в технологическое окно после "Времени X"
4.1 крайне желательно фиксировать результаты приведения в порядок базы - по крайне мере в простых текстовые файлики.

через 6 регламентных запусков по очистке регистров - группа встречается и смотрит результаты по очистке.

5. регистры сокращающиеся при очистке на 80% и более - регистры на гарантированный рефакторинг:
5.1 потому как "регистры накопления" должны накапливать данные, они же не "регистры ежедневного обнуления" - скорее всего это регистры сведений
5.2 потому как такие регистры скорее всего означают незнания функционала типовых конфигураций - скорее всего функционал бизнес-пользователями связанных регистраторов таких регистров используются не по назначению


Еще раз напомню - что платформа 1С тут не причем: нулевые записи - в 90% случаев вопрос к бизнес-пользователям системы и прикладникам
A_Max; Kinestetik; Rans; CratosX; Krio2; LordKim; zaharknyaz; Waanneek; Aleksey.Bochkov; support; hulio; DimaP; +12 Ответить
42. rassylka-new@yandex.ru 13.03.13 11:11 Сейчас в теме
Все просто прекрасно с технической стороны, просто здорово и весело, НО какой эффект это дает в реальных боевых условиях (я сейчас не говорю про теоретические аспекты а-ля лишние ресурсы участвующие в блокировках)? Есть какие-нибудь статистические данные хоть у кого-нибудь?
44. maxpiter 142 13.03.13 11:50 Сейчас в теме
(42) у меня вышло, что для таблиц:
РезервыТМЦ, доля нулевых записей на таблицу составила 53%
ПланыПродаж, 23%
остальные регистры не более 5%
47. Aleksey.Bochkov 13.03.13 12:36 Сейчас в теме
(42) - конкретный пример, побудивший написать статью - база УТ 10.3, года 3 не пересчитывали итоги, база небольшая - около 40 Гб чистых данных. В результате в актуальных итогах только по регистру партий 300 тысяч записей, из них 290 тысяч - нулевые. Длительность проведения одной реализации - 2,9 с.
После пересчета итогов производительность упала - 5,1 с. на 1 реализацию.
После обновления статистики - 0,9 с. на 1 реализацию.
Примерно трехкратный прирост.
Но каждая ситуация индивидуальна.
A_Max; 1yh1; +2 Ответить
51. rassylka-new@yandex.ru 13.03.13 13:51 Сейчас в теме
(47) Впечатляющий прирост. Спасибо!
95. Mudrii_Gankster 10.04.13 14:14 Сейчас в теме
(47) А объем БД уменьшился? В моей БД происходит регламентная дефрагментация индексов, пересчета статистики, но пересчета итогов к сожалению делаю не так часто. Попробую сделать и проверить на результат проведения базы, давность данных 8 лет.

P.S. дописанная УТ 10.2
96. Aleksey.Bochkov 3235 10.04.13 14:25 Сейчас в теме
(95) - да, чистый объем информации в базе уменьшился процентов на 20%. Но это совсем уж запущенный случай :).
43. Kopman 18 13.03.13 11:32 Сейчас в теме
Спасибо за статью..
сделал генератор скрипта для проверки таблиц итогов, основываясь на запросах автора статьи.
http://infostart.ru/public/177538/
48. Diversus 2010 13.03.13 12:36 Сейчас в теме
(0) (45)

Можно проверить, что будет если удалить все нулевые записи в регистрах в 8-ке:

сделать две тестовые базы, копии рабочей
- в одной удалить все нулевые записи SQL-скриптом
- в другой сделать пересчет регистров штатными средствами платформы

Потом запросом сравнивать по два регистра из этих двух баз что получается и где есть различия.
Если различий нет, то можно смело использовать в повседневной жизни, если есть станет ясно что делать дальше и какие записи не удалять...
50. skyp 35 13.03.13 13:51 Сейчас в теме
Большое спасибо за статью!
Очень информативно, кратко и действенно. Очень качественное дополнение к ЖКК.
53. Kopman 18 14.03.13 07:24 Сейчас в теме
Заметил в базе следующую ситуацию, таблицы итогов по нескольким регистрам содержат 1-2 нулевых записей начиная с 2201-02-01 00:00:00.000 и смещение 2000(т.е щас 4013-03..) получаются даты совершенно нереальные.
Простыми расчетами выходит, что там периодов итогов 1812*12=21744 штук. Умножив это на число нулевых записей в каждом периоде можно сильно удивиться:-)
54. l-Rain 14.03.13 10:50 Сейчас в теме
55. YPermitin 4996 15.03.13 14:16 Сейчас в теме
56. Ibrogim 1108 15.03.13 14:32 Сейчас в теме
+
из остатка на 01.11.3999 отнимается списанное количество.
Найдут потомки таблицы 1С и будут думать, что мы предсказали конец света 1 ноября 3999 года
CratosX; slavikss; корум; Artem-B; Fatov_DI; bulpi; Keu2; bandru; nv_suvorova90@mail.ru; the1; DenisCh; recon; +12 Ответить
57. TrinitronOTV 16.03.13 08:39 Сейчас в теме
Спасибо за статью. Много нового почерпнул для себя
59. pulpik 106 19.03.13 13:59 Сейчас в теме
Всем добрый день. Благодарю автора за статью. Прояснила нашу ситуацию.
БД - SQL 11 Gb
Это бухгалтерия за один год.
Выявились проблемы при формировании отчета Обороты счета за год по 20 счету по 3 субконто + подразделения.
за 1 кв отчет Формируется в течении 20 секунд
за 2 квартала 8 минут
за три и четыре квартала отчет не формируется...

после пересчета итогов за четыре квартала формируется в течении 2 минут.
Это ответ на вопросы по реальному приросту после пересчета итогов.

В ЗиУП тоже самое... при чем за месяц формировался отчет по разному от 15 минут до 45 минут... сейчас в пределах 15 секунд.

Так что я думаю что там еще есть кое что с дефрагментацией БД.
Спасибо.
61. headMade 140 19.03.13 20:21 Сейчас в теме
(59) pulpik,
а в ЗУПе за счет чего такой выйгрыш?
Насколько я понял это больше актуально для регистров расчета накопления (поправьте если ошибаюсь), а в ЗУПе они не так (наверное) интенсивно используются. Или всеравно это дало такой прирост?


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

Спасибо.
62. Aleksey.Bochkov 3235 19.03.13 22:09 Сейчас в теме
(61) - файловый вариант - это тоже работа с СУБД, с теми же табличками и алгоритмами. Просто СУБД встроена в 1С. Соответственно, пересчет итогов для файлового варианта также актуален.
63. pulpik 106 20.03.13 00:24 Сейчас в теме
в ЗиУП работаем уже пять лет, итоги не пересчитывал, никогда не было проблем, но последние пол года диагностировалась проблема с отчетами по регистрам расчетов. Не знаю с чем связано - у них я понимаю нет нулевых ресурсов в виртуальных таблицах, но после пересчета время отчетов сократилось с 15-40 и более до 2-4 минут. (все применимо к клиент серверной архитектуре.)
64. LexSeIch 202 20.03.13 05:25 Сейчас в теме
Мир этому дому!
Хорошая добротная статья. Спасибо автору за детальное освещение вопроса.
65. kurvik 20.03.13 10:17 Сейчас в теме
Спасибо за статью. Добавилось понимание того как и на что пересчет итогов влияет.
66. Yackov 96 20.03.13 11:12 Сейчас в теме
Спрошу на всякий случай:) Если я делаю реиндексацию через конфигуратор, нужно ли запускать ее на sql (или это одно и тоже)?
68. CheBurator 3399 20.03.13 21:40 Сейчас в теме
(66) хм.. наскольо мне помнится в скульном варианте базы нет доступа к реиндексации...
70. Aleksey.Bochkov 3235 20.03.13 22:19 Сейчас в теме
(66) реиндексация в 1С и СУБД - это разные процессы и результат может отличатся, хотя цель одна.
Реиндексация через Конфигуратор - это физическое удаление всех индексов и новое их создание. Соответственно, устраняются все возможные проблемы (а платформа с индексами до сих пор иногда косячит).
Реиндексация в СУБД - это перестроение уже существующих индексов, но СУБД понятия не имеет что такое 1С и какие индексы должны быть в каких табличках. И, если они у вас неправильные по структуре (например, кто-нибудь залез ручками поправил), то они такими и останутся.
67. mulla1979 8 20.03.13 11:45 Сейчас в теме
Автору респект! Хорошая статья!
69. CheBurator 3399 20.03.13 21:42 Сейчас в теме
такс, надо у себя в торговой базе прогнать будет..
Evil Beaver; +1 Ответить
71. DitriX 1713 21.03.13 02:04 Сейчас в теме
(0) а можно такой вопрос:
недели 3 назад - пытался перерасчитать итоги, после того как внес дополнительно в базу около 100 000 документов.
База тогда весила около 170Гб. Бэкап базы весил около 2.7Гб.
В итоге - перерасчитать итоги у меня не удалось, ибо на это ушло более суток и клиенты начали кричать, пришлось жестко кикнуть 1С. Я боялся худшего. Что случилось в итоге - размер быза вырос до 270Гб, однако бэкап - теперь весит 1.7 Гига. Я уже думал что капут. Но - отчеты строится начали быстрее, данные показывали верные, в любых итогах строил и т.д.

Теперь я на тестовом сервере поднимаю бэкап и база весит всего лишь 60Гб. Но все работает отлично и даже лучше.
Например отчет по регистру по всей номенклатуре (около 120 000) по партиям на складах (около 10 000 000 записей) строится всеголишь 10 - 15 секунд (я не считаю тут расчет ширины колонок, с нима намного дольше, но это отдельная история), за весь период, со всеми выбранными ресурсами.

Отсюда вопрос - нужны ли вообще эти итоги? Так как в нашем случае - они реально замедляли работу, ибо работаем мы с партиями, т.е. для нас не критично строить отчеты по месяцам, нам важно именно партия.

Если не нужны, то как их можно отключить? Ну так что бы навсегда :)
72. echo77 1093 21.03.13 08:51 Сейчас в теме
Интересный вопрос: при выгрузке базы(средствами 1С в .dt) итоги выгружаются? Или они заново расчитываются при загрузке?
73. Aleksey.Bochkov 3235 21.03.13 09:37 Сейчас в теме
(72) - в 8.2 итоги не выгружаются, т.к. это бессмысленно и их при загрузке всегда можно заново посчитать. Выгружается их статус - включены\отключены и дата расчета (таблица AccumRgOpt* с одной строкой).
В 8.1 вроде еще выгружались, но точно не уверен.
74. Martinian 10 21.03.13 09:53 Сейчас в теме
Прошу прощения за вопрос: для файловых баз 1С:8 тема актуальна?
75. headMade 140 21.03.13 17:22 Сейчас в теме
(74) Martinian,
см. в (62) - уже отвечали.


"файловый вариант - это тоже работа с СУБД, с теми же табличками и алгоритмами. Просто СУБД встроена в 1С. Соответственно, пересчет итогов для файлового варианта также актуален."
76. Степанова Н. 22.03.13 17:11 Сейчас в теме
Я думаю мне это пригодится. Обязательно возьму на заметку
77. Геннадьевич 12 22.03.13 18:27 Сейчас в теме
Спасибо за информацию, буду тестировать.
Не увидел, как это повлияет на файловый вариант базы?
118. pisarevEV 24.08.15 07:27 Сейчас в теме
можно вопрос: если регулярно делается полное перепроведение всех документов (77) в базе, вопрос нулевых итогов теряет актуальность?
119. Aleksey.Bochkov 3235 24.08.15 22:18 Сейчас в теме
(118) pisarevEV,
Наоборот. Чем интенсивнее проводятся документы - тем быстрее появляются "нулевые" строки, и тем чаще требуется производить пересчет итогов.
120. pisarevEV 25.08.15 12:49 Сейчас в теме
(119) Aleksey.Bochkov, а если перед перед проведением удалить файлы RG*, то после перепроведения мы получим итоги без нулевых записей?
78. rеd80 23.03.13 03:20 Сейчас в теме
По умолчанию для регистров существуют итоги по месяцам и актуальные итоги (только для регистров остатков).

У регистров бухгалтерии тоже есть актуальные итоги.
81. Aleksey.Bochkov 3235 23.03.13 11:32 Сейчас в теме
(78) - регистры бухгалтерии - это тоже регистры остатков.
83. yuraos 955 23.03.13 13:48 Сейчас в теме
(81) Aleksey.Bochkov,
еще какие регистры!
и еще каких остатков!!!
самые гемморойные наверное объекты в платформе.
:)
Особенно если какой-нибудь умник замутит субконто с примитивными типами
84. Miha.L 24.03.13 01:54 Сейчас в теме
Автору спасибо, полезная статья.
85. Martinian 10 24.03.13 17:30 Сейчас в теме
Поэтому нужно не забывать запускать полное обновление статистики в СУБД и очистку процедурного кэша после проведения пересчета.

Правильно ли я понимаю, что в случае файлового режима работы этого делать не нужно, и пересчет итогов сразу должен дать положительный результат?
86. lustin 25.03.13 03:05 Сейчас в теме
(85) Martinian, нет MSSQL - нет обновления статистики.

хотя правды ради надо отметить - что и на Postgres есть обновление статистики ;-) http://www.postgresql.org/docs/9.2/static/maintenance.html

Так что нет сервера SQL - негде обновлять статистику
88. pbabincev 25.03.13 19:42 Сейчас в теме
Добрый вечер.

Алексей, огромное спасибо за статью, очень познавательно и кратко.

У меня появились пара вопросов "в тему" (в статье ответа не увидел):

1. В случае, если к примеру у меня рассчитаны итоги на конец января 31.01.2013, а я делаю запрос к остаткам на конец февраля 28.02.2013, а сегодня - 25.03.2013, и существует много движений за весь этот период, то каким образом система предоставит мне запрашиваемые данные: будет рассчитывать "на лету"?

2. Тот же пример что и в п.1. Но в данном случае я провожу "задним числом" приход от 10.01.2013, то как поведет себя система в этом случае: она будет пересчитает уже рассчитанный итог на конец января и актульный итог, верно? А если бы у меня были рассчитаны итоги еще и на конец февраля, то система бы пересчитывала еще и их? Если это так, то делаю вывод: рассчитанные итоги "мешают" при больших объемах изменений "задним числом" (например, при первом закрытии квартала после запуска системы с начала года, когда всё еще корректируются начальные остатки). То есть не всегда расчет итогов приведет к повышению производительности. Правильный ли вывод я сделал?

Спасибо.
89. rеd80 26.03.13 13:19 Сейчас в теме
(88) p_tj, 1. Да, будет рассчитывать "на лету". Возьмет из таблицы остатков данные на начало периода, прибавит обороты оттуда же и отсчитает из таблицы движений строчки с конца. Такой хитрый алгоритм.
2. Если меняем данные в прошлом, например 25.05.12, система меняет обороты в мае 2012 и остатки во всех последующих итогах. Поэтому не рекомендуется рассчитывать итоги на будущее, в идеале - на последний прошедший месяц.
for_questions; pbabincev; +2 Ответить
90. pbabincev 26.03.13 20:39 Сейчас в теме
91. CheBurator 3399 27.03.13 23:03 Сейчас в теме
Наваяна обработочка для 7.7 файловый режим
результат на моей маленькой базе
Итог по размерам: http://screencast.com/t/rHtIDzJlkD
92. CheBurator 3399 27.03.13 23:25 Сейчас в теме
обработка здесь: http://infostart.ru/public/180018/
(может быть недоступна, т.к. не прошла еще модерацию)
93. CheBurator 3399 28.03.13 03:07 Сейчас в теме
на файловых клюшках, объем исходной базы дбф+cl[ менее 5Гб
.
Перепровел тестовую и контрольные базы, пордяка 3200 доков, все задним числом, какого-то мега ощутимого прироста не наблюдал - процентов5-8, что можно списать на погрешности... Правда львиная доля тяжелых доков, по которым существенно упаковались таблицы итогов - у меня при заднем числе не перепроводятся, поэтом м.б. и не показательно у меня.. тем более что база достаточно маленькая - чуть более 4 гига всего, ожидаемый эффект м.б. на ней и не проявится...?
94. Ленкина 04.04.13 11:12 Сейчас в теме
Спасибо. Полезная статья.
Оставьте свое сообщение

См. также

Как настроить сервер 1С по умолчанию для ПРОФ лицензии после 10.09.2019 90

Статья Системный администратор Нет файла v8 Бесплатно (free) Администрирование данных 1С

Здесь мы собираем все данные по настройкам сервера для работы ПРОФ лицензии.

11.09.2019    18540    infostart    90       

Использование Zabbix для сбора информации о серверных вызовах и управляемых блокировках с сервера 1С Предприятия, работающего на платформе GNU/Linux 72

Статья Системный администратор Программист Нет файла v8 Linux Бесплатно (free) Администрирование данных 1С Zabbix

Описанные в данном опусе механизмы ни в коей мере не противопоставляются тому, что реализует КИП от 1С или какие-либо другие инструменты (решения)! Это всего лишь еще один взгляд на "проблему", который может быть полезен в некоторых ситуациях.

10.09.2019    6767    Sloth    11       

Уверенное обновление 74

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Администрирование данных 1С

Уверенное обновление. Анализ файла ОтчетОСравнении.txt. Bash

18.07.2019    4792    vasilev2015    35       

Почему Вы не обслуживаете итоги? 76

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Администрирование данных 1С

Небольшая заметка по обслуживанию итогов. Все ли Вы делаете правильно?

04.07.2019    5507    YPermitin    16       

За 5 шагов добавляем мониторинг счетчиков производительности серверов MS SQL и 1С 90

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Статистика базы данных Производительность и оптимизация (HighLoad)

Мы расскажем и покажем, как добавить данные счетчиков производительности серверов 1С и MS SQL в нашу базу мониторинга за 15 минут. Приведем список наиболее важных из них, опишем основные особенности.

28.05.2019    6940    ivanov660    5       

Опыт обновления до 8.3.14 - лицензии и утилита ring 76

Статья Системный администратор Нет файла v8 Windows Бесплатно (free) Администрирование данных 1С

На выходных было скучно, поэтому решили обновить 1с до 8.3.14.1694. С лицензиями пришлось немного повозиться.

29.04.2019    18828    Sander80    30       

Практика перехода на Linux и Postgres в небольшой компании (10 пользователей) 98

Статья Системный администратор Программист Нет файла v8 1cv8.cf Ubuntu Бесплатно (free) Администрирование данных 1С

Почему я решил поставить давнему клиенту Linux + Postgres вместо Windows + MS SQL? Что меня останавливало раньше?

22.04.2019    19146    starik-2005    158       

Скорость работы 1С: Предприятие с разными СУБД: MS SQL и с PostgreSQL 70

Статья Системный администратор Нет файла v8 Бесплатно (free) Администрирование данных 1С

Рассмотрим несколько вариантов работы 1С: Предприятие с различными СУБД.

20.02.2019    15821    valentinko    168       

Debian 9.7 + PostgreSQL для 1С. Как завести с пол-оборота 71

Статья Системный администратор Нет файла v8 Бесплатно (free) Администрирование данных 1С

Предлагаю взять на заметку информацию по установке и настройке в формате typical, typical, done.

02.02.2019    9989    valentinko    13       

1С и Яндекс.Облако Compute Cloud. Вдоль и поперек 82

Статья no Нет файла v8 Бесплатно (free) Администрирование данных 1С

Бороться и искать. Найти и перепрятать. Достаточно популярная поговорка во времена Союза. Вот и сейчас, те у кого сервер 1С в локальной сети мечтают вынести его в облако, а те у кого в облаке прикупить свой в локальную сеть. Тестирование Яндекс.Облако Compute Cloud для 1С Предприятие оставило у меня приятное впечатление. Возможно кто-то повторит его и внесет больше ясности в настройки виртуальных серверов, использованию API и так далее. Пока же пользуйтесь чем я послал. Интересующихся прошу под кат…

20.01.2019    9966    capitan    29       

Малоизвестная хитрость определения модуля и номера строки при возникновении исключения (без запуска отладки и конфигуратора). Несколько очень удобных, но малоиспользуемых возможностей работы в конфигураторе 301

Статья Программист Нет файла v8 Россия Бесплатно (free) Тестирование и исправление

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

17.01.2019    16062    PoZiTiFFF    52       

Копирование числовых ячеек из 1С в Excel 26

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel Администрирование данных 1С

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

15.01.2019    10278    itriot11    21       

Восстановление базы 1С, ошибка источника потока 89

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Тестирование и исправление

Очередной кирпичик в основу решения проблемы восстановления работоспособности базы после динамического обновления.

09.01.2019    10522    idle    23       

Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана 162

Статья Системный администратор Нет файла v8 Бесплатно (free) Администрирование данных 1С

Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом. Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С). На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков). Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres. А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL). Если, конечно, статья придется вам по вкусу.

25.12.2018    19669    2    capitan    146       

Чем PostgreSQL может быть полезен разработчику 1С 170

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Администрирование данных 1С

В статье будут рассмотрены примеры, которые могут оказаться полезными в повседневной работе разработчика 1С и не только: как можно сделать снимок рабочей базы без файла резервной копии, как можно эффективно использовать табличные пространства СУБД PostgreSQL, а также как организовать простой и удобный доступ к админке СУБД посредством мобильных устройств.

20.12.2018    15322    Shmell    38       

Заметки про лицензии 1С 106

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Администрирование данных 1С

Решил собрать шпаргалку по лицензиями 1С о разных нюансах, с которыми успел столкнуться.

15.12.2018    12394    MrWonder    22       

Когда 1С падает в дамп 98

Статья Системный администратор Нет файла v8 Windows Бесплатно (free) Администрирование данных 1С

Мой опыт устранения проблемы, при которой вылетала платформа 1С.

11.10.2018    25195    987ww765    33       

Кластер серверов 1С 181

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Администрирование данных 1С

Какой уровень отказоустойчивости при проектировании серверов 1С выбрать? В чем отличия центрального и рабочего сервера? Как правильно настроить требования назначения функциональности? На что влияют настройки кластера и сервера 1С и как в них не запутаться? Антон Дорошкевич дает на эти и многие другие вопросы подробные ответы.

24.09.2018    23258    a.doroshkevich    60       

[Шпаргалка] Несколько версий сервера 1С на одном сервере (компьютер) 108

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Администрирование данных 1С

Публикация-шпаргалка. Если у вас возникала необходимость в размещение нескольких серверов 1С разных версий на одном сервере (компьютере).

14.05.2018    15196    rpgshnik    26       

Несколько версий сервера 1С на одном компьютере 208

Статья Системный администратор Нет файла v8 Бесплатно (free) Администрирование данных 1С

Как установить несколько экземляров сервера 1С на один компьютер. Как установить несколько служб агента 1С на один сервер? Как запустить сервера разных платформ на одном компьютере.

18.04.2018    43673    spezc    79       

Запуск Apache 2.4 с модулем 1С внутри Docker контейнера 87

Статья Системный администратор Программист Нет файла v8 Linux Бесплатно (free) Администрирование данных 1С WEB docker Apache

Про Apache и про Linux слышали, наверное, все. А вот про Docker пока нет, но он сильно набирает популярность последнее время и не зря. Поделюсь своим опытом и дам пошаговую инструкцию настройки веб-сервера Apache с модулем 1С внутри Docker контейнера на Linux хосте. При этом сам сервер 1С может находиться совсем на другой машине и на другой операционной системе. Это не важно, главное чтобы Apache смог достучаться до сервера 1С по TCP. В статье дам подробное пояснение по каждой используемой команде со ссылками на документацию по Docker, чтобы не создавалось ощущение непонятной магии. Также прилагаю git репозиторий с описанием всей конфигурации, можете попробовать развернуть у себя буквально за 10 минут.

04.04.2018    17709    petr.myazin    35       

Сервер администрирования кластера серверов 1C:Предприятия и deployka 118

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Сервисные утилиты Администрирование данных 1С

В данной статье познакомимся с сервером администрирования кластера серверов 1С:Предприятия, а конкретно с утилитами rac.exe и ras.exe, а также программой deployka, с помощью которых становится возможным администрирование кластера серверов 1С:Предприятие из командной строки.

04.04.2018    34791    Tavalik    33       

О лицензиях 1С 207

Статья Системный администратор Нет файла v8 Россия Windows Бесплатно (free) Администрирование данных 1С

Разбираем вопросы по получению и переполучению лицензии 1С.

30.03.2018    83938    D_e_X_T_e_R    141       

1C÷Linux÷PostgreSQL÷Apache 87

Статья Системный администратор Нет файла v8 Linux Бесплатно (free) Администрирование данных 1С Apache

Дружим 1С с Линуксом ИЛИ Установка окружения для работы с 1С на Линуксе под Постгресом и Апачем.

26.03.2018    27856    SerVer1C    43       

Автоматическая очистка кэша конфигурации 1С 8.1, 8.2, 8.3 для сеанса текущего пользователя 66

Статья Системный администратор Программист Нет файла v8 Украина Windows Бесплатно (free) Администрирование данных 1С

Автоматическая очистка кэша конфигурации 1С для сеанса текущего пользователя (при динамическом обновлении или ручном интерактивном запуске)

14.11.2017    13305    golovkodv    18       

Ускоренный полный пересчет итогов регистров 18

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf MS SQL Абонемент ($m) Сервисные утилиты

Обработка для быстрого полного пересчета итогов по выбранным регистрам, ускорение достигается за счет предварительной очистки таблиц итогов средствами MS-SQL.

1 стартмани

23.10.2017    16693    118    Bazil    15       

Настройка веб сервера Apache + 1С (Пошаговое руководство) 242

Статья Системный администратор Нет файла v8 1cv8.cf Windows Бесплатно (free) Администрирование данных 1С Apache

Пошаговое руководство настройки Web сервера Apache на Windows. Не секрет, что файловые базы через веб-сервер будут работать намного шустрее, чем через обычный доступ к сетевому каталогу. Эффект особенно заметен, когда старые компы вообще не справляются с обычным сетевым доступом, регулярно выплевывают 1С. А доступ через веб сервер даже на компьютерах серии "Хлам" работает на ура!

19.07.2017    163513    Aleksey81    132       

Когда перестает работать отладчик 105

Статья Системный администратор Программист Нет файла v8 Россия Windows Бесплатно (free) Тестирование и исправление

Полагаю, некоторые коллеги уже оказывались в ситуации, когда отладка внезапно пропадала, и различные "шаманские" методики (переустановка платформы, чистка локального кэша и прочее) результата не давали. Опишу свой опыт по выявлению и устранению причины.

13.06.2017    21162    mickey.1cx    20       

1C Fresh - решение для тех, у кого много баз и слабые серверы 79

Статья Системный администратор Программист Нет файла v8 Россия Бесплатно (free) Администрирование данных 1С

Или сказ о том, как Иван-Дурак в оптимизаторы заделался (текст изложен в слегка сказочной форме). Небольшой личный опыт установки и запуска 1С Fresh. Ответы на вопросы, которые мне не смогли дать первые 3 франча.

02.06.2017    17532    Drasha    64       

Сравнение двух объектов одной конфигурации, без танцев с бубнами - в пару кликов 161

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Администрирование данных 1С

Короткая иллюстрированная инструкция об использовании малоизвестной и малопонятной функциональности в стандартном инструменте сравнения/объединения конфигураций.

23.05.2017    16148    Chrizt    34       

Ошибка формата потока. Решение с описанием проблемы 103

Статья Системный администратор Нет файла v8 1cv8.cf Россия Бесплатно (free) Тестирование и исправление

Ошибка формата потока. Страшная, но симпатишная своей загадочностью. 1С ничего толком не объясняет и не подсказывает. Ниже решение, которое мне помогает решать данную проблему на 100%. Всё очень просто. Данная ошибка возникает (на моей практике) только у клиент серверного варианта. просто потому что с другим форматом не работаю. Рекомендация: Старайтесь избегать динамического обновления, особенно если у вас возможны кратковременные проблемы с 220 и LAN. Далее описание лечения:

25.04.2017    20584    juker    1       

Автоматизированная проверка конфигураций… и пара слов о стандартах разработки 265

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Тестирование и исправление

Предлагаю познакомиться с инструментом "Автоматизированная проверка конфигураций" и получить практику его применения

18.01.2017    43218    3    Vladimir Litvinenko    19       

BDD 1С по душе 78

Статья Программист Нет файла v8 Россия Бесплатно (free) Тестирование и исправление

Размышляя над проблемой тестирования, а точнее над проблемой качества решений, умные и не очень люди, в основном ломают копья над следующим противоречием “надо тестировать, но надо разрабатывать, а не тестировать” (Алексей Лустин) www.silverbulleters.org

15.01.2017    20618    dima_tuzov    44       

Дружба крепкая начинается... или мой опыт MS SQL Server на Linux для работы с 1С:Предприятие 8 73

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Администрирование данных 1С

На днях появилась новость о том, что MS SQL Server представлен для платформы LINUX. Приятная новость. Проверил связку Сервер 1С:Предприятие 8 на Windows + MS SQL Server на Linux и вот что вышло...

20.11.2016    24251    bpc222    47       

Загрузка логов журнала регистрации 1С из MS SQL в ElasticSearch 71

Статья no Архив с данными v8 Бесплатно (free) Журнал регистрации

Еще один инструмент хранения и визуализации логов журнала регистрации 1С

01.09.2016    27173    farukshin    9       

Формат баз 1CD - классические и 8.3.8 122

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Практика программирования Администрирование данных 1С

Некоторые дополнения к описанию формата 1CD от awa и описание нововведений в 8.3.8

14.07.2016    26741    Pasha1st    20       

Технология публикации Fresh. С чем "едят" 91

Статья Системный администратор Программист Нет файла v8 КА1 БП2.0 ЗУП2.5 УНФ Россия Windows Бесплатно (free) Администрирование данных 1С

Я работаю в бухгалтерской компании, мы ведём бухгалтерию примерно для 1000 клиентов. У нас почти 1,5 тысячи баз 1С. Хочу поделиться тем, как мы используем Fresh и строим своё облако с его помощью. Часть первая — обзорная.

17.03.2016    22347    faustrue    68       

Установка 1С Сервер 8.3.7 (i386 и x64) и PostgreSQL 9.4.x x64 на Ubuntu Server 14.04 x64 136

Статья Системный администратор Нет файла v8 Linux Бесплатно (free) Администрирование данных 1С

Рассматривается вариант установки 32-битного и 64-битного 1С Сервера 8.3.7 (на примере версии 8.3.7.1970), а также 64-битного PostgreSQL 9.4.x на 64-битный Ubuntu Server 14.04. Опционально приводятся варианты настройки Timezone и синхронизации времени, установки Apache 2.2, настройки файрвола UFW, установки OpenJDK 1.8 и включения режима отладки 1С Сервера на 64-битном Ubuntu Server 14.04.

17.03.2016    95075    vikdes    67       

Практические советы по настройке и работе с сервером 1С: 8 104

Статья Системный администратор Программист Нет файла v8 Россия Windows Бесплатно (free) Администрирование данных 1С

1. Как запустить более одной службы 1С для параллельной работы с разными версиями платформы 1С: 8.0, 8.1, 8,2 8.3 и т. д. 2. Как перезапустить сервер? 3. Как перенести БД с платформы на платформу, без потери журнала регистрации?

1 стартмани

09.03.2016    19748    Zlohobbit    9       

Сборка PostgreSQL 9.4.2 из исходников с патчами от 1С 83

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad) Администрирование данных 1С

Честно - не нашел нигде описания того, как пропатчить KDE для FreeBSD, поэтому решил ликвидировать данную несправедливость. Ниже по тексту я расскажу не только про то, как собрать Postgres, но и как использовать флаги оптимизации для вашего процессора, чтобы все работало максимально быстро. Ну и немного остановлюсь на конфигурировании и администрировании.

23.02.2016    27585    starik-2005    28       

Для чего НЕ нужны индексы 191

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Статистика базы данных Практика программирования

Индекс лишним не бывает? Чем больше индексов, тем лучше? А не проиндексировать ли это измерение на всякий случай? Если подобные вопросы иногда возникают в вашей голове, то эту статью прочитать было бы весьма полезно.

16.01.2016    40414    comol    93       

Все, что надо знать о технологической платформе 1С:Предприятие: компоненты, архитектуры, операционные системы, лицензии 198

Статья Системный администратор Нет файла v8 Бесплатно (free) Администрирование данных 1С

Все о платформе и лицензировании для начинающих и не только. (благодаря Сообществу учтены новейшие изменения лицензионной политики 1С!)

19.12.2015    61672    barelpro    50       

V82.COMConnector, V83.COMConnector класс не зарегистрирован 75

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Администрирование данных 1С

Недавно перенес несколько баз на платформу 8.3, и столкнулся со следующей проблемой: при замене в нескольких обработках объекта V82.COMConnector на V83.COMConnector при запуске стал получать сообщение "v83.comconnector класс не зарегистрирован". Решение выкладываю, т.к. не нашел похожей статьи на данном сайте, возможно, невнимательно искал.

23.09.2015    91891    solutioncp24    44       

Автоматическое определение цепочки обновлений релизов 1С 70

Статья Системный администратор Программист Нет файла v8 Россия Бесплатно (free) Администрирование данных 1С

Сервис создан для быстрой оценки трудоёмкости обновления и для определения необходимых релизов. Будет полезен для меня, а может быть, и для вас )

31.07.2015    35842    Ibrogim    80       

Отчет по размерам таблиц в базе данных как одно из средств анализа проблем 53

Статья Системный администратор Нет файла v8 1cv8.cf Windows Бесплатно (free) Статистика базы данных

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

21.07.2015    26499    Aleksey.Bochkov    15       

Тормоза на файловой базе - как избежать (из недавнего опыта) 109

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Производительность и оптимизация (HighLoad) Администрирование данных 1С

1С запускается по две минуты? Журнал документов открывается по 40 секунд? Документ проводится почти минуту? Знакомая ситуация, если вы используете файловую версию с сетевым доступом. Самый распространенный совет - ставить сервер, и забыть про тормоза. Но как быть, если в 1С у вас всего работает 2-3 человека, и тратить деньги на покупку серверных лицензий - явно невыгодно? В данной статье рассмотрены несколько практических шагов, которые были предприняты у клиента для ускорения работы файловой базы. Платформа 1С 8.3, управляемые формы, тонкий клиент, база - Управление Торговлей 11.

12.07.2015    77373    axelerleo    40