понедельник, 25 августа 2014 г.

Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'



Добрый день. Сегодня наступил на интересные грабли:

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: param Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'


Подобная ошибка возникает при попытке передать с клиента на сервер таблицу значений, и это мне давно известно, однако я получил эту ошибку без явной передачи таблицы. Вот часть кода с которым произошла ошибка:

воскресенье, 17 августа 2014 г.

Установка 1С на ubuntu 10.04

Увеличиваем максимальный размер сегмента памяти до 1Гб. Для менее мощных машин устанавливают от 64Мб до половины объема ОЗУ (для теста выделим 1Gb):
# echo "kernel.shmmax=1073741824" >>/etc/sysctl.conf
# sysctl -p 

Генерируем русскую локаль и задаем переменную среды LANG, именно с ней будет работать скрипт инициализации базы данных.
# locale-gen en_US ru_RU ru_RU.UTF-8
# export LANG="ru_RU.UTF-8"

Устанавливаем необходимые зависимости:
# apt-get install imagemagick

Ставим все необходимые пакеты (1c берем с их офф.сайта):
dpkg -i 1c-enterprise83-common_8.3.4-476_amd64.deb
dpkg -i 1c-enterprise83-server_8.3.4-476_amd64.deb      
dpkg -i 1c-enterprise83-ws_8.3.4-476_amd64.deb
dpkg -i 1c-enterprise83-common-nls_8.3.4-476_amd64.deb 
dpkg -i 1c-enterprise83-server-nls_8.3.4-476_amd64.deb  
dpkg -i 1c-enterprise83-ws-nls_8.3.4-476_amd64.deb 


Заходим в консоль из windows и создаем новую базу


Устанавливаем apache
apt-get install apache2


Добавляем в httpd.conf необходимые данные о базе данных, с помощью скрипта webinst, входящего в состав пакета 1С сервера. Для этого переходим в каталог:

Консоль:
cd /opt/1C/v8.3/i386

Запускаем скрипт с необходимыми параметрами:

Консоль:
./webinst -apache22 -wsdir base -dir '/var/www/base' -connStr 'Srvr="1cserver";Ref="base";' -confPath /etc/apache2/httpd.conf


Где base - имя БД к которой настраиваем доступ, 1cserver - имя сервера на котором установлен 1С сервер.

Устанавливаем необходимые пакеты для работы(шрифты):

apt-get install ttf-mscorefonts-installer

воскресенье, 10 августа 2014 г.

Удаление 1С на сервере linux(Ubuntu)

Иногда возникают ситуации, когда необходимо удалить уже установленный пакет 1С.
Для того что-бы посмотреть уже установенные пакеты от 1С необходимо выполнить команду:

dpkg -l | grep 1c-enterprise

Соответственно для удаление пакета необходимо воспользоваться командой :

dpkg -r  <имя пакета>

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

Если вы хотите удалить сервер 1С вместе с конфигурационными файлами, Вам необходимо будет воспользоваться командой(пример для 8.3)

dpkg --purge 1c-enterprise83-server