26
Гилёв Вячеслав возникающих в 1C:Предприятие 8 ПОИСК РЕШЕНИЙ ВОПРОСОВ

Исправляем косяки 1С

Embed Size (px)

DESCRIPTION

Три истории с примерами решения ошибок 1С

Citation preview

Page 1: Исправляем косяки 1С

Гилёв Вячеслав

возникающих в 1C:Предприятие 8

ПОИСК РЕШЕНИЙ ВОПРОСОВ

Page 2: Исправляем косяки 1С

Из личного опыта

3 ИСТОРИИ

Page 3: Исправляем косяки 1С

Гилёв Вячеслав

ИСТОРИЯ ПЕРВАЯ

про то как вырубили свет, как всегда нет бэкапа, зато есть техн.-й журнал

Page 4: Исправляем косяки 1С

История №1

СУТЬ ВОПРОСА: выключился

«свет», потерялись данные, стало медленно работать!

КТО (ГДЕ): компания ООО

«Информационные технологии»,

г. Геленжик партнер-фрачайзи фирмы 1С

Page 5: Исправляем косяки 1С

Не одна проблема, а совокупность

Несколько проблем сложились вместе:

файловая база УПП на 15 пользователейне выполнялись регламентные процедуры отсутствовал механизм резервирования данныхнеуникальные записи в уникальном индексенарушена ссылочная целостность данных«разрушенные» индексы замедляли работу

Page 6: Исправляем косяки 1С

Гилёв Вячеслав

РЕШЕНИЕ:использовать клиент-серверный режимнастроить по расписанию

резервное копированиетестирование и исправление средствами конфигуратора

выполнить «реструкторизацию» базы (ТиИ) вручнуюзапросом выбрать неуникальные записи, исправить проблемную записьс помощью технологического журнала логировать проблемные запросы в момент работы ТиИ

Page 7: Исправляем косяки 1С

КАК НАЙТИ НЕУНИКАЛЬНЫЕ ЗАПИСИ

Запрос типа: ВЫБРАТЬ Справочник.Ссылка

ИЗ Справочник.Справочник КАК СправочникСГРУППИРОВАТЬ ПО Справочник.СсылкаИМЕЮЩИЕ КОЛИЧЕСТВО(*) > 1

СМЫСЛ: ВЫБИРАЕМ НЕОБХОДИМЫЕ ПОЛЯ ТАБЛИЦЫ (Справочник.Ссылка) ПО ПОЛЮ (ЯМ), ОПРЕДЕЛЯЮЩИМ УНИКАЛЬНЫЙ ИНДЕКС, КОТОРЫЕ НЕУНИКАЛЬНЫ

Page 8: Исправляем косяки 1С

Исследовать проблемы по логу ТЖ

ЧАСТЬ ПРОБЛЕМ при ТиИ выглядела примерно так:Ошибка SDBL: Попытка быстрой вставки значения недопустимого типа (pos = 578)Ошибка SDBL: Поле ID имеет тип REF SELF или RowVersion (pos=49).Ошибка SDBL: Поле Splitter таблицы AccumReg Totals 127 не может принимать значение NULL (pos=58) Ошибка SDBL: Поле Fld1485 таблицы Document159 не может принимать значение NULL (pos=63)

РЕШЕНИЕ В ЛОГЕ ТЕХНОЛОГИЧЕСКОГО ЖУРНАЛАСмотрим на «суть» таблицы или индекса (только в субд), сопоставляем с метаданными 1СПытаемся восстановить данные с помощью ТиИ (опция создавать ссылки, создавать объекты)Пытаемся вручную внести отстутсвующие значения (реквизиты, измерения и т.д.)Переносим данные из копии (если есть).

Page 9: Исправляем косяки 1С

ПРОБЛЕМА УСТРАНЕНА!

РЕЗУЛЬТАТ

1) Спасибо Рарусу!2) Появилась

мотивация делать бэкапы

3) Научили решать подобные проблемы

Page 10: Исправляем косяки 1С

Гилёв Вячеслав

ИСТОРИЯ ВТОРАЯ

«народная» ошибка 10054,

не верь пользователю, дампы, падают сервераи снова техн.-й журнал

Page 11: Исправляем косяки 1С

Это история носит массовый характер. И чаще всего проблема в «кажущейся сложности» узнать ПРИЧИНУ(Ы) этого явления.

Page 12: Исправляем косяки 1С

Дампы вызывают 10054 ошибку

Смотрите на наличие дампов

