ошибка при запуске АА в режиме предприятия на Ubuntu+PostgreSQL

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
ошибка при запуске АА в режиме предприятия на Ubuntu+PostgreSQL
 
Добрый день!
Установили сервер Ubuntu 10.04, PostgreSQL 8.4, Hasp driver - инсталляции брал с users.v8.1c.ru и ftp Etersoft'a.
Все компоненты установились и запустились корректно.
Из под Windows создали кластер серверов.
Дальше пробовал на сервер с windows клиента создавать демо БД АА с диска или загружать свою текущую конфу из локального dt-файла в конфигурацию на сервере  - загружается нормально и в конфигураторе могу редактировать.
Однако при попытке запустить в режиме предприятия выдаёт следующую ошибку:
Цитата
{МодульСеанса(19)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика - '{ОбщийМодуль.спСправочники(845)}: Преобразование значения к типу Булево не может быть выполнено'
       Комп.Записать();
по причине:
Ошибка при выполнении обработчика - '{ОбщийМодуль.спСправочники(845)}: Преобразование значения к типу Булево не может быть выполнено'
по причине:
{ОбщийМодуль.спСправочники(845)}: Преобразование значения к типу Булево не может быть выполнено
       Комп.Записать();

Подскажите, пожалуйста, в чем может быть проблемы?
 
Дебаг под linux смог запустить установив в скрипте запуска (/etc/init.d/srv1cv81) SRV1CV8_DEBUG=1

Однако ошибки остались:
Пробовал отключить Комп.Записать();  тогда вылазит такая ошибка:
Цитата
{ПланВидовХарактеристик.ПраваИНастройки(132)}: Значение не является значением объектного типа (Типы)
ТипЗнач = ОписаниеТипов.Типы().Получить(0); // получим первый (и единственный) попавшийся из типов досупных для элемента

Неужели не пробовали конфигурацию АА запустить под Linux? или она в принципе под linux не запускается?
Изменено: Александр Тугаенко - 07.09.2010 13:40:37 (уточнение данных)
 
Основная ошибка возникает при обработке
Цитата
обПраво("Какое-то право",ЭтотОбъект.Права) - Преобразование значения к типу Булево не может быть выполнено.
Данная функция почему-то возвращает Неопределено, которое потом не может преобразоваться в Истина или Ложь в блоках Если. А т.к. проверок на значение Неопределено почти нету - то на каждом таком блоке - вылазит ошибка.
Ну не убирать же проверку прав из программы? Как быть то?
 
Комп.Записать();

попрежнему не работает? Разбирались почему справочник не записывается, может не работает функция ИмяКомпьютера() и наименование у справоника не заполнено.
 
по прежнему не работает.
после включения дебага на сервер и пробегания по коду - ошибка вылазит почти во всех местах где в блоке "Eсли... Тогда" используется функция обПраво("Какое-то право",ЭтотОбъект.Права) - вылазит ошибка "Преобразование значения к типу Булево не может быть выполнено", т.к. данная функция возвращает значение "Неопределено".
могу приложить скриншоты, если требуется.
 
строка Комп.Записать(); сейчас закомментирована?
Верните все наместо как было нужно найти основную причину, почему у вас не формируется справочник компьютер.
 
Цитата
Виктор Радько пишет:
строка Комп.Записать(); сейчас закомментирована?
Верните все наместо как было нужно найти основную причину, почему у вас не формируется справочник компьютер.
Вернул как было.
Основная причина - ф-я обПраво возвращает значение Неопределено и во всех конструкциях "Если ОбПраво" Тогда..." - вылазит ошибка невозможности проконвертировать Неопределено в Boolean.
 
Вот, теперь надо найти причину, почему обПраво() возвращает Неопределено так не должно быть, надо протрейсить эту функцию и найти место отказа.
 
Попробовал создать на сервере пустую конфигурацию, потом в неё подгрузить пустую конфу(cf-файл) АА из файла с локального компьютера - запустилось нормально.
А если пытаться на сервер помещать какую-то демку с данными(dt-файл) или рабочую конфигурацию с данными - ошибки.

Более детально:
спускаемся вниз по иерархии вызова функций:
-> Процедура УстановкаПараметровСеанса()
-> Комп.Записать();
-> Если НЕ спПередЗаписью
-> Если обПраво("ПроверкаДоступаКСправочникамИДокументам",ЭтотОбъект.Права) - тут ЭтотОбъект.Права=Неопределено
-> обПолучитьПраваИНастройкиПользователя(Пользователь, ПравоСсылка) - тут ЗначенияПрав=Неопределено - // Кэш прав не передан (вероятно мы на сервере), значит придется запрашивать данные из БД...
-> ПравоСсылка=обПолучитьСсылкуПВХПравИНастроек(Право) - тут Право=ПроверкаДоступаКСправочникамИДокументам
-> Попытка Возврат ПланыВидовХарактеристик.ПраваИНастройки[СокрЛП(Право)]; - !!! вот тут получаем <Объект не найден> (291:a5997cb9748f98aa4c771a645dbd0071)


    дальше поднимаемся обратно вверх по иерархии
<- ПравоСсылка = <Объект не найден> (291:a5997cb9748f98aa4c771a645dbd0071)[/B]
<- Результат = обПолучитьПраваИНастройкиПользователя(Пользователь, ПравоСсылка)  , т.е. Неопределено.
<- обПраво("ПроверкаДоступаКСправочникамИДокументам",ЭтотОбъект.Права)  , т.е. Неопределено.
<- Если обПраво("ПроверкаДоступаКСправочникамИДокументам",ЭтотОбъект.Права) - вылетает с ошибкой!!!


Похожее <Объект не найден> получаем в других функциях, если закомментировать Комп.Записать() и двигаться дальше по коду. Например, не может найти ссылку на Организацию, хотя нашло пользователя и подразделение...

В чем может быть проблема? в БД PostgreSQL? или в процедуре загрузки конфигурации из файла на сервер?
Изменено: Александр Тугаенко - 07.09.2010 16:10:38
 
При вызове обПолучитьПраваИНастройкиПользователя(Пользователь, ПравоСсылка, ОбъектДанных);

Чему равно значение параметра Пользователь и ПравоСсылка?
 
в функции "обПраво(Право, ЗначенияПрав=Неопределено, ВыводитьОшибки=Истина) Экспорт"  перед вызовом "обПолучитьПраваИНастройкиПользователя(Пользователь, ПравоСсылка)":
Пользователь = "Пользователь Администратор информационной базы СправочникСсылка.Пользователи"
ПравоСсылка = "<Объект не найден> (291:a5997cb9748f98aa4c771a645dbd0071)"

P.S. Ксати, тут видно, что у пользователя "Организация = <Объект не найден> (50:a625419b486d17464689038359f239a6)"... такое впечатление, что ссылки на объекты есть в БД, а самих объектов нету...
 
В самой функцие ПравоСсылка=обПолучитьСсылкуПВХПравИНастроек(Право)
мы получили ссылку на право?
 
нет, до неё было "Неопределено", а после неё - "<Объект не найден> (291:a5997cb9748f98aa4c771a645dbd0071)"
 
Это ясно, вопрос другой нужно получаемое значение внутри этой функции.

значение этих строк:
"ПланыВидовХарактеристик.ПраваИНастройки[СокрЛП(Право)]"
и
"ПланыВидовХарактеристик.ПраваИНастройки.НайтиПоНаименованию(СокрЛП(Право),Истина)"
 
-> Функция обПолучитьСсылкуПВХПравИНастроек(Право) Экспорт:
Пользователь = {(1,1)}: Переменная не определена (Пользователь)
Право = "ПроверкаДоступаКСправочникамИДокументам"

->Попытка Возврат ПланыВидовХарактеристик.ПраваИНастройки[СокрЛП(Право)];

возвращает - "<Объект не найден> (291:a5997cb9748f98aa4c771a645dbd0071)"
До функции ПланыВидовХарактеристик.ПраваИНастройки.НайтиПоНаименованию(СокрЛП(Право),Истина); - просто не доходит, а сразу происходит возврат из функции с этим значением.

внутрь залезть не могу, т.к. это не функция, я так понимаю, а свойство...

право "ПроверкаДоступаКСправочникамИДокументам" 10002 в предопределённых данных ПраваИНастройки имеется.
Изменено: Александр Тугаенко - 07.09.2010 17:46:51 (добавил картинку)
 
А какой у Вас релиз самой платформы 1С?
 
8.1.15.14 и на клиенте(32bit) и на сервере(64bit)
Ubuntu 10.04 ядро 2.6.32-24
PostgreSQL 8.4.4 - от EterSoft
 
А Вы уверены, что PostgreSQL 8.4.4 - от EterSoft с 1С будет нормально работать? Ведь для него еще нет патчей под 1С Здесь максимальная версия PostgreSQL 8.4.3
 
Цитата
Виктор Радько пишет:
А какой у Вас релиз самой платформы 1С?
Возможно можем попробовать другой подход для решения данной проблемы:
Напишите, пожалуйста, на какой конфигурации(название и версия) Linux+PostgreSQL тестировалась работоспособность АА в клиент-серверном режиме? - установим у себя такую же, если это будет гарантировать работу АА.

P.S. PostgreSQL от Etersoft - нет не уверен, поэтому спросил уже рабочую конфигурацию для АА :-)
Я попробую все поставить с http://users.v8.1c.ru, но всё-таки если есть возможность - напишите, пожалуйста, на чем тестировалось АА под Linux.
Изменено: Александр Тугаенко - 08.09.2010 10:17:24 (добавление ответа на предыдущий пост)
 
