1C 8.1 + PostgreSQL 8.3.3. Ошибка при загрузке DT в пустую базу. #443171


#0 by Tedman
Добрый вечер, Уважаемые коллеги. У меня возникли трудности с переносом базы данных с файлового варианта на PostgreSQL. Опишу подробнее задачу и возникшую в связи с этим проблему: Есть база на 1С Предприятии 8.0.18.2 - УТ 10.2.10.2, старенькая и очень сильно мною переписанная. Компания растёр, народ прибывает, и всё начало тормозить, в связи с чем потребовался переход на клиент-серверный вариант работы. Мною был выбран PostgreSQL вместо MS SQL Serv 20** т.к. он бесплатен и есть более глубокие возможности настройки. Ну так вот: Поставил Предприятие версии 8.1.15.14, после этого переконвертировал базу (с 8.0 на 8.1), установил PostgreSQL-8.3.3-2.1C.msi, и т.п. Создал пустую базу. Но при попытке загрузить в пустую базу dt архив, деланный переконвертированной в 8.1 базой, пишет: "Попытка вставки неуникального значения в уникальный индекс: ERROR: could not create unique index "params_pkey" DETAIL: Table contains duplicated values." Причём я копался и на форуме, и на оф. сайте postgres'а, и на , и хочу сразу исключить возможные варианты: 1) " Если есть возможность в файловом варианте работать с базой, то выполните Тестирование и Исправление, а также Конфигурация - Проверка конфигурации - Проверка логической целостности конфигурации + Поиск некорректных ссылок" Ошибки были найдены и исправлены, но базу всё-рно грузить не хочет, причём голую конфу с радостью глотает. 2) Запросом типа: "ВЫБРАТЬ Справочник.Ссылка ИЗ Справочник.Справочник КАК Справочник СГРУППИРОВАТЬ ПО Справочник.Ссылка ИМЕЮЩИЕ КОЛИЧЕСТВО(*) > 1 " прогонял все справочники, документы и планы видов характеристик - пусто. Вот, собственно и вся ситуация. Очень прошу предлагать какие-то варианты, потому что я уже, кажется, перепробывал всё, на что фантазии хватило. Спасибо за внимание =)
#1 by Alise85
такая сложная проблема и так поздно :(
#2 by Mashinist
Интересно а в MS SQL загрузится? Видимо нет...
#3 by Demiurg
Слон <= 8.3.7 играет с 1С <= 8.1.14 или с 1С <= 8.2.9 Слон >= 8.3.8 играет с 1С >= 8.1.15 или с 1С >= 8.2.10
#4 by Demiurg
еще лучше ставь db2, есть хорошое место для консультаций а слоник тольки мозги новичкам выносит
#5 by Tedman
2Demiurg: Не вариант. Я, как... программист,  с помощью метода тыка срубал 1с 8.1, и пробовал загрузить как на 8.1.13, так и на 8.1.14 и на 8.1.15. Та же история. На счёт СУБД db2... Во-первых очень смущает ограничения бесплатной версии:"Максимальное использование процессоров: 2 ядра (макс 1 процессор); Максимальное использование оперативной памяти 2Гб", во-вторых радует факт открытого кода "слоника", да и просто не хочет уходить от возникшей проблемы. 2Mashinist: Мне тоже эта идея пришла в голову, на если я ещё и SQL 2005 себе на ноут поставлю, он у меня из тормозов вообще выходить, наверное, не будет )))
#6 by H A D G E H O G s
Проверял ТЧ справочников/документов на наличие нескольких строк с одинаковым НомерСтроки  ?
#7 by H A D G E H O G s
Сноси наюг PostGree, ставь MSSQL (есть ограниченные бесплатные) и не парь мозх. Профайлером точно ошибку найдешь.
#8 by Tedman
2H A D G E H O G s: Не проверял. Попробую-отпишуть. На счёт MSSQL... видимо придётся, когда совсем надежду потеряю, а пока...)))
#9 by Demiurg
>смущают ограничения а халява не смущает, ну так постгря - это наказание халявщикам слоник - субд не для начинающих дб2 ты явно не поставишь, страшно же, это "новая неизвестная субд", черт меня вообщем все ясно
#10 by Tedman
2Demiurg: "дб2 ты явно не поставишь, страшно же, это "новая неизвестная субд", черт меня"... Ну, вообще-то что такое PostgreSQL я узнал вчера днём ;-) Так что это меня совсем не пугает.
#11 by H A D G E H O G s
"Удачи вам, мистер Горски" ©
#12 by Dm81
Попробуй так: вариант 1 - создай пустую базу, загрузи сначала .cf, запусти 1С, а потом загрузи .dt; вариант 2 - создай пустую базу, в ней какой-нить справочник, заполни его парой значений, а потом грузи .dt.
#13 by Мутабор
С трудом верю в такие шаманские танцы
#14 by Dm81
у меня клиент-сервер, PostgreSQL 8.3.3-2.1C, под линуксом, платформа 8.1.15.14. Загружаются базы типовые и доработанные, из файлового варианта в клиент-серверный.
#15 by Мутабор
Они у тебя только как в описано загружаются, или все же стандартно загружаются
#16 by Dm81
Загружаются стандартно. Как в пустую базу (копию создаем для экспериментов), так и на имеющуюся .dt накатываем. - это как варианты попробовать. Сам же знаешь про танцы с бубном.
#17 by Tedman
2Dm81: Оба варианта попробовал. Cf встаёт отлично, сделал несколько товаров, характеристик, штрих-кодов, поступление, реализацию, после этого начал загружать Dt- тоже самое. Я вот думаю, а если взять PGSQL версии 8.3.8 или 8.4.1, и попытаться загрузить на него, но, как я понял, патченных дистрибутивов от 1С нету,а как патчить самому я так и не понял, и описания по этому не нашёл =(...
#18 by valeriy vm
можно залить пустую базу, потом обменом между базами перекинуть данные в режиме предприятие. Вроде данные из одинаковых конфигураций не проблема перегружать
#19 by valeriy vm
у меня постгре не грузил dt который стоял на поддержке, пришлось снять с поддержки чтоб залить данные. В связи с этим думаю что все дело в кофе а не платформе. Возможно надо обновлять конфу, но этого делать не будете так как сильно писанная она уже
#20 by Tedman
2valeriy vm... Вариант переброски данных с помощью "Конвертации" тоже пришёл мне на ум ещё как только я столкнулся с этой ошибкой, т.к. больше ничего и не остаётся, и ошибку там отследить проще, но...Сейчас решается вопрос стоит ли вообще всё это делать, и какой будет прирост производительности от перехода, потому хорошо бы иметь все док-ты и записи регистров, что бы вживую проверять. А так же... может быть немного писсимистично, но не возникнет ли потом, после переброски данных, ещё какой-нить подобной проблемы, решение которой никто не знает...
#21 by Tedman
Есть определённое продвижение... Взял архив ноября прошлого года... те же самые действия-> переконвертировал и т.п... Всё отлично встало О_о
#22 by Dm81
8.4.1 патченный есть на пользовательском сайте. У меня 8.3.3 (патченный), 8.4.1 поставлю на след. неделе, когда нагрузка меньше будет.
#23 by Dm81
О. Попробуй платформу поставить 8.1.13.41, переконвертируй на ней базу.
#24 by diger
Та же самая херь была ...только с 1с 8.1.13.41 + слон 8.3.3 перечитал кучу всего а реально помогло тестированиа и исправление файлового варианта со всеми галочками кроме сжатия
#25 by Tedman
2Dm81: "Попробуй платформу поставить 8.1.13.41, переконвертируй на ней базу." Сделал  сегодня ночью)) Делал с версиями 8.1.15.*, 8.1.14.*, 13 и 12, не помогает. 2diger: Тоже делал. И "Тестирование и исправление", и "Проверка конфигурации"...
#27 by valeriy vm
Постгре это серверСКЛ, по этому по любому будет лучше файлового варианта, производительность будет если делать склсервер на отдельной машине. Если сервер 1С и скл будут вместе ни чего хорошего по производительности не получиться.
#28 by Tedman
2valeriy vm: Спасибо большое, учту это, когда буду базу ставить.
#29 by Торин
Эта ошибка никак не зависит от PostgreSQL. На MSSQL она у вас тоже не зальется... Спасает тока ТиС со ВСЕМИ галочками... включая последнюю - "Реструктуризация базы"
#30 by Торин
У меня эта ошибка была раза три. Делал так - ТиС с реструктуризацией, выгрузка в дтшник, загрузка в новую файловую базу, выгрузка в ДТ-шник, загрузка в СКЛ...
#31 by Tedman
2Торин: И даже это не помогло =(((
#32 by Dm81
А ТиИ на какой платформе делал?
#33 by Dm81
Попробуй еще так: 1) ТиИ на платформе 8.0; 2) затем конвертация в формат 8.1; 3) выгрузка в ДТ; 4) создание пустой базы на скл-сервере; 5) загрузка в эту пустую базу ДТ
#34 by Dm81
+ . Возможно, между этапами 2 и 3 опять ТиИ делать нужно будет
#36 by Tedman
Сделал: 1) Отчистил Групповой обработкой справочников и док-тов все документы, что бы исключить возможность существования документов с одинаковыми номерами или одинаковыми "НомерСтроки" в регистрах.     Проблема не ушла. 2) Сделал последовательность Dm81 (пост №33).     Проблемы не ушла. =(((( Какие ещё могут быть варианты?
#39 by Tedman
Вот, что ещё странно. Когда делаю ТиИ в 8.0 - выдаёт одну ошибку, которую говорит, что исправил. Повторное ТиИ говорит что ошибок нет.После переконвертации в 8.1 каждое ТиИ, как первое так и последующие выдают:" Тестирование начато Обработка структуры базы данных... Сбор служебной информации... Объект изменен: Справочник.АдресныеСокращения Объект изменен: Справочник.Банки ********************************************** Все объекты конфигурации ********************************************** Объект изменен: ПланВидовХарактеристик.СвойстваОбъектов Объект изменен: ПланВидовХарактеристик.ТипыШтрихкодов Принятие изменений... Тестирование закончено" В связи с чем это такое чудо?
#44 by zak555
"П" забыл
#46 by Tedman
2zak555: Чего?
#47 by Serg_1960
К теме об ошибке создания уникального индекса "params_pkey" (источник Таблица Params содержит параметры информационной базы. Среди них:   Список пользователей информационной базы.   Национальные настройки информационной базы.   Таблица соответствия объектов метаданных и объектов базы данных (таблиц, полей, индексов).   Некоторая другая информация.
#49 by Tedman
2Serg_1960: Хорошо... как отчистить "Список пользователей информационной базы" я знаю, а с остальным что делать?
#50 by Serg_1960
Конвертация видать, не совсем, удачная была. Ошибки в связанны (имхо) с неудачными попытками реструктуризации внутренних таблиц. Неудачными из-за кривизны в таблице параметров...
#51 by Serg_1960
Вы в сообщали "...Проверка конфигурации... Ошибки были найдены и исправлены..." - нет, не исправлены. Вы исправили рабочую конфу - ошибки в конфе БД остались.
#53 by Tedman
2Serg_1960: И как это лечить? Последовательно "Проверка конфигурации" -> "ТиИ" делал...
#55 by Dm81
Когда ТиИ делаешь, выстави параметры "Создавать несуществующие объекты"
#56 by Tedman
2Dm81: Не помогло.
#57 by Dm81
Попробуй тогда так: на платформе 8.0 делаем ТиИ (все галочки); создаем чистую; загружаем дт в нее; запускаем 1С; после запуска выгружаем дт. на платформе 8.1 создаем чистую базу файловую; загружаем дт из 8.0 и конвертируем; затем запускаем 1С; выгружаем дт; создаем чистую базу на сервере; загружаем дт из 8.1.
#58 by Dm81
когда пишешь новый пост, в скобках пиши номер поста, на который хочешь сослаться - и будет ссылка :)
#59 by Tedman
Спасибо, буду знать =)
#60 by Tedman
Проблему, судя по всему решил. Я последовательно вичищал всю базу - не помогло. Взял архив от сентября месяца-он отлично грузится, взял от октября- он нет. А потом вспомнил, что примерно в конце сентября кое-что произошло. Ситуация такая-был установлен пароль на единственного пользователя, у которого были админские права (т.е. на вход в конфу и редактирование списка пользователей), а потом пароль был успешно забыт, как обычно такое и бывает. Ну что, я как "продвинутый" юзер погуглил, и нашёл статью, в которой говорилось как его снять. Смысл в том, что надо зайти WinHex'ом в базу, найти определённое место, исправить (на пример) 0 на 1, и список пользователей пропадёт, потом зайти в конфу, открыть список пользователей, потом с 1 снова исправить на 0, обновить и список пользователей снова появится (а ты уже в нём, и можешь всё менять), но... поскольку моя карма не позволяет, что бы у меня всё было не через жж.... ну вы поняли,  меня этот список не появился. Т.е. всех пользователей ИБ ввели заного, и всё нормально... было... до сего момента. Вот. Люди добрые, что делать? Как вычистить user1c.*** , который лежит в самой базе?
#61 by Dm81
Ты ж в конфигуратор заходишь. Сними пароли всех юзеров. Да, и еще, справочник пользователей посмотри. Даже можно попробовать под каждым юзером зайти после снятия паролей. понимаю, что это танцы с бубном.
#62 by Tedman
Не... я и СпрПользователи вычищал, и в конфе пользователей удалял... Мне кажется, что записи о пользователях задублировались именно в users.usr, а до него добраться можно, как я понял, только WinHex'ом, т.к. подругому 1Cv8.1CD не просмотреть, а 1C'овцы вряд ли будут с этим разбираться, если им базу скинуть и описать проблему.
#63 by Dm81
А если так попробовать... делаешь базу sql (8.1) из того сентябрьского файла, в котором все в порядке. Затем конвертишь текущую базу в формат 8.1. А потом конвертацией (или другим каким механизмом) данные переносишь в скульную базу.
#64 by Tedman
Можно, ток план обмена для такой дофигищи объктов писать - большой геморой. Я другую вещь придумал, и обязательно хочу поделиться ею... Я собой ещё неделю буду ходить гордиться) В общем придумал вот что.. в 8.0 (т.е. текущей базе), сделал план обмена с составом всех объектов. После чего сделал распределённую базу из основной, потом эту РБ отвязал от центральной, как говориться в , потом переконвертировал в 8.1 -> далее в dt и dt в SQL и... АЛИЛУЯ!!! Правда список пользователей не сохранился, но после такого 4х дневного гемороя это меньшая из бед! =) Как до меня эта штука дошла, я, честно говоря, до сих пор не представляю но, результат - всё отлично загружается =) Огромное спасибо всем, кто пытался мне помочь с этим вопросом =) Тема, я думаю, полездная т.к. судя по рунету далеко не я один сталкивался с подобными трудностями при переходе на SQL. Доброго всем воскресного вечера! =)
#65 by Dm81
Молодец, победил проблему!
#66 by Tedman
Большое спасибо =)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С