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

09.01.19

Задачи пользователя - Корректировка данных

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

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

Бэкграунд ситуации: УПП (1.3.113.4), платформа 8.3.13.1644, распределенная база (центральная и 2 периферийные базы). В какой-то момент после динамического обновления и попытки входа в режиме Предприятия в центральной базе появилась ошибка на скриншоте, периферийные базы обновление не получили. Бэкапов еще делать не начинали, базу внедрили в начале года и впопыхах об этом важном моменте как-то забыли. И хорошо что случилось это в новогодние праздники, иначе пользователи меня бы растерзали...

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

Переписывание содержимого таблицы Config в ConfigSave платформа даже не почувствовала, видимо до анализа таблицы ConfigSave даже не доходило, появлялась все та же ошибка потока.

От отчаяния был даже переписано содержимое таблицы Config взятой из периферийной базы, но опять ошибка потока. Вспомнил что кто-то советовал переписать и содержимое таблиц Params и DBSchema, изменения возымели действие и при запуске уже появлялись ошибки отсутствия каких-то полей, которые я пытался восстанавливать по методике //infostart.ru/public/391766/. Максимум что мне удалось это запуск конфигуратора, но запуск в режиме Предприятия все равно заканчивался ошибкой модуля и ругательством про то, что нет возможности записать пользователя в таблицу. Накатывание конфигурации самой периферийной базы так же было в пустую, никаких изменений сравнение конфигураций не выявляло, что довольно объяснимо...

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

Пришлось искать какие-то другие варианты, была попытка даже анализировать алгоритм создания записей в таблице Config путем создания в пустой базе какое нибудь объекта. Но никакой полезной информации или каких либо закономерностей так и не получилось получить, в прочем знакомыми показались записи увиденные в таблице Params (рис.2)

в памяти всплыла методика борьбы с нарушением целостности структуры конфигурации описанная в статье //infostart.ru/public/76626/ единственное что смущало, что в далеком 2010 году такие записи создавались в таблице Config, в то время как сейчас я вижу их в таблице Params, тем не менее вариант было решено адаптировать под сегодняшние реалии и применить, за основу был взят скрипт пользователя denp2002 представленный в комментариях к статье по ссылке выше.

Собственно решение...

Применяем нижеприведенный скрипт:

use [НазваниеВашейБазы]

BEGIN TRANSACTION
delete from [dbo].[Params] where FileName in (
select c.filename from Config as c
inner join (
select * from (

SELECT max( modified ) over (partition by substring(FileName,0,37)) as mdt
,SUM(1) over (partition by substring(FileName,0,37)) as sm, substring(FileName,0,37) fs
, substring(FileName,48,37) sc
, *
FROM [dbo].[Params]
WHERE FileName Like '%_dynupdate_%')as a
where a.sm != 1 ) as b 
on b.mdt != c.modified and b.FileName = c.FileName)

delete from [dbo].[Params] where FileName in (
select filename from (
select MAX(Modified) over(partition by substring(a.filename, 0, 37) ) as mdt
, * 
from [dbo].[Params] as a
where LEN(a.FileName) = 36
or a.FileName like '%_dynupdate_%'
) as b 
where b.mdt != b.Modified
)

update [dbo].[Params] set filename = substring(filename, 0, 37)
where FileName like '%_dynupdate_%'

commit

 


 
Результат выполнения:

После этого без каких либо сообщений открываются и Конфигуратор и Предприятие, как будто ничего и не было до этого...

Бинго!

динамическое обновление ошибка источника потока

См. также

Исправление в 1С:ЗУП/ЗКГУ ошибок по НДФЛ и взаиморасчетам с сотрудниками на начало расчетного года.

Корректировка данных Зарплата Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

4800 руб.

06.10.2023    2603    29    15    

35

Тестирование и исправление ключей аналитики ERP, УТ11, КА

Корректировка данных Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    107252    636    173    

679

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27912    82    146    

61

Исправление ошибки закрытия месяца "Обнаружены ненулевые остатки по суммам при нулевом остатке по количеству в регистре себестоимости по организации". УТ 11.4,УТ 11.5, КА 2.4,КА 2.5, ERP 2.4, ERP 2.5, КА 2 Казахстан, Управление торговлей 3 для Казахстана

