Тарасенков Александр

340
Рейтинг

tarasenkov
Александр Тарасенков



  •   Регистрация: 08.11.2007 (16 лет назад)

  •   Был(а) на сайте: 30.08.2022

Друзья
  • Николай
  • Леся
Подписчики 6

Группы

Профессиональный разработчик

Рейтинг 340

Боремся с Dirty read / Read uncommitted / NOLOCK при формировании отчетов в 1С:8.1, 8.2 под MSSQL

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

Заставляем 1С в запросах читать данные только из завершенных транзакций (Read Committed), не блокируя при этом работу остальных (Read Committed Snapshot ON). *Для конфигураций на поддержке может не подойти, т.к. придется вносить изменения в модули.

20.10.2012    31539    tarasenkov    27       

35

Сравнение производительности 1с под DBF-ADS-CodeBase-SQL.

Статья Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Россия Windows Бесплатно (free) Нет файла Корректировка данных

Представлено сравнение выполнения таких задач в 1с, как заполнение, проведение и отмена проведения документа в режиме сервера терминалов через Virtual PC на одном ПК.

11.02.2008    13750    tarasenkov    6       

7

Исправление пола сотрудников по отчеству

Инструменты и обработки Бухгалтер Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Украина Россия Бесплатно (free) Внешняя обработка (ert,epf) Кадровый учет

Подходит для любой конфигурации с русскими или украинскими ФИО. Рекомендуется запускать перед составлением отчетов с различием по полу.

20.12.2007    16021    252    tarasenkov    5       

6

глПрогресс(). Индикатор прогресса с оценкой времени в виде: Обработано: 15%. Осталось: 00:01:15.

Инструменты и обработки Программист Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Бесплатно (free) Внешняя обработка (ert,epf) Работа с интерфейсом

Текст "Обработано: 3%. Осталось: 00:15:10" гораздо содержательнее текста "Обработано: 100 из 3467". Такая информация позволит вашим пользователям спланировать и потратить время, пока выполняется обработка более эффективно. Особенно когда обработка длится несколько минут и более.

17.11.2007    16936    1085    tarasenkov    17       

31

При помощи этой обработки справочники можно выгружать в скрипт на языке 1Сv77

Инструменты и обработки Программист Платформа 1С v7.7 Конфигурации 1cv7 Windows Бесплатно (free) Внешняя обработка (ert,epf) Инструментарий разработчика

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

12.11.2007    14709    563    tarasenkov    6       

6

Склонение украинских ФИО, должностей и подразделений в семи падежах. DLL с поддержкой OLE.

Инструменты и обработки Программист Украина Бесплатно (free) Компонента, плагин (dll, vbs,..) Инструментарий разработчика

Склонение осуществляется из именительного во все остальные падежи. Пол сотрудника определяется по отчеству (если не указан явно). Библиотека может использоваться из 1С 7.7, 8.x, C, Pascal, Visual Basic, MS Office, MS SQL, Oracle и др. Update: Полная версия с исходниками на Turbo Delphi.

08.11.2007    53259    1219    tarasenkov    53       

34

Комментарии

DevПопулярные алгоритмы сортировки массивов#32 20.06.14 12:46
В коде процедуры быстрой сортировки забыли важную часть:
Код
       Если i <= j Тогда               
            Замена       = Массив[i];
            Массив[i]    = Массив[j];
            Массив[j]    = Замена;
            i            = i + 1;
            j            = j - 1;            
        КонецЕсли;

(Обработку скачал, там этот код есть)
DevНажатие кнопки в обработке программно#3 10.06.14 13:12
Код
// Программное нажатие на кнопку (обычную или на командной панели) на *чужой* форме с вызовом связанного события
// через переопределение действия формы ПриПовторномОткрытии
// увы, без передачи элемента кнопки в качестве параметра
// для режима запуска "обычное приложение"
Процедура ИнтерактивноНажатьКнопку(Кнопка, ФормаКнопки) Экспорт
   // Удостоверимся что есть права на нажатие
   // Кнопка
   стрОшибка = "";
   Попытка
      Если Кнопка.Видимость = Ложь Тогда
         стрОшибка = стрОшибка + ", Невидима";
      КонецЕсли;   
   Исключение
   КонецПопытки;   
   Попытка
      Если Кнопка.Доступность = Ложь Тогда
         стрОшибка = стрОшибка + ", Недоступна";
      КонецЕсли;   
   Исключение
   КонецПопытки;   
   Если стрОшибка <> "" Тогда
      стрОшибка = Сред(стрОшибка, 3)+" кнопка, которую требуется нажать";
      ВызватьИсключение(стрОшибка);
   КонецЕсли;   
   
   Если ТипЗнч(Кнопка) = Тип("КнопкаКоманднойПанели") Тогда
      Действие = Кнопка.Действие;
   ИначеЕсли ТипЗнч(Кнопка) = Тип("Кнопка") Тогда   
      Действие = Кнопка.ПолучитьДействие("Нажатие");
   КонецЕсли;   
   буфДействие = ФормаКнопки.ПолучитьДействие("ПриПовторномОткрытии");
   ФормаКнопки.УстановитьДействие("ПриПовторномОткрытии", Действие);
   Попытка
      // собственно вызов нажатия кнопки
      ФормаКнопки.Открыть();
      ФормаКнопки.УстановитьДействие("ПриПовторномОткрытии", буфДействие);
   Исключение   
      ФормаКнопки.УстановитьДействие("ПриПовторномОткрытии", буфДействие);
      ВызватьИсключение;
   КонецПопытки;   
