Сухоруков Роман | Разработчик мобильных приложений | 1С-Рарус

«Расширение возможностей мобильной платформы в Android и IOS с использованием внешних компонент»

В настоящий момент мобильная платформа обладает возможностями, позволяющими решить широкий спектр задач. НО что если нам необходима более глубокая интеграция с окружением на устройстве? Например, получить данные из другого приложения, отреагировать на внешнее событие системы, выполнить какие-либо действия по запросу стороннего приложения. Все возможно. Поговорим о технологиях способных нам помочь в Android и IOS разработке. Рассмотрим, реализацию авторизации по протоколу OAuth2.0 с помощью браузера устройства, получая результат непосредственно в приложение. А также, ассоциацию нашего приложения с определенным типом файлов.

Выгрузка данных по организации через правила обмена

0. cbr900 151 13.10.11 10:07 Сейчас в теме
Делюсь опытом. Ниже представлен код, который необходимо добавить в секцию "Обработчики "Конвертация".
Данный метод можно использовать, когда необходимо выгрузить элементы справочников и регистров только по выбранной организации.
При этом в качестве объектов выгрузки следует выбрать документы и все объекты для которых есть поле "Организация" или владельцем является "Организация" будут выгружены.

Перейти к публикации

Комментарии
Сортировка: Древо
1. infosoft-v 13.10.11 10:07 Сейчас в теме
Здравствуйте.
Ваше сообщение направило меня искать решение в правильное русло, спасибо. У меня был задача перенести зарплату из Комплексной конфигурации в конфигурацию Зарплата и управление персоналом. Сразу скажу, вычленить только одну организацию не удалось. Трудоёмкость переноса превысила ценность того что перенесётся только одна организация, поэтому перенёс все три организации.
2. Stepan_1c 09.12.11 07:28 Сейчас в теме
Спасибо за статью. но нам пришлось немного дополнить её, чтобы не было ошибок. добавили Попытка-Исключение-КонецПопытки в каждом обработчике перед "Если...".
3. psih12 122 20.12.11 11:50 Сейчас в теме
(2) Stepan_1c, Перед каждым "Если" поставили?
4. psih12 122 20.12.11 12:41 Сейчас в теме
У меня всё равно выгружает данные по нескольким организациям(Предприятие 8.2, УТ 10.3).
5. НатальяАлекс 8 01.02.12 13:20 Сейчас в теме
Именно этим вопросом занималась. Прямо сейчас и попробую.
6. НатальяАлекс 8 01.02.12 14:27 Сейчас в теме
Спасибо. У меня все получилось.
7. psih12 122 21.02.12 08:33 Сейчас в теме
(6) НатальяАлекс, Как у тебя получилось? Что ты сделала?
8. НатальяАлекс 8 21.02.12 09:06 Сейчас в теме
По поводу справочников и регистров ничего сказать не могу. Меня интересовали только документы. С небольшими изменениями, но все чудесно работает.
9. psih12 122 21.02.12 13:42 Сейчас в теме
(8) НатальяАлекс, Меня тоже интересуют документы. Я всё сделал, как автор указывает. Вызываю свою настройку обмена и параметра "Организация" нигде нет. Где он должен появиться-в закладке "сопоставление объектов" ? И что за изменения ты сделала?
11. НатальяАлекс 8 22.02.12 09:00 Сейчас в теме
Параметр должен появиться на вкладке "Выгрузка" - закладка "Параметры".
Правила я использовала нетиповые, сама делала. Изменения сейчас посмотрю.
12. НатальяАлекс 8 22.02.12 09:04 Сейчас в теме
Нет, изменений нет. Все в точности, как описал автор. Спасибо ему еще раз. psih12 проверь еще раз все.
14. cbr900 151 16.03.12 05:33 Сейчас в теме
Уже и не помню почему закинул именно в "Перед конвертацией объекта" и "Перед выгрузкой объекта", видимо, какие-то объекты не выгружались полностью корректно.
15. rhtr 56 17.09.14 19:50 Сейчас в теме
Спасибо, но чуть переделал (явно указал организацию), может кому пригодится. А и в параметры в этом случаи не надо добавлять организацию.

//+ПередВыгрузкойОбъекта
МояОрг = Справочники.Организации.НайтиПоРеквизиту("ИНН","ТутИннОрганиазции").Ссылка;

Если Объект.Метаданные().Реквизиты.Найти("Организация") <> Неопределено Тогда

Если
//(Параметры.Организация <> Объект.Организация)
Объект.Организация <> МояОрг
Тогда

Отказ = Истина;

КонецЕсли;

КонецЕсли;


