Случай из практики: об одной нетривиальной ситуации при обмене УНФ-БП

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

Разработка - Обмен данными 1С - Перенос данных из 1С7.7 в 1C8.X

24
Работал себе обмен между УНФ и БП, а потом как-то засбоил - то проходит, то не проходит. О том, что это было...

Случай из практики

А вот я на фронте был  
Ох-ты, боже мой...   

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

Анамнез:

У одного из наших клиентов учет построен на связке УНФ+БП 2.0. Обе базы – в клиент-серверном варианте. Обмен – по расписанию, по типовому (немного измененному) плану обмена через общий каталог.

Несколько месяцев назад возникла странная проблема: часть объектов (самых разных, и документов, и элементов справочников), созданных в УНФ, с непонятной периодичностью перестали переезжать в БП. После принудительной регистрации и ручного запуска обмена объекты спокойно передавались. На некоторое время, иногда короткое, иногда не очень, ситуация приходила в норму, а потом все повторялось без каких бы то ни было видимых причин (Зараза!!!). Поскольку крики погибающих бухов: «Обмен опять не работает!» - происходили в самые горячие отчетные дни, долго разбираться времени не было, обмен проталкивали вручную. И вот…

Лечение:

В общем, с ног сбились, грешили на правила регистрации, на правила обмена, на потерю файлов на сервере, на алгоритм в УНФ, который определяет помечать ли объект как измененный или нет в зависимости от того, какие реквизиты изменились. И еще бог знает на что! Оказалось…

Некоторое время назад на боевом сервере создали тестовую базу УНФ, загрузили туда копию рабочей базы, чего-то там проверили на ней и забыли про нее напрочь. Естественно, в тестовой базе остались то же самое расписание и тот же самый каталог обмена, что и рабочей базе. И фоновое задание, выполняющее обмен, продолжало запускаться, как ни в чем не бывало.

Теперь – самое интересное. Сеансы обмена запускались в обеих базах УНФ параллельно в одно и то же время, причем, кто из них оказывался первым, определялось каким-то квази-случайным способом. При этом, в тестовой базе, естественно, никаких измененных объектов не возникало, потому что в ней никто уже не работал! Если фоновое задание в тестовой базе опережало аналогичное задание в рабочей базе, то все шло нормально – файл, созданный в рабочей базе, затирал файл из тестовой базы, и никто ничего не замечал. Если же задания запускались в обратном порядке, то ПУСТОЙ файл из тестовой базы затирал файл с выгруженными объектами из рабочей базы и никакого обмена не происходило.

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

Обнаружилось это таким образом. В обработку, выполняющую обмен, я добавил копирование создаваемого файла обмена в файл с уникальным именем, чтобы выследить-таки мерзавца. После очередного «сбоя» обмена, анализируя каталог с этими копиями, я обнаружил, что за один и тот же сеанс обмена имеются два файла с разными номерами сообщений, один из которых оказался пустым! Анализ журнала регистрации показал, что в момент времени, указанный в «пустом» файле, НИКАКИХ ФОНОВЫХ ЗАДАНИЙ в рабочей базе НЕ ВЫПОЛНЯЛОСЬ!  Опаньки, приплыли…

К счастью, я достаточно быстро догадался, что это не нечистая сила, и не происки врагов «из-за бугра», а просто есть еще какая-то база, которая пишет файлы обмена в тот же самый каталог. Вот! Базу тут же нашли и со злорадным удовлетворением грохнули.

Мораль:

1.Нечистой силы не бывает

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

С уважением ко всем дочитавшим до конца, Дядюшка О.

 

24

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

Комментарии
Избранное Подписка Сортировка: Древо
1. SpartakM 58 11.07.13 01:05 Сейчас в теме
При создании копии серерной базы, сразу ставь флаг "блокировка регламентных заданий"
тогда подобных проблем можно будет избежать)))
а так да, такую проблему очень сложно было бы найти))))
повезло, что вообще это получилось))
NoRazum; kiros; Malanichev; hulio; +4 Ответить
8. Virikus 49 18.07.13 13:44 Сейчас в теме
Это довольно частая ошибка и ловится достаточно быстро.
Чего вы с ней так долго мучились не совсем понятно.

Нужно просто принять за правило совет из (1) и все.
А еще лучше всегда отключать регламентные задания при создании базы и включать уже по мере необходимости.
2. nsirotkin@mail.ru 11.07.13 05:03 Сейчас в теме
Несколько раз сталкивался, теперь стараюсь вставлять в обработчики регламентных заданий проверку.
(строку соединений можно подсмотреть/скопировать в диалоге запуска)