КонецПроцедуры


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

Код
ИнтерактивноНажатьКнопку(ФормаКнопки.ЭлементыФормы.КнопкаОК, ФормаКнопки);

ИнтерактивноНажатьКнопку(ФормаКнопки.ЭлементыФормы.КоманднаяПанель1.Кнопки.ОК, ФормаКнопки);
DevСклонение украинских ФИО, должностей и подразделений в семи падежах. DLL с поддержкой OLE.#44 20.08.13 11:17
(42) Spacer, можете внести в словарь исключений - файл "Padeg_ua.dic"
HighLoadБоремся с Dirty read / Read uncommitted / NOLOCK при формировании отчетов в 1С:8.1, 8.2 под MSSQL#16 16.08.13 14:23
(14) V0fka, Пример из опыта - делается заказ поставщику на основании отчета, который показывает остатки по регистру Товары. В момент формирования отчета перепровели некий документ прихода (по этому же поставщику) содержащий значительное количество товара. В отчете это количество не отразилось (считались несогласованные данные именно в тот момент когда движения документа уже были удалены, а новые движения еще не были записаны). Это могло привести/привело/ к заказу значительного количества лишнего/возможно скоропортящегося/ товара.
HighLoadБоремся с Dirty read / Read uncommitted / NOLOCK при формировании отчетов в 1С:8.1, 8.2 под MSSQL#11 27.10.12 12:52
(10) kilokilo,
По поводу Postgre задумывался, полагаю тормоза имеются по сравнению с MSSQL из-за:
1) До версии 1с 8.3 в Postgre не используются кластерные индексы.
2) MSSQL даже для полей без индексов ведет некую статистику и по сути доступ к ним получается индексирован, в Postgre такого нет.

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

Дисковую подсистему можно собрать в RAID, tempDB вывести в RAM диск, пересчитать/реорганизовать индексы для снижения тормозов.
HighLoadБоремся с Dirty read / Read uncommitted / NOLOCK при формировании отчетов в 1С:8.1, 8.2 под MSSQL#7 25.10.12 12:56
(6) marat_n,
В данной схеме не меняются правила проведения - если у документов/регистров стоял автоматический режим управления блокировками - он таким и остается, мы его не меняем. Это значит, что при проведении документов блокировки ставятся в исключительном режиме как и раньше.

Если же у вас имеются документы/регистры в управляемом режиме блокировок, то для них уже должны быть прописаны в коде "Исключительные" блокировки или прописано ключевое слово "Для изменения". Т.е. они также как и до перевода SQL в версионный режим будут ставить исключительные блокировки и логика их поведения не изменится.
HighLoadБоремся с Dirty read / Read uncommitted / NOLOCK при формировании отчетов в 1С:8.1, 8.2 под MSSQL#2 19.10.12 22:33
(1) kapustinag, Версия MSSQL с которой действует данный метод SQL Server 2005. Должно также работать в SQL Server 2008 и SQL Server 2008R2. Проверял на 2005 SP3.

>> Придется переводить конфигурацию в "Автоматический и управляемый режим"?
Да
HighLoadБоремся с Dirty read / Read uncommitted / NOLOCK при формировании отчетов в 1С:8.1, 8.2 под MSSQL#0 19.10.12 13:37
Заставляем 1С в запросах читать данные только из завершенных транзакций (Read Committed), не блокируя при этом работу остальных (Read Committed Snapshot ON).
*Для конфигураций на поддержке может не подойти, т.к. придется вносить изменения в модули.
DevРасшифровка представления битой ссылки. Как перевернуть ГУИД. UUID to GUID и обратно...#23 01.07.12 0:24
В Функции СоответствиеИдентификаторовТипов() следует добавить:

МассивКоллекцийМенеджеровСсылочныхОбъектов.Добавить(ПланыВидовРасчета);
DevСклонение украинских ФИО, должностей и подразделений в семи падежах. DLL с поддержкой OLE.#39 10.08.10 20:39
> А есть ли библиотека с функциями склонения украинских фамилий, имен... без КОМ-сервера как это сделано в русской версии?

Это она и есть =) работает и без КОМ-сервера, смотрите пример вызова из Дельфи