суббота, 21 сентября 2013 г.

1С:Предприятие 8. Веб-сервисы. Фасеты как способ ограничить значения данных


Содержание статей: 1С:Предприятие 8. Веб-сервисы
Предыдущая статья: 1С:Предприятие 8. Веб-сервисы. Возвращаем массив

Фасеты - это определенные ограничения на тип значений XDTO. Один фасет определяет тип ограничения и значение ограничения. Например [Максимум включающий - 5]. Тип значения XDTO может хранить в себе несколько фасетов, но их типы должны быть уникальны, то есть нельзя указать два фасета   [Максимум включающий - 5] и [Максимум включающий - 3].

В данной статье хочу показать как можно при помощи фасетов сделать проверку входных и как сделать параметр ws-операции составного типа.

пятница, 13 сентября 2013 г.

Поздравляю всех 1С программистов с праздником!

Уважаемые коллеги, примите мои поздравления с днем программиста!


Всем желаю успехов, отсутствия багов, стойких серверов, понятливых руководителей и приятных клиентов!

вторник, 6 августа 2013 г.

Программный переход к разделу 1С с открытием формы в главном окне

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

Сначала я сделал простое открытие формы, которая располагалась в другом разделе и указывал что открывать надо в текущем окне. Примерно так:

        ОткрытьФорму("ОбщаяФорма.Форма2", , , , Окно);

Но в таком случае смена раздела не происходит. Что бы сменить раздел можно воспользоваться функцией ПерейтиПоНавигационнойСсылке() и написать примерно так:

        ПерейтиПоНавигационнойСсылке("e1cib/navigationpoint/Подсистема2");
    ОткрытьФорму("ОбщаяФорма.Форма2", , , , Окно);

Но форма откроется уже в отдельном окне, а это не есть гут. Надо указать, что окно стоит открывать в главном окне. В итоге код получился таким:

        &НаКлиенте
    Процедура ПерейтиНаФорму2(Команда)
        ПерейтиПоНавигационнойСсылке("e1cib/navigationpoint/Подсистема2");
        ОткрытьФорму("ОбщаяФорма.Форма2", , , , ПолучитьОкна()[0]);
    КонецПроцедуры

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

1С:Предприятие 8. Веб-сервисы. Ошибки веб-сервисов и их причины


Содержание статей: 1С:Предприятие 8. Веб-сервисы
Предыдущая статья: 1С:Предприятие 8. Веб-сервисы. Возвращаем массив


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

1
Это сообщение об ошибке при подключении к веб сервису из PHP.
[31-Mar-2013 05:32:02 UTC] PHP Fatal error:  SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://test.ru/test/ws/WebServices?wsdl' : failed to load external entity

Данное сообщение говорит лишь о недоступности веб-сервера, на котором опубликована база. В этом случае попробуйте вручную вызвать http://test.ru/test/ws/WebServices?wsdl и убедиться, что WSDL формируется. Если не формируется, значит либо веб-сервер выключен, либо база опубликована по другому адресу или порту, либо блокирует фаервол. Могут быть и другие причины.


пятница, 31 мая 2013 г.

Местное время в отчетах СКД

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

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

вторник, 22 января 2013 г.

Обработка Дерево Решений

Я много раз читал книгу "Профессиональная разработка с системе 1С:Предприятие 8" и каждый раз просматривая содержание я останавливался на главе "Использование механизма анализа данных и прогнозирования" и думал: когда же мне это понадобится?)
И тут недавно ко мне обратились с просьбой помочь по курсовой - выполнить анализ с помощью 1С. 
Поискал в интернете и что то не нашел подобных обработок. Написал сам и решил выложить - вдруг кому нибудь пригодится.

После запуска обработки на первой вкладке загрузите исходные данные. Исходные данные должны быть в формате CSV. Пример приложен в архиве. На второй вкладке вы можете менять параметры, но изначально они установлены по умолчанию. И на третьей вкладке вы можете получить анализ.

Обработка ДеревоРешений и пример исходных данных

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