Функция ЭтоРабочаяИБ() Экспорт //чтобы регламентные задания не выполнялись в копии ИБ 

	ЭтоРабочаяИБ = Истина;
	
	Попытка
		
		Стр = Константы.СтрокаСоединенияИнформационнойБазы.Получить();
		
		Если ВРЕГ(Стр) <> ВРЕГ(СтрокаСоединенияИнформационнойБазы()) Тогда
		
			ЭтоРабочаяИБ = Ложь;	
		
		КонецЕсли; 
	
	Исключение
	
	КонецПопытки; 

	Возврат ЭтоРабочаяИБ;
	
КонецФункции // ЭтоРабочаяИБ()
Показать
3. LexSeIch 202 11.07.13 06:39 Сейчас в теме
Мир этому дому!
Интересный и поучительный рассказ. Грабельки конечно, ниже пояса... Для себя пометил - осторожно с копиями...
4. Alexion 43 11.07.13 07:23 Сейчас в теме
Да спасет вас блокировка регламентных заданий при создании баз (с)
плюс за мучения))
5. makas 44 11.07.13 15:05 Сейчас в теме
Прочитал с интересом, спасибо!
6. Mortiferus 322 17.07.13 14:44 Сейчас в теме
История о том, как забыли выключить утюг! Бог миловал от этого, поскольку если настраиваю обмен между базами, то между тестовыми.
7. headMade 140 17.07.13 22:53 Сейчас в теме
Подскажите где и в какой момент можно включить блокировку регламентных заданий?
9. fomix 26 22.07.13 16:48 Сейчас в теме
(7) headMade, На сервере 1С в свойствах конкретной базы данных
Оставьте свое сообщение

См. также

Методика пошагового перехода из решения для платформы 7.7 "Торговля и склад" на решение для платформы 8 "Управление торговлей" 12

Статья Программист Нет файла v7.7 v8 УТ10 1С7:ТиС Оптовая торговля, дистрибуция, логистика Россия БУ УУ Оптовая торговля Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X

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

31.10.2016    12101    vugluscr1991    27       

Перенос данных из семерки по частям 9

Статья Программист Нет файла v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X

При переносе баз из семерки в восьмерку, если база данных достаточно большая, может возникнуть ошибка «msxml3.dll: Недостаточно памяти для завершения операции». В этом случае советуют переносить данные по частям. Но возможности выгрузки по частям в стандартной обработке сильно ограничены: можно выгрузить отдельно справочники, остатки на начало года, обороты, документы. Обычно такая выгрузка по частям не исправляет ситуацию, т.к. основной объем данных сосредоточен обычно в одном справочнике, значит нужно выгружать отдельно этот справочник, мало того, может понадобиться его выгружать в несколько этапов. Попытаюсь описать метод решения, который использую в таких случаях.

01.01.2015    24371    32ops    5       

Получение в 1С82 списка баз 1С77 на сервере (управляемые формы) 2

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

Получение в 1С82 списка баз 1С77 на сервере (управляемые формы) для подключения к 1С77 через OLE.

23.12.2013    6513    sdf1979    3       

Отладка правил обмена 7.7, 8 173

Статья Программист Нет файла v8 КД Windows Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X Обмен через XML Перенос данных из 1C8 в 1C8

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

29.10.2013    47534    pyrkin_vanya    70       

Перенос данных из бухгалтерии 7.7 в 8.2 Бухгалтерия предприятия КОРП 38

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

В статье описан процесс переноса данных из конфигурации 7.7 Бухгалтерский учет, версия 4.5 в конфигурацию 8.2 Бухгалтерия предприятия КОРП, редакция 2.0 с примером изменения правил переноса.

24.01.2013    82834    Программист 1С    15       

Прием конвертации, который позволит решить много задач 211

Статья Программист Нет файла v8 ЗУП2.5 1С7:Бух КД Зарплата Управление персоналом (HRM) Бесплатно (free) Практика программирования Перенос данных из 1С7.7 в 1C8.X

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

16.01.2013    75210    SergeMalikov    44       

Связь 8.2 и 7.7 по OLE управляемое приложение (нюансы подключения) 12

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