Закрытие периода Корректировка данных Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Закрытие месяца - важный процесс в современных конфигурациях, таких как УТ 11.4, УТ 11.5, КА 2.4, КА 2.5 ERP 2.4,ERP 2.5, КА 2 Казахстан, УТ 3 Казахстан регламентные операции влияют на расчет себестоимости, и ошибки в данном расчете не дают картины деятельности организации.

2400 руб.

27.10.2021    22542    302    35    

74

Заполнение документа "Корректировка регистров" произвольными данными

Закрытие периода Корректировка данных Платформа 1С v8.3 Система компоновки данных 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    50313    171    29    

121

Исправление ошибок по НДФЛ и взаиморасчетам с сотрудниками в 1С:Бухгалтерия 3.0

Корректировка данных Зарплата Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Внешняя обработка предназначена для исправления самых различных ошибок, возникших по самым разным причинам. Общее проявление этих ошибок видно в различии данных между: проводками и различными отчетами по НДФЛ, заполнении ведомостей на выдачу зарплаты, неверным расчетом НДФЛ при начислении ЗП и т.д.

3600 руб.

09.02.2024    708    3    4    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. МихаилМ 09.01.19 17:50 Сейчас в теме
нет в статье расследования ,выявления проблемы.

так - случайное тыканье. Вы проблему исправили случайно.
chebser; CheBurator; ixijixi; asdf_88; alur; caponid; +6 2
2. idle 95 10.01.19 08:36 Сейчас в теме
(1) Если данное «тыканье», как Вы выразились, сэкономит кому то пару суток времени в безуспешных попытках реанимировать базу, значит я это написал не зря!
А для любителей покидать говно на вентилятор могу подсказать более подходящий ресурс... в личке...
OlegAr; anolina; elisabet; mash77; ice-net; Rans; chebser; igo1; berezin84; HitGroove; for_sale; user774630; Somebody1; m_aster; PowerBoy; Hazker; Дамир1; user621724_Dimav1979; korzhishe; 1818694@mail.ru; MaZaHacKa_13; maslennikov_ea; shard; torbeev; JohnyDeath; egorcheg1; marku; DiPOS; frkbvfnjh; asupsam; link_l; jONES1979; master555; Tokiy; MotorBox; nporrep; +36
14. GreenDragon 19.01.19 02:21 Сейчас в теме
(2) Вангую ссылку на Мисту в личке
anolina; user1080864; ice-net; user774630; +4
6. caponid 10.01.19 10:56 Сейчас в теме
(1) Выводы на лету можно сделать... dynupdate - динамическое обновление...
Идет 2018 год... кактус как ни странно, по прежнему не съедобный...
CheBurator; ixijixi; IgorS; +3
16. Hadgehogs 489 08.04.19 17:42 Сейчас в теме
(1) Тоже мне ребус мебиуса.
Запускаем профайлер. смотрим трассу и где она спотыкается.
У меня было подобно на таблице depot, что это за таблица - фиг знает, решилось ее очисткой.
+
3. nyam-nyam 10.01.19 09:24 Сейчас в теме
Бэкапов еще делать не начинали, базу внедрили в начале года и впопыхах об этом важном моменте как-то забыли.
- куда катится этот мир? УПП, РИБ, SQL!!! И всё это без бекапа. Весь отдел ИТ вместе с руководителем на выход с вещами.
Rans; chebser; ZOMI; igo1; homer_; berezin84; Romakon92; Ali1976; for_sale; m_aster; ixijixi; VooDOOPRo; IgorS; Дамир1; korzhishe; maslennikov_ea; asdf_88; link_l; webester; +19
4. Artem.Po 10.01.19 09:34 Сейчас в теме
(3) ну к сожалению на данный момент времени новый отдел войдёт такой же..
for_sale; +1
5. Artem.Po 10.01.19 09:35 Сейчас в теме
а статья кстати нужная, автору благодарность)
ivdvorkovoy; MaCCapAkIII; idle; +3
7. idle 95 10.01.19 12:12 Сейчас в теме
(5)Спасибо Артем! :)
+
8. as 10.01.19 13:50 Сейчас в теме
Добавьте версию платформы и СУБД. За статью спасибо, просто применимость сильно зависит от версии платформы и режима совместимости вашей базы.
+
9. idle 95 10.01.19 14:30 Сейчас в теме
(8) Платформа 8.3.13.1644, включил в статью...
+
10. kauksi 216 11.01.19 09:10 Сейчас в теме
Здравствуйте, меня зовут Сергей и я делаю динамическое обновление.
Раньше, я делал динамическое обновление по три или даже целых пять раз в день.
Я мог не спросить пользователей, не сделать бекап средствами СУБД и динамически обновить базу ради изменения макета печатной формы счета на оплату.
Но потом случилось горе и в одно прекрасное обновление база просто не запустилась.
Это был ч0рный день в моей жизни.
Я потерял друзей, коллеги отвернулись от меня.
Жена меня бросила и дети не хотят со мной разговаривать.
Попа болела после долгого и многозначительного разговора с начальством.
И я решил изменить свою жизнь.
Я теперь занимаюсь спортом
Стал посещать бассейн.
Питаюсь правильно и соблюдаю правила дорожного движения.
Сегодня у меня праздник.
Я уже 30 дней не делаю динамического обновления без ахивации базы данных средствами СУБД.
Я практически готов полностью отказаться от динамического обновления.
Вообще не обновлять динамически.