Если Объект.Метаданные().Реквизиты.Найти("Владелец") <> Неопределено Тогда

Если Объект.Владелец.Метаданные().Имя = "Организации" Тогда

Если //(Параметры.Организация <> Объект.Владелец)

Объект.Организация <> МояОрг

Тогда

Отказ = Истина;

КонецЕсли;

КонецЕсли;


ИначеЕсли Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект)) Тогда

Если Объект.Метаданные().Владельцы.Содержит(МояОрг.Метаданные()) Тогда

Если //Объект.Владелец <> Параметры.Организация
Объект.Организация <> МояОрг
Тогда

Отказ = Истина;

КонецЕсли;

КонецЕсли;


КонецЕсли;

//+ПередКонвертациейОбъекта

МояОрг = Справочники.Организации.НайтиПоРеквизиту("ИНН","ТутИННОрг").Ссылка;

Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Источник)) Тогда



Если Источник.Метаданные().Реквизиты.Найти("Организация") <> Неопределено Тогда

Если //(Параметры.Организация <> Источник.Организация)
Источник.Организация <> МояОрг

Тогда

Отказ = Истина;

КонецЕсли;

КонецЕсли;

Если Источник.Метаданные().Реквизиты.Найти("Владелец") <> Неопределено Тогда

Если Источник.Владелец.Метаданные().Имя = "Организации" Тогда

Если //(Параметры.Организация <> Источник.Владелец)
Источник.Владелец <> МояОрг

Тогда

Отказ = Истина;

КонецЕсли;

КонецЕсли;

ИначеЕсли Источник.Метаданные().Владельцы.Содержит(МояОрг.Метаданные()) Тогда

Если //Источник.Владелец <> Параметры.Организация
Источник.Владелец <> МояОрг

Тогда

Отказ = Истина;

КонецЕсли;



КонецЕсли;

КонецЕсли;
16. imagica 07.08.15 12:01 Сейчас в теме
17. kosko 11.10.15 16:54 Сейчас в теме
Автору спасибо, все отлично получилось. Кто не понял, то уже в настройках обмена нужно указать фильтр по организации
18. mm_84 27.01.16 13:55 Сейчас в теме
если выгрузка данных идет через произвольный набор, то эти отборы не работают, необходимо делать отборы в самих запросах, мне например при выгрузки данных из ЗУП 2.5 в ЗУП 3.0 где сплошь произвольные алгоритмы выборки переносимых данных, совсем не помогло. Хотя правила типовые. пришлось править запросы и алгоритмы, вставляя отборы.
19. bocharovki 6 22.02.16 08:42 Сейчас в теме
Немного не понятно зачем приведены разные алгоритмы в данных обработчиках. Я так понимаю отличие ведь должно быть только Объект - Источник?
И по второму ЕСЛИ. Разве Реквизиты.Найти("Владелец") не тоже самое что и Владельцы.Содержит?
20. musatov1c.ru 6 13.03.16 06:36 Сейчас в теме
Спасибо большое! Очень помогло! :)
21. cbr900 151 13.03.16 10:03 Сейчас в теме
Добрый день всем, кто задает вопросы!
Эта публикация была в 2010 году, тогда я еще программировал. Сейчас уже давно не программирую. Поэтому на вопросы по существу ответить не смогу.
Кому эта публикация помогла - супер!
22. Twirus 14.12.16 11:00 Сейчас в теме
Очень помогло! Спасибо автору.
23. tt33 15.03.17 13:56 Сейчас в теме
А если наоборот не нужно выгружать доки определьной организации
24. tt33 15.03.17 14:05 Сейчас в теме
Сам спросил сам ответил использовал вариант rhtr Иванов (rhtr) но вместо <> поставл =
25. wingnut 02.03.12 15:31 Сейчас в теме
Большое спасибо, как раз то что надо.

Вот только есть вопрос по оптимизации...
1. Вроде Обработчик "Перед конвертацией объекта" выполняется для вех объектов, как для выгружаемых напрямую, так и по ссылке. Зачем тогда отбор в обработчике "Перед выгрузкой объекта" ? Есть случаи, когда выгрузка есть, а конвертации нет?
Оставьте свое сообщение

Вакансии

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 80 000 руб. до 100 000 руб.
Полный день

Руководитель проектов по внедрению 1С документооборота
Санкт-Петербург
зарплата от 100 000 руб. до 130 000 руб.
Полный день

Руководитель по сопровождению и внедрению 1С
Санкт-Петербург
зарплата от 100 000 руб. до 120 000 руб.
Полный день

Программист 1С
Санкт-Петербург
Полный день

Ведущий специалист 1С
Москва
Полный день