Казалось бы, тривиальная задача - связать 2 этих приложения. Многие это не раз успешно делали, море статей и примеров... А я как всегда наступил на грабли :(

03.01.2013    22265    wunderland    3       

Конвертация данных 2.1 (2.1.3.1) 1С 7.7 - 1С 8.Х передача параметра ПКО 14

Статья Системный администратор Программист Нет файла v7.7 v8 КД Бесплатно (free) Практика программирования Перенос данных из 1С7.7 в 1C8.X

Передача параметров по умолчанию доступна только для баз 1С 8.х -1С 8.х. Показан пример, как передать параметры из 1С 7.7 - 1С 8.х

10.12.2012    22111    serg_gres    6       

Видео. Перенос данных из базы 1С:Торговля и склад 9.2 (7.7) в 1С:Управление торговлей 11 (8.2) 22

Статья Системный администратор Программист Нет файла v8 УТ10 1С7:ТиС УУ Windows Бесплатно (free) Администрирование данных 1С Перенос данных из 1С7.7 в 1C8.X

В этом видеокурсе будет продемонстрирована процедура переноса данных из программы 1С:Торговля и склад, начиная с редакция 9.2.973 и более поздние версии в 1С:Управление торговлей, редакция 11.0.9 и более поздние версии.

08.11.2012    31701    ИТ-Терминал    2       

УНФ РИБ 35

Статья Системный администратор Программист Нет файла v8 УНФ Россия Бесплатно (free) Распределенная БД (УРИБ, УРБД) Перенос данных из 1С7.7 в 1C8.X

В типовой УНФ нет РИБа. Исправляем этот недостаток, используя УТ 11 и ИТС. Статья подойдет для настойки распределенки в любой конфе на базе БСП.

16.10.2012    36694    ptkrzy    23       

Переход на "1С: Бухгалтерию 8". Часть 1. Перенос данных 27

Статья Системный администратор Программист Нет файла v7.7 v8 БП2.0 1С7:Бух Россия Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X

В данной публикации рассматривается перенос данных из "1С:Бухгалтерии 7.7" в "1С:Бухгалтерию 8".

03.09.2012    34324    Стил    11       

Групповая обработка ПКО и ПКС в КД 10

Статья Системный администратор Программист Нет файла v8 КД Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X Перенос данных из 1C8 в 1C8 1С7.7<->1C7.7

Встраивание типовой обработки "Универсальный подбор и обработка объектов" в КД для групповой обработки ПКО и ПКС

05.07.2012    18826    Totoro    3       

Конвертация данных 2: передача параметров из выгрузки в загрузку (в том числе и на "ранние" стадии) при обмене из 7.7 в 8.х 48

Статья Системный администратор Программист Нет файла v8 1cv8.cf 1cv7.md КД Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X Обмен через XML

Кратко суть проблемы можно озвучить цитатой из документации: "Передача параметра из источника в приемник доступна только при обмене между информационными базами на платформе 1С:Предприятие 8". Ниже излагается способ передачи глобальных параметров при таком обмене без правки выгруженного из КД 2 модуля выгрузки и без правки самой КД 2.

27.05.2012    37040    andrewks    18       

Загрузка остатков из 1С6 в 1С8 2

Статья Системный администратор Программист Нет файла v8 БП2.0 БУ Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X Внешние источники данных

Часто при организации обмена данными с 1С6 требуется наладить перенос проводок из 1С6 за период. Но тут же возникает вопрос и о переносе начальных остатков. Так вот, если разработан механизм загрузки движений из 1с6 из файла проводок 1sboper.dbf, то можно просто сэмулировать файл 1sboper.dbf, но в нем оставить только проводки с нулевым счетом и загрузить этот файл на дату загрузки остатков. Таким образом не придется делать дополнительный механизм. Единственное - нужно свернуть остатки в 1sboper.dbf. Как это сделать - эта статья.

27.03.2012    14854    fixin    3       

Обмен между 1С 7.7 и 1С 8 через "ЗначениеВСтрокуВнутр" 21

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

Функция разбора строки, содержащей таблицу значений, полученной из 1С 7.7 методом "ЗначениеВСтрокуВнутр"

11.03.2012    14935    AvalonE2008    7       

Перенос данных в «1С:Зарплата и Управление Персоналом 8.2» 17

Статья Системный администратор Программист Нет файла v8 ЗУП2.5 1С7:ЗиК Россия Windows Зарплата Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X

Методика переноса данных из типовой конфигурации «1С:Зарплата и Кадры 7.7» в конфигурацию «1С:Зарплата и Управление Персоналом 8.2» при помощи обработки «Перенос данных из информационных баз 1С Предприятие 7.7».

03.10.2011    16220    Nicholas    7       

Хитрость. Использование БУЛЕВО при OLE обмене/подключении из 7.7 к 8 17

Статья Системный администратор Программист Нет файла v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X Универсальные функции

Как известно, при OLE обмене доступны только типы СТРОКА, ЧИСЛО, ДАТА. А вот БУЛЕВО (ИСТИНА, ЛОЖЬ) использовать при подключении из 7.7 к 8 не получается. Как же быть? Есть хитрость, как использовать тип булево в семерке при обмене с 1С8! :)