Преодолеть зависимость от динамического обновления мне помогли 12 простых шагов:

12 ШАГОВ , РАЗРАБОТАННЫЕ САМИМИ ДИНАМИЧЕСКИМИ ОБНОВЛЯЛЬЩИКАМИ
1. Признать свое бессилие перед поведением платформы 1с при динамическом обновлении.
2. Согласиться с утверждением, что без посторонней помощи не обойтись.
3. Мысленно перепоручить себя некой Высшей силе, которая поможет.
4. Проанализировать свои поступки.
5. Признать перед собой и кем-то еще свои ошибки.
6. Не сомневаться, что бекап перед динамическим обновлением сработает.
7. Просить высшие силы избавить от недостатков.
8. Составить список всех людей, кому причинили зло, и захотеть загладить свою вину перед ними.
9. Лично возместить этим людям ущерб, нанесенный вами и вашим динамическим обновлением.
10. Продолжать самоанализ и, при малейших ошибках, сразу признавать, что вы их таки совершили.
11. Не переставать размышлять и благодарить помощника из пункта 3.
12. Достигнув пробуждения, благодаря пунктам 1-11, помогать другим динамическообновлялщикам.
maksa2005; denisvilny; loradanilova; user774630; chebser; ZOMI; krollzlat; berezin84; Romakon92; NightAngel; bykov.vsl; AlexCherdakov; for_sale; Somebody1; Vlan; rpgshnik; pavlov_dv; ixijixi; Waanneek; churlena; GreenDragon; igee12; script; anreko; GoodZone; user659124_s.kostina; laeg; korzhishe; Alex_E; ivdvorkovoy; palsergeich; feva; asdf_88; +33 1
12. feva 518 11.01.19 16:55 Сейчас в теме
(10)
Здравствуйте, меня зовут Сергей и я делаю динамическое обновление.
Раньше, я делал динамическое обновление по три или даже целых пять раз в день.
Я мог не спросить пользователей, не сделать бекап средствами СУБД и динамически обновить базу ради изменения макета печатной формы счета на оплату.
Но потом случилось горе и в одно прекрасное обновление база просто не запустилась.
Это был ч0рный день в моей жизни.
Я потерял друзей, коллеги отвернулись от меня.
Жена меня бросила и дети не хотят со мной разговаривать.
Попа болела после долгого и многозначительного разговора с начальством.
И я решил изменить свою жизнь.
Я теперь занимаюсь спортом
Стал посещать бассейн.
Питаюсь правильно и соблюдаю правила дорожного движения.
Сегодня у меня праздник.
Я уже 30 дней не делаю динамического обновления без ахивации базы данных средствами СУБД.
Я практически готов полностью отказаться от динамического обновления.
Вообще не обновлять динамически.