1. Релиз платформы 1С (8.1.15.14).
2. Конфигурация АА без разницы.
3. PostgreSQL 8.4.3-3.1C обязательно с сайта 1С.
4. Linux Ubuntu 10.04.

Работоспособность АА на Linux+PostgreSQL не тестировалась. Работоспособность АА тестировалась на MS SQL.
ПП не ориентируется, на какую-нибудь конкретную СУБД, связь с СУБД осуществляет сама платформа, а не программынй продукт т.к. не ПП интерпретирует язык 1С в язык запросов СУБД.
 
Пробовал ставить PostgrSQL с сайта 1С - там сборка в rpm - ставить Fedora или что-то подобное десктоповое не хочется, а заморачиваться с Centos или RHL тем более. Попытка перевести пакеты в deb c использованием alien удалась на половину - есть проблемы со скриптами. После установки надо доставлять/либо делать симлинки на старые версии библиотек(libssl.so.4,libcrypto.so...), которые эта радость почему-то требует, я так понимаю из-за некорректного перегона скриптов в deb-пакеты они не подтягиваются. Все конфиги и пути надо тоже прописывать в ручную - поковырялся не получилось. Рад бы поэксперементировать с CentOS, но время поджимает.

:idea: Поэтому всё-таки остановился на такой конфигурации:
Linux - Ubuntu 10.04 LTS server amd64 - поддержка 5 лет для сервера :)
PostgreSQL - 8.4.2 сборка Etersoft 64bit под Ubuntu 10.04 (8.4.4. - не работает :) проверил уже; 8.4.3 - нет сборки :( )
Платформа 1С - 8.1.15.14 - одинаковая и на клиенте и на сервере.
Hasp drivers - или Etersoft или напрямую с сайта Alladin - тут кто как заведет, у меня пошло на драйверах от Alladin - Но это отдельная история .

Протестировал - сервер стартует, создаёт и заливает БД, клиент-серверый вариант работает, АА стартует на ура! Правда, субъективно по сравнению с локальной машиной, трохи медленее открываются формы - но возможно потому, что на серваке нет raid. Трафик потребляется маленький, насколько я понял тут важна сама скорость сети - лучше гигабит... если будет работать группа народа...

P.S. Если Компания 1С соберёт PostgeSQL в deb-пакетах или опишет как rpm с сохранением корректности всех скриптов переконвертировать в deb - с удовольствием перейду на их сборку.
------------------------------------------------
Отдельное хочу сказать спасибо Виктору Радько за терпение, понимание, помощь!
 
Собрал Postgresql 9.0.1 из src.rpm с сайта 1c.ru, пробовал на opensuse 11.2 x86 импорт данных из альфы 8.1.15.14 (файловая), импортируется-работает. Проверили пару операций, отработали без ошибок - на этом и закончил тест. В продуктиве еще не пробовал. Делал этот тест на всякий случай, если после обновления альфы она по прежнему будет тормозить в файловой конфигурации и придется переносить в sql.

бинарники и src postgresql-a положил на http://www.onlinedisk.ru/file/628609/, может кому пригодятся.
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С