Добрый день! Прошу поделиться опытом относительно такого вопроса, в 1С ежедневно происходит изменение более 40К позиций номенклатуры, потом эти изменения выгружаются на сайт. Файл выгрузки весит около 100 МБ. Порой, на определенном этапе, обрывается чтение данного файла и номенклатура не обновляется на сайте. Подскажите возможные причины таких действий, а также свои варианты решения подобных задач. Возможно, кто-то реализует такую задачу с помощью веб-сервисов? Заранее благодарен!
Записать в Журнал событий обращение к закрытому разделу сайта
Добрый день! Можно ли реализовать такую задачу? Надо записать в Журнал событий обращение авторизированного пользователя к разделу, к которому у него нет доступа. Т.е., у меня есть раздел, например, /private/, для которого разрешен доступ на чтение только для одной группы. Если какой-нибудь пользователь (не учитывать неавторизованных) переходит в данный раздел, то у него выведет ошибку доступа, а мне же надо записать в журнал что такой-то пользователь обращался к данному разделу. Как добавлять новое событие в Журнал событий я знаю
Че-то я не могу понять, почему не срабатывает эта штука "IBLOCK_ID" => $arParams["IBLOCK_ID"], ведь при подключении компонента указывается "IBLOCK_ID" => "8". Не должно было вываливаться все подряд, а только все из инфоблока с ИД = 8. Такое впечатление, что там вообще $arFilterList = array();
Цитата
Yurant пишет: нет =/ выводится стандартный каталог без фильтрации...
Походу для GetList-а так и надо прописывать фильтр по PROPERTY, согласно .
Переменных $arFilter и $arFilterList по-идеи и не должно быть в индексном файле, поскольку оди обьявлены только в component.php. А что это за модуль CModule::IncludeModule("partnernet")?
Определение = Новый WSОпределения("http://ssit.com.ua/testservice/index.php?wsdl");
Прокси = Новый WSПрокси(Определение, "http://ssit.com.ua/", "bitrix.webservice.testservice", "CAddNewsWSSoap");
Прокси.Пользователь = СокрЛП("Пользователь")+"";
Прокси.Пароль = СокрЛП("Пароль");
ВходнойПараметрТип = Прокси.ФабрикаXDTO.Тип("http://ssit.com.ua/", "ArrayOfString");
ВходнойПараметр = Прокси.ФабрикаXDTO.Создать(ВходнойПараметрТип);
Для каждого Стр Из МойМассив Цикл
ВходнойПараметр.ArrayOfStringEl.Добавить(Стр);
КонецЦикла;
Ответ = Прокси.AddNews(ВходнойПараметр);
Осталась вторая проблема:
Цитата
2. Сам вэб-сервис создавал по , и заметил, что в файле component.php не работает прямой запрос к базе.
Даже не знаю. Как по мне, так удобнее было бы создать разделы, а не страницы для пунктов меню. Например, О компании - index.php Цели и задачи - /mission/ Политика качества - /politica/ ... Наши партнеры - /partners/ А дальше уже для каждого раздела размещать свое левое меню. Но это лично мое мнение...
Yurant пишет: тот в отличие от "листа" содержит больше параметров...
Ну почему же. У листа много параметров для фильтра:
Цитата
Yurant пишет: поскольку в листе иерархич-я структура, прописанный туда фильтр просто начнет выводить все ИБлоки, от юзеров до фотографий, авто, товаров, услуг... да и вообще все подряд.
Наложить правильный фильтр и все выведет нормально. А иерархия ведь уже строится в шаблоне компонента (template.php) по полю IBLOCK_SECTION_ID ()
Добрый день! Пытаюсь реализовать связку вэб-сервиса Битрикс с 1С-кой, но возникли некоторые трудности: 1. Не могу понять, как передавать на входной параметр массив. В Битриксе пишу так:
То есть, насколько я понял, так прописывается массив для параметра data (согласно ). В 1С пишу так:
Код
Определение = Новый WSОпределения("http://ssit.com.ua/testservice/index.php?wsdl");
Прокси = Новый WSПрокси(Определение, "http://ssit.com.ua/", "bitrix.webservice.testservice", "CAddNewsWSSoap");
Прокси.Пользователь = СокрЛП("Пользователь")+"";
Прокси.Пароль = СокрЛП("Пароль");
ВходнойПараметрТип = Прокси.ФабрикаXDTO.Тип("http://ssit.com.ua/", "AddNews");
СтрокаКонтекст = Прокси.ФабрикаXDTO.Создать(ВходнойПараметрТип);
В итоге, получается что у меня тип для data - неопределено Подскажите, может что не так пишу, тема для меня совсем новая... 2. Сам вэб-сервис создавал по , и заметил, что в файле component.php не работает прямой запрос к базе. Делаю так:
Скорее всего скопировалось первое меню. Посмотрите в разделе "О компании" (например, about или как он у вас называется) через Администрирование - Контент - Структура сайта - Файлы та папки - Ваш раздел "О компании" или там есть данное меню. Если это дубликат, тогда просто удалите его из данного раздела.
Как установить значения для параметра с типом "неопределено" не знаю. Может что-то не так делаю - укажите на ошибку! При попытке установить для data значение типа строка, получаю такое сообщение:
С выходным параметром разобрался, спасибо! А как модернизировать входной параметр, чтобы, например, передавать массив произвольного размера. Я наперед не знаю сколько эллементов будет в данном массиве. Написал так, но не знаю правильно ли, и какой структуры (в таком случае) будет массив на входе.
Добрый день! При реализации вэб-сервиса возник такой вопрос касательно типов данных входных и выходных параметров: С входными параметрамы более-менее понятно, там мне надо передать три строки, но было бы неплохо передать одним параметром в виде массива с трех элементов. На выходе же мне надо получить такую структуру:
Цитата
Пользователь 1: - Имя - Фамилия - Описание Пользователь 2: - Имя - Фамилия - Описание ... Пользователь N: - Имя - Фамилия - Описание
Подскажите, пожалуйста, как такое организовать на примере описания ннового метода с :
Ну с авторизацией можно немного подождать, а вот возникла другая проблема: Создавая вэб-сервис, смотрел пример описанный , но обращаюсь к нему из 1С. Сначала возникла проблема с ссылкой при попытке определения вэб-сервиса. Писал:
Код
Определение = Новый WSОпределения("http://ssit.com.ua/testservice/?wsdl");
Возникла ошибка разбора XML. Сменил на:
Код
Определение = Новый WSОпределения("http://ssit.com.ua/testservice/index.php?wsdl");
Все заработало, но при попытке создать WSПрокси
Код
Прокси = Новый WSПрокси(Определение, "http://ssit.com.ua/testservice/", "bitrix.webservice.testservice", "CMyserviceWSSoap");
получаю сообщение, что
Цитата
Сервис не найден. {}:bitrix.webservice.testservice
В чем может быть дело - ума не приложу. На блоге (ссылка выше) написано, что указывать адрес к странице с компонентом, так вроде и указал... Может кто сталкивался с такой задачей, прошу помощи!