Преодолеть зависимость от динамического обновления мне помогли 12 простых шагов:

12 ШАГОВ , РАЗРАБОТАННЫЕ САМИМИ ДИНАМИЧЕСКИМИ ОБНОВЛЯЛЬЩИКАМИ
1. Признать свое бессилие перед поведением платформы 1с при динамическом обновлении.
2. Согласиться с утверждением, что без посторонней помощи не обойтись.
3. Мысленно перепоручить себя некой Высшей силе, которая поможет.
4. Проанализировать свои поступки.
5. Признать перед собой и кем-то еще свои ошибки.
6. Не сомневаться, что бекап перед динамическим обновлением сработает.
7. Просить высшие силы избавить от недостатков.
8. Составить список всех людей, кому причинили зло, и захотеть загладить свою вину перед ними.
9. Лично возместить этим людям ущерб, нанесенный вами и вашим динамическим обновлением.
10. Продолжать самоанализ и, при малейших ошибках, сразу признавать, что вы их таки совершили.
11. Не переставать размышлять и благодарить помощника из пункта 3.
12. Достигнув пробуждения, благодаря пунктам 1-11, помогать другим динамическообновлялщикам.
Показать


на принтер и в рамку
Waanneek; +1
11. Glebis 13 11.01.19 11:07 Сейчас в теме
Добавь, пожалуйста, к статьи тег с текстом ошибки и тег "динамическое обновление", чтобы проще было найти.
for_sale; ivdvorkovoy; +2
13. ivdvorkovoy 13.01.19 10:30 Сейчас в теме
Спасибо за статью!
idle; +1
15. user1169191 06.03.19 19:35 Сейчас в теме
Спасибо за статью
idle; +1
17. CheBurator 3119 09.04.19 03:44 Сейчас в теме
по прежнему - все способы суть шаманский бубен
+
22. vadim1011985 99 11.04.19 18:51 Сейчас в теме
(17) А какие еще могут быть способы , кроме шаманских ?

Нет универсального решения в таких вопросах и инструментов для решения практически нет .

Я конечно больше по восстановлению файловых баз, и если SQL позволяет такие штуки как описал Автор , то все не так плохо по сравнению с файловыми базами.

Конечно для файловых баз, есть утилиты Tools 1CD и 1CD_ Lib, только не работают они с форматом 8.3.8 , и если сконвертнуть в старый формат не удается , остается только сидеть в HeX - редакторе крыжить.

Так что и файловыми и SQL базами одно шаманство , где-то в большей степени , где-то в меньшей.
+
18. baracuda 2 09.04.19 12:04 Сейчас в теме
Ребят, очень часто обновляю расширение динамически? платформа 8.3.11.3034.
причем при обновлении никаких вопросов платформа не задает, просто обновляет и все, я что то делаю не так?
+
19. tricolor 23 10.04.19 17:24 Сейчас в теме
(18)ты обновляешь расширение, а не саму конфу.
+
23. baracuda 2 12.04.19 09:35 Сейчас в теме
(19) Спасибо, теперь понятно.
+
20. rinat_alp2 61 11.04.19 10:25 Сейчас в теме
Напишите, пожалуйста, сколько рабочих серверов 1С?
У нас ошибки падения после динамического обновления пропали, после того как убрали дублирующееся требование назначения функциональности на один сервер.
Уже точно не помню какая функциональность была.
+
21. idle 95 11.04.19 17:44 Сейчас в теме
24. ActionBlog 26.12.19 11:12 Сейчас в теме
2019 год. Для решения проблемы достаточно просто удалить базу из списка баз и добавить ее обратно. Платформа 8.3.14.1944.
+
25. user856012 13 26.12.19 11:30 Сейчас в теме
(24)
Для решения проблемы достаточно просто удалить базу из списка баз и добавить ее обратно.
Йес, кэп! Это один из способов очистить кэш, причем не самый лучший.
+
26. maksa2005 533 30.03.22 14:59 Сейчас в теме
ДИНАМИЧЕСКОЕ ОБНОВЛЕНИЕ - ЗЛО!
OlegAr; +1
Оставьте свое сообщение