По умолчанию примерно так C:\Documents and Settings\<Имя пользователя>\Local Settings\Application Data\1C\1Cv81\dumps, можно переопределить в logcfg.xml

MS SQL Server 1С:Предприятие 8

По умолчанию вместе с логами MS SQL Server

Page 13: Исправляем косяки 1С

Настройка дампов

MS SQL Server 1С:Предприятие 8

Page 14: Исправляем косяки 1С

Не надо воспринимать слова пользователей на веру!Расследуйте проблему по логам технологического журнала (он врать не умеет)

Логи технологического журнала

Настройка фильтров технологического журнала

Page 15: Исправляем косяки 1С

Так выглядит лог ТЖ

Page 16: Исправляем косяки 1С

СОВЕТЫ ПО РАЗБОРУ ЛОГА

ЧТО ИСКАТЬ В ЛОГЕ

Поиск падений Смотреть непустое содержимое свойство DumpFile события EXCP Также потребуется событие EXCPCNTX, свойства Func, tableName,  уровень =2 и 3, SrcName=SDBL

Поиск события сброса пользователя администраторомИскать событие ADMIN, ищем свойство Func =killClient

Анализ потенциального рестарта сервераСначало ищем событие EXCP со свойством process=ragent и Exception=NetDataExchangeException затем ищем событие PROC,  process=rmngr, уровня 3, свойство Txt ='Process terminated

 

Page 17: Исправляем косяки 1С

Гилёв Вячеслав

ИСТОРИЯ ТРЕТЬЯ

сломался веб-доступ в Рарусе,

«блуждающий каратыш», Process monitor как секретное оружие

Page 18: Исправляем косяки 1С

Гилёв Вячеслав

Эта история произошла в Рарусе…Первое ощущение от этого текста – «А что делать то?».

Page 19: Исправляем косяки 1С

Гилёв Вячеслав

Используем секретное оружие – утилиты Sysinternals (regmon, filemon или procmon)

Инструмент: Process Monitor http://download.sysinternals.com/Files/ProcessMonitor.zip

наложить фильтр на исследуемые процессыизучение собранных логов

Page 20: Исправляем косяки 1С

Действия, решившие проблему

Отследили сервис w3wp.exe (IIS) в момент попытки соединится с хранилищемНа отсеживаем ключипроцесса

HKLM\SYSTEM\Services\Winsock\Parameters HKLM\SYSTEM\Services\TCPIP\ParametersHKLM\SYSTEM\Services\NetBIOS\ParametersHKLM\SYSTEM\Services\Gpc\Parameters

этом случаи потребовалось дать права IUSR_SRVNAME на чтение.

Page 21: Исправляем косяки 1С

Действия, решившие проблему

Проверили права доступа к файламВыяснили, что после обращения к файлу "repository.1ccr" сервис w3wp.exe от имени IUSR_SRVNAME пытается обратиться к DLL "DRWEBSP.DLL" - "Dr.Web Winsock Provider Hook" (Это от DrWeb - a)  ACCESS DENIED . Дали права на чтение и выполнение IUSR_SRVNAME. При следующей попытке соединиться к хранилищем получаем обращение к DLL "wshtcpip.dll" - "Windows Sockets Helper DLL"  ACCESS DENIED.Добавили права на чтение и выполнение IUSR_SRVNAME.

Page 22: Исправляем косяки 1С

СОВЕТЫ ГИЛЁВА ВЯЧЕСЛАВА

СОВЕТ №1Без паники!

Внимательно читайте текст ошибки.

Page 23: Исправляем косяки 1С

СОВЕТЫ ГИЛЁВА ВЯЧЕСЛАВА

СОВЕТ №2Как устранить ошибку?Наймите грамотного спеца.Если спец не может решить проблему, то наймите другого.

Page 24: Исправляем косяки 1С

СОВЕТЫ ГИЛЁВА ВЯЧЕСЛАВА

СОВЕТ №3

Как устранить ошибку быстро?Четко сформулируйте суть проблемы в 3-7 слов.Если формулирование проблемы занимает несколько листов, смысл «ускальзывает», то формулируйте заново.

Page 25: Исправляем косяки 1С

СОВЕТЫ ГИЛЁВА ВЯЧЕСЛАВА

СОВЕТ №4

Как устранить ошибку, если денег на спеца нет?Начните с совета №2. Смотрите уже известные решения в интернете.

Page 26: Исправляем косяки 1С

КОНТАКТЫ

[email protected]@gmail.com www.gilev.ru