28.09.2011    14003    bsturtle    9       

Перенос информации из ЗиК в ЗУП через файл данных 27

Статья Системный администратор Программист Нет файла v8 ЗУП2.5 1С7:ЗиК Россия Windows Зарплата Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X Обмен через XML

Если по каким-либо причинам невозможен перенос данных непосредственно из информационной базы «1С:Зарплата и Кадры 7.7», либо Вы собираетесь использовать нетиповые правила выгрузки данных, то необходимо воспользоваться «Помощником перехода на Зарплата и управление персоналом, редакция 2.5». В данной статье описывается, каким образом можно выгрузить данную обработку из справочника «Конвертация из информационных баз 1С:Предприятия 7.7» конфигурации 1С:Зарплата и управление персоналом.

19.09.2011    28502    Nicholas    16       

Прямой доступ к базе данных 77 из 8ки 16

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

Иногда бывает необходимость получить какие-то данные из 77 для того чтобы видеть всю историю работы до перехода на в 8ку. Вот один из моих вариантов получения данных из архивных баз 77. База данных 77 на SQL. P.S. 77-Комплексная

19.04.2011    10548    OldthiefXXX    15       

Конвертация данных 2. Выгрузка виртуальных объектов (документ Установка цен номенклатуры) 37

Статья Системный администратор Программист Нет файла v7.7 v8 БП2.0 1С7:ТиС КД Россия БУ Ценообразование, анализ цен Бесплатно (free) Ценообразование, прайсы Перенос данных из 1С7.7 в 1C8.X

Пример выгрузки цен из конфигурации ТиС 9.2 в БП 2.0 Выгружаются все цены на дату, загрузка происходит в документы Установка цен номенклатуры. Документы эти - виртуальные, источника в ТиС не имеют.

03.02.2011    34719    nicxxx    22       

Выполнение параметризированных SQL запросов по OLE из 1С 8.x в 1С 7.7 12

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

Выполнение параметризованных SQL запросов по OLE из 1С 8.x в 1С 7.7 Показан алгоритм как можно выполнить данный вид запросов

08.10.2010    14022    Попытка1С    7       

Один из вариантов переноса данных из 1С 7.7 в 1С 8.Х 24

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X Файловые протоколы обмена, FTP

Перенос данных — это почти всегда индивидуальный подход. И крайне важно выбрать наиболее подходящий инструмент из множества доступных. Я в этой статье опишу один из вариантов.

30.11.2009    15916    266    awk    29       

Правила переноса из Бух77 в Бух 8.1 11

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 БП2.0 1С7:Бух Россия БУ Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X Обмен через XML

Правила переноса из Бухгалтерский учет для Украины 77 в Бухгалтерия для Украины 8.1 Были отредактированы правила для документов Приходная накладная, Расходная накладная, ОстаткиТМЦ, СписаниеТМЦ.

03.08.2009    16067    212    pri_hod    7       

Перенос проводок из ЗиК 7.7 в УПП 4

Статья Программист Нет файла v8 1С7:ЗиК УПП1 Россия БУ Зарплата Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X

Перенос проводок из ЗиК 7.7 в УПП посредством стандарного обмена через XML с минимальной доработкой в УПП.

27.04.2009    8146    Evil Grym    1       

Выгрузка проводок из ЗиК, редакция 2.3 (7.70.283) -> БП 1.6 56

Статья Программист Нет файла v8 1С7:ЗиК БП1.6 Россия Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X

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

10.10.2008    18081    Frosja    17       

Перенос справочников из 7.7 в 8.1 (OLE) 156

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Бесплатно (free) Обработка справочников Перенос данных из 1С7.7 в 1C8.X

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

02.09.2008    23452    2787    deemaa    51       

Перенос данных из 1С Предприятие 7.7 в 8.0 95

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Перенос данных из 1С7.7 в 1C8.X

Универсальная обработка для переноса данных из 1С Предприятие 7.7 в 1С Предприятие 8.0 через OLE.

21.04.2006    11914    1420    Yurij_zp    34