Как изменить правила регистрации объектов 1с

1с правила регистрации объектов как настроить Пример. Настроена типовая синхронизация данных между "Управление торговлей 11.2" и "Бухгалтерия предприятия

Содержание

  1. 1с правила регистрации объектов как настроить
  2. Механизмы интеграции
  3. Синхронизация данных
  4. Расширение плана обмена
  5. Добавление плана обмена
  6. Веб-сервисы
  7. Веб-сервис Files
  8. Веб-сервис DMService
  9. Библиотека интеграции 1С:Документооборота

1с правила регистрации объектов как настроить

Пример. Настроена типовая синхронизация данных между «Управление торговлей 11.2» и «Бухгалтерия предприятия 3.0». Требуется запретить выгрузку из «Управление торговлей» документов «Авансовый отчёт».

Для выполнения задачи нам нужно настроить правила регистрации объектов. Мы запретим регистрацию документов с типом «Авансовый отчёт», и они не будут выгружаться в «Бухгалтерия предприятия».

Для настройки правил регистрации нам в первую очередь нужно выгрузить типовые правила из нашей программы «Управление торговлей». Соответствующая кнопка «Выгрузить правила регистрации объектов» находится на вкладке «Синхронизация». После выгрузки правил мы открываем конфигурацию «1С: Конвертация данных 2.0» и загружаем правила регистрации в неё.

Приступаем к настройке правил.

В списке правил видим строку «Авансовый отчёт». На этой строке правой кнопкой мыши вызываем контекстное меню и выбираем пункт «Изменить». Откроется форма настройки правила регистрации для документа «Авансовый отчёт». Открываем вкладку «Обработчики событий».

Нас интересует событие «Перед обработкой». В поле этого события мы добавим такую строчку:

Сохраняем правила в файл. Затем загружаем файл в программу «Управление торговлей». Делается это на вкладке «Синхронизация».

Теперь документы «Авансовый отчёт» не будут регистрироваться к выгрузке.

Источник

Механизмы интеграции

Синхронизация данных

Конфигурация «1С:Документооборот» редакции КОРП содержит несколько встроенных планов обмена с другими типовыми конфигурациями на платформе «1С:Предприятие».

Редакции ПРОФ и ДГУ не содержат таких планов обмена. Тем не менее, все редакции поддерживают обмен данными с помощью встроенной обработки УниверсальныйОбменДаннымиXML , использующей внешние правила обмена, загружаемые из файла. Собственные планы обмена можно добавить в любую из редакций.

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

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

Встроенные планы обмена используют подсистему Обмен данными «Библиотеки стандартных подсистем» (далее БСП) редакции 2. Это значит, что в составе каждого плана обмена есть макет с правилами регистрации, а также макеты правил обмена и правил обмена конфигурации-корреспондента:

  • Правила регистрации используются в «1С:Документообороте» для определения необходимости регистрации записываемого объекта к выгрузке в конфигурацию-корреспондент.
    • Типовые правила регистрации тривиальны (содержат только перечень регистрируемых объектов без дополнительных условий).
    • Автоматическая регистрация изменений в планах обмена выключена, для регистрации используется стандартная механика БСП, анализирующая изменения в выгружаемых полях перед регистрацией.
  • Правила обмена используются для выгрузки данных из «1С:Документооборота» в конфигурацию-корреспондент.
  • Правила обмена корреспондента используются в «1С:Документообороте» только в части кода обработчиков, выполняемых на стороне «1С:Документооборота» после загрузки.

При необходимости комплект правил может быть загружен из файла. Как правило, это делают:

  • после обновления конфигурации-корреспондента. В этом случае свежий комплект правил находится в составе дистрибутива обновления, в папке «Синхронизация данных»;
  • во время отладки правил обмена, разрабатываемых на основе типовых правил, если они требуют доработки на конкретном внедрении.

После отладки доработанных правил обмена рекомендуется включить их в состав конфигурации, сняв с поддержки макеты, чтобы:

  • получить возможность сравнивать доработанные правила с типовыми при обновлении конфигурации;
  • избежать проблем, связанных с проверкой правил при обновлении информационной базы после изменения структуры метаданных.

Обратите внимание:
Правила, загруженные из файла и переставшие соответствовать новой структуре метаданных, не дадут довести до конца штатное обновление информационной базы.

Правила обмена разрабатываются с помощью конфигурации «Конвертация данных» редакции 2.1. Конфигурация бесплатна и доступна по линии ИТС. Рекомендуется использовать типовые правила как основу для разработки, сохранив их в файлы и загрузив в информационную базу «Конвертации данных».

«1С:Документооборот» не поддерживает обмен данными в формате EnterpriseData. Соответственно, для разработки правил обмена не следует использовать конфигурацию «Конвертация данных» редакции 3.

Расширение плана обмена

При включении новых объектов в существующий план обмена следует:

  1. Включить эти объекты в состав плана обмена, запретив автоматическую регистрацию изменений.
  2. Включить эти объекты в состав источников соответствующих подписок на события.
    • Для регистров подписка будет называться ОбменДанными ПередЗаписьюРегистра . Возможно, в обработчик подписки потребуется внести дополнительные условия, если он не рассчитан на появление нового регистра.
    • Для ссылочных объектов будет две подписки: ОбменДанными ПередЗаписьюРегистра и ОбменДанными ПередУдалением . Как правило, обработчики этих событий не нуждаются в доработке, поскольку передают управление стандартным процедурам БСП.
    • Если регистрация не требует дополнительных условий, больше ничего делать не нужно. Если нужно регистрировать документы при изменении их состояния, например, выгружая только согласованные документы, следует внести доработки в модуль набора записей регистра сведений ТекущиеСостоянияДокументов по аналогии с уже имеющимся там кодом для обмена с конфигурациями «1С:Бухгалтерия предприятия» и «1С:Управление холдингом». В последнем случае следует внести проверку на состояние также и в обработчик ПередВыгрузкой правила выгрузки данных с тем, чтобы избежать выгрузки документов, чье состояние изменилось уже после регистрации в плане обмена, либо предусмотреть передачу пометки на удаление в конфигурацию-корреспондент.
  3. С помощью конфигурации «Конвертация данных» создать для этих объектов соответствующие правила выгрузки данных и правила конвертации объектов.

Загрузить измененные правила из файлов и после отладки подменить ими типовые макеты.

Добавление плана обмена

При разработке собственных планов обмена следует:

  1. Создать новый план обмена на стороне обеих конфигураций. Имя плана обмена должно быть одинаковым в обеих конфигурациях. Состав обязательных процедур модуля менеджера плана обмена приведен в документации к подсистеме Обмен данными «Библиотеки стандартных подсистем» соответствующей версии.
  2. Включить в состав планов обмена объекты, участвующие в обмене, а также регистр сведений СоответствиеОбъектовИнформационныхБаз , запретив авторегистрацию изменений. Использование собственного механизма регистрации БСП позволит избежать выгрузки объектов, изменившихся только в части не участвующих в обмене реквизитов.
  3. Создать подписки на события, аналогичные описанным выше, и обработчики для них. Лучше создать для этого отдельный общий модуль, не снимая с поддержки общий модуль ОбменДаннымиСобытияДокументооборот .
  4. Включить новый план обмена в тип параметра общих команд подсистемы Обмен данными . Проще всего найти нужные команды, выполнив в Конфигураторе поиск ссылок на типовой план обмена.
  5. Включить новый план обмена в код процедуры ПолучитьПланыОбмена общего модуля ОбменДаннымиПереопределяемый .
  6. При необходимости создать формы настройки плана обмена (см. документацию к «Библиотеке стандартных подсистем», а также примеры в планах обмена с конфигурациями «1С:Бухгалтерия» предприятия и «1С:Управление производственным предприятием»).
  7. Сохранить описания обновленных конфигураций в файлы с помощью обработки MD8 Exp.epf , входящей в состав дистрибутива конфигурации «Конвертация данных».
  8. Загрузить описания конфигураций в информационную базу «Конвертации данных».
  9. Разработать два набора правил обмена и два набора правил регистрации для каждой из сторон обмена.
  10. Добавить оба набора правил обмена и по одному набору правил регистрации в каждую конфигурацию в качестве макетов плана обмена.
  11. Настроить синхронизацию данных и отладить ее.

Обратите внимание:
Правила обмена, зачитанные из макетов в составе конфигурации, кэшируются в регистре сведений ПравилаДляОбменаДанными . При отладке рекомендуется использовать загрузку правил обмена из файла. Для обновления правил из макета следует изменить номер версии конфигурации или выполнить загрузку вручную по команде Загрузить правила… , выбрав вариант Из конфигурации .

Веб-сервисы

Типовая конфигурация «1С:Документооборот» содержит набор веб-сервисов.

Некоторые из них специализированы и служат, например, для обмена с мобильными устройствами или для синхронизации данных с другими информационными базами, разработанными с применением «Библиотеки стандартных подсистем».

Два веб-сервиса, однако, предназначены для интеграции с произвольными внешними программами, как разработанными на платформе «1С:Предприятие», так и любыми другими, способными обращаться к веб-сервисам. Речь идет о веб-сервисах:

  • Files – простой сервис, поддерживающий работу с файлами и папками «1С:Документооборота» извне.
  • DMService – поддерживает работу с основными объектами и функциями «1С:Документооборота». Перекрывает функционал веб-сервиса Files . Используется «Библиотекой интеграции 1С:Документооборота».

Данные веб-сервисы включены во все редакции «1С:Документооборота».

Работа с веб-сервисами из прикладных решений на платформе «1С:Предприятие», как правило, строится следующим образом:

  1. Определяется способ хранения и редактирования настроек подключения к веб-сервису. Настройки состоят из:
    • Адреса веб-сервиса;
    • Имени пользователя и пароля (в текущих версиях платформы поддерживается только аутентификация «1С:Предприятия», поэтому следует либо предоставить пользователям интегрируемого прикладного решения возможность ввести имя пользователя и пароль, либо использовать для доступа служебную учетную запись, для которой запрещен интерактивный вход);
    • Таймаута при обращении к сервису (при низком качестве соединения, а также при первом обращении к сервису задержки могут быть значительными).
  2. Определяется способ получения WSПрокси для обращения к веб-сервису. Операции создания WSОпределений и WSПрокси достаточно затратны, поэтому рекомендуется выносить получение реквизитов, в отдельный общий модуль с повторно возвращаемыми значениями.
  3. Создаются процедуры и функции, являющиеся обертками для функционала веб-сервиса на стороне прикладного решения. Непосредственную работу с объектами XDTO рекомендуется инкапсулировать в них, чтобы облегчить доработки при изменении функционала сервиса.

Примеры использования веб-сервисов можно увидеть в «Библиотеке интеграции 1С:Документооборота», поставляемой в составе дистрибутива «1С:Документооборота».

Веб-сервис Files

Веб-сервис использует всего четыре типа объектов:

  • File – файл в папке.
  • Folder – папка файлов.
  • ShortFileInfo – сведения о файле, возвращаемые сервисом после его создания.
  • FileList – список файлов, отобранных по условиям.
  • GetFileList – получает список файлов в указанной папке.
  • GetFile – получает файл по указанному коду файла.
  • AddFile – добавляет файл в указанную папку.
  • DeleteFile – помечает файл на удаление.
  • FindFolder – находит папку по наименованию в указанной родительской папке.
  • AddFolder – создает новую папку в указанной родительской папке.

Все действия, выполняемые этим веб-сервисом, можно выполнить с помощью веб-сервиса DMService. Работа с файлами документов поддерживается только DMService.

Веб-сервис DMService

Сервис использует XDTO-пакет DM. Пакет содержит несколько десятков прикладных объектов, являющихся представлениями таких объектов «1С:Документооборота», как файлы, документы, процессы, задачи и так далее. Все они — потомки абстрактного DMObject и имеют общие свойства objectId и externalObject .

Свойство objectId представляет собой ссылку на объект «1С:Документооборота» и содержит его представление, идентификатор и тип.

Свойство externalObject представляет собой ссылку на объект интегрируемой программы и так же содержит его представление, идентификатор и тип. Свойство заполняется сервисом автоматически, если объект «1С:Документооборота» был ранее связан с объектом интегрируемой конфигурации, например, при создании или записи с заполненным свойством externalObject .

Сервис поддерживает всего одну операцию, execute . В качестве параметра передается объект-потомок DMRequest . Требуемая операция и ее параметры определяются типом переданного объекта и его свойствами. Например, запрос DMGetObjectListRequest получает список объектов типа, указанного в свойстве type по условиям, указанным в свойстве query .

Результат операции возвращается в объекте-потомке DMResponse . В простейших случаях это объект DMOK . В случае ошибки возвращается DMError , содержащий краткое ( subject ) и полное ( description ) описание ошибки.

Для большинства запросов существуют парные им объекты-ответы, содержащие результат выполненной операции. Например, список объектов, полученный вызовом DMGetObjectListRequest , возвращается в объекте DMGetObjectListResponse .

Приведем простейший пример работы с веб-сервисом на встроенном языке платформы «1С:Предприятие». Начнем с получения определений и прокси веб-сервиса (подразумевается, что адрес публикации, имя пользователя и пароль уже получены):

Cоздадим запрос на получение списка внутренних документов:

Определим условие запроса (поиск по наименованию):

Выполним запрос, проверив результат на предмет ошибки:

Разберем ответ, заполнив таблицу названиями и идентификаторами найденных документов:

Подробное описание объектов и операций сервиса дается в составе дистрибутива «1С:Документооборота» (файл «Описание веб-сервисов.html» в каталоге шаблонов). Это описание доступно также из интерфейса демонстрационной конфигурации «Библиотека интеграции с 1С:Документооборотом», которая содержит также более сложные и полезные примеры использования сервиса.

При выпуске новых версий «1С:Документооборота» сервис расширяется и дополняется новыми объектами и свойствами так, чтобы не затронуть работу клиентских приложений, не знающих об этих изменениях. Этого же принципа следует придерживаться при самостоятельном изменении функционала сервиса: например, добавляя новые свойства, устанавливать минимальное количество в 0.

Обработка запросов к сервису сосредоточена в общих модулях:

  • ОбработкаЗапросовXDTO – общий вход для всех вызовов
  • ОбработкаЗапросовXDTOБизнесПроцессыИЗадачи
  • ОбработкаЗапросовXDTOДокументы
  • ОбработкаЗапросовXDTOФайлы

Присутствуют только в редакции КОРП:

  • ОбработкаЗапросовXDTOКорп
  • ОбработкаЗапросовXDTOОбмен
  • ОбработкаЗапросовXDTOПочта
  • ОбработкаЗапросовXDTOУчетВремени

Перед использованием сервиса следует получать его версию и редакцию запросом DMGetVersionRequest и не пользоваться возможностями, которые не поддерживает сервис. Попытка использовать отсутствующие возможности, например, попытка создать исходящее письмо в редакции ПРОФ, приведет к ошибке (возврату DMError ).

Доработки рекомендуется вносить в модуль ОбработкаЗапросовXDTO Переопределяемый . Его процедуры и функции позволяют провести дополнительное изменение объектов XDTO при их создании по объектам «1С:Документооборота» и наоборот.

Библиотека интеграции 1С:Документооборота

«Библиотека интеграции 1С:Документооборота» (далее БИД) не является самостоятельным прикладным решением, хотя и содержит некоторые демонстрационные объекты, и предназначена для встраивания в прикладные решения на платформе «1С:Предприятие».

БИД может использоваться с любыми версиями «1С:Документооборота», начиная с редакции 1.2.

БИД публикуется в составе дистрибутива «1С:Документооборота» и предназначена для работы с «Библиотекой стандартных подсистем» версии, последней на момент публикации. Однако адаптация БИД к конфигурациям, содержащим более ранние версии БСП, не составляет большого труда, поскольку БИД использует функционал БСП в небольшом объеме.

Более подробное описание «Библиотеки интеграции 1С:Документооборота» и порядка ее встраивания содержится в документации, поставляемой в составе дистрибутива (папка DocDMIL ).

Источник

Оптимизация    оглавление    Особенности правил регистрации объектов

Автор учебника: Фирма «1С»

В процессе обмена данными в общем случае участвуют не все объекты информационной базы, а только некоторое подмножество — объекты, которые были изменены с момента последнего обмена данными. Это становится возможным благодаря работе службе регистрации изменений. Очень часто требуется поддержать такой сценарий работы обмена данными, при котором объекты мигрируют не по всем информационным базам, участвующим в обмене, а только по выбранным. Для этого следует выполнить настройку ограничения миграции данных.
Для декларативного описания ограничений миграции данных используются Правила регистрации объектов. В правилах регистрации объектов интерактивно задаются условия фильтрации данных на узлах планов обмена. Примером ограничений могут служить ограничения по организациям, складам и пр.
Правила регистрации создаются только для заданной конфигурации и одного плана обмена. Правила регистрации подразделяются на две категории: 

  • ПРОБ — правила регистрации по свойствам объекта
  • ПРОП — правила регистрации по свойствам плана обмена

В момент регистрации объекта эти правила выполняются последовательно, сначала выполняются ПРОБ, затем ПРОП. Если объект не проходит отбор, установленный ПРОБ, то ПРОП не выполняются и регистрация объекта к выгрузке не происходит.
ПРОБ описывают сопоставление реквизитов объекта с произвольными значениями.
ПРОП описывают сопоставление реквизитов плана обмена с реквизитами объекта и сопоставление реквизитов плана обмена со значениями констант примитивных типов*. По сути, эти правила и определяют множество узлов плана обмена, на котором будет выполнена регистрация объекта для выгрузки, или, говоря иначе, список информационных баз, в которые будет мигрировать объект.

Поддерживаются три способа настройки ограничения миграции данных или три типа элементов отбора:

  • сопоставление свойств объекта с произвольными значениями 
  • сопоставление свойств объекта со свойствами плана обмена
  • сопоставление свойств плана обмена с константами примитивных типов*

Для настройки правил регистрации в качестве свойств плана обмена могут быть использованы реквизиты шапки и реквизиты табличных частей плана обмена. Для настройки правил регистрации в качестве свойств объекта могут быть использованы только реквизиты шапки объекта.
Для свойств плана обмена и свойств объекта поддерживается разыменование ссылочных полей, т.е. возможно получение вложенных свойств, например, ДокументОснование.Контрагент.ИНН.

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

Правила регистрации объектов

 На рисунке представлено правило регистрации документа «Авансовый отчет». В правиле регистрации имеет место сопоставление свойств документа со свойствами плана обмена. Свойства шапки документа Дата и Организация сопоставляются со свойством шапки плана обмена ДатаНачалаВыгрузкиДокументов и свойством Организация табличной части Организации плана обмена. Документ будет зарегистрирован на узле плана обмена, только если дата документа больше или равна дате, указанной в узле, и организация документа входит в подмножество организаций, указанных в табличной части узла при установленном отборе по организациям в узле (ИспользоватьОтборПоОрганизациям = Истина). Если отбор по организациям в узле не установлен (ИспользоватьОтборПоОрганизациям = Ложь), то будет использовано только ограничение по дате документа.

На закладке «Отбор по свойствам плана обмена» настраиваются ПРОП, а на закладке «Отбор по свойствам объекта» настраиваются ПРОБ.

* В качестве примитивных типов используются следующие типы: Дата, Число, Строка, Булево.

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Владимир Милькин

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Оптимизация    оглавление    Особенности правил регистрации объектов

В этой статье Вы узнаете как создавать и настраивать план обмена с регистрацией обмена по настраиваемым правилам. Официальные источники замалчивают вопросы этой тематики (на текущий момент времени), скорее всего это связано с доработками исходных кодов…

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

Для использования этого механизма необходимо в конфигурации наличия определенных объектов, которые доступны в наборе типовых объектов конфигурации – Обмен Данными.

И так, прежде всего вам необходимо настроить и создать правила регистрации объектов (ПРО), сделать это наиболее удобно в конфигурации «Конвертация». Более подробная и детальная схема по созданию ПРО описана в разделе справки.

Первый шаг. Создадим план обмена. Назовем его «Обмен с внешней базой», можно использовать типовой.

Создадим в нем два реквизита: Организация (Справочник.Организации) и ГраничнаяДата (Дата и время).

В регистрации свойств установим регистрацию документа и регистра сведений «Сопоставление Объектов Информационных Баз», если планируется использовать механизм «Универсального обмена данными XML».

Дополнительно в модуле плана обмена добавим функции необходимые для идентификации плана обмена — Функция ВерсияОбменаДанными() Экспорт и другие, есть в примерах.

Второй шаг. Остановимся на правилах регистрации для объекта: Документ «Реализация Товаров и Услуг».

Правила регистрации объектов для документа «Реализация товаров и услуг»

Правила регистрации объектов для документа «Реализация товаров и услуг»

Рис. 1 Правила регистрации объектов для документа «Реализация товаров и услуг»

Т.к. мы создали в плане обмена два реквизита для фильтрации объектов, то в ПРО укажим эти условия сравнения. Для фильтра «Организации» установим равенство организации указанной в узле обмена и источника документа на равенство. А для фильтра «Граничная дата» сравним дату документа с датой из узла (больше и равно). Если требуются более сложные правила, то Вы всегда можете использовать обработчики событий. К примеру, если требуется проверить условия по вхождению контрагента по «неким правилам» используйте свой код проверки, результатом должно быть значение флага Отказ (Отказ=Истина – не прошел, Отказ=Ложь – все ок).

Выгружаем и сохраняем ПРО.

Шаг третий. После, того как мы сохранили правила нам нужно связать его с соответствующим планом обмена. Эти функции выполняет регистр сведений «Правила для обмена данными», либо через мастер настроек.

Добавление данных в регистр сведений «Правила обмена данными»

Добавление данных в регистр сведений «Правила обмена данными»

Рис. 2 Добавление данных в регистр сведений «Правила обмена данными»

Выбираем план обмена из загружаем ПРО из типовых (список макетов) или из файла на диске. После этой операции наш план обмена будет связан с этими правилами.

Шаг четвертый. Если вы создаете свой план, тогда необходимо добавить еще подписку на событие. Для этого создадим объект с именем «Обмен данными с внешними базами», укажем событие при записи и тип источника «Документ Реализация Товаров и Услуг» (можно использовать составной), и создадим процедуру в которую необходимо вставить следующий код:

Процедура ОбменДаннымиСВнешнимиБазамиПриЗаписи(Источник, Отказ) Экспорт
// проверка для регистрации объекта
ОбменДаннымиСобытия.МеханизмРегистрацииОбъектовПередЗаписью(«ОбменСБухгалтерией», Источник, Отказ);
КонецПроцедуры

Заключение. Все, теперь выбранные объекты данных будут регистрироваться в зависимости от необходимых произвольных условий. Если вы используете типовую конфигурацию – Бухгалтерию, УТ, УПП или др., то Вам всего, лишь необходимо создать ПРО и связать их с типовым планом обмена.

Работа с правилами регистрации объектов и другие настройки Конвертации данных

Изучите теорию модуля № 4:

  • Глава 7. Настройка регистрации объектов в on-line обмене
  • Глава 8. Прочие настройки конвертации

Выполните практическое задание:

  • Домашнее задание № 4.19.1

Отчеты по домашним заданиям размещайте по ссылкам, указанным выше. Отчеты, опубликованные на этой странице, удаляются без предупреждения.

К сожалению, у Вас недостаточно прав для дальнейшего просмотра.

Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.

Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.

Если Вы залогинены, у Вас активирован токен доступа, но Вы все равно видите эту запись — напишите нам на e-mail поддержки.

Комментарии / обсуждение (147):

  1. droplet

    Вопрос по режимам выгрузки.
    “Если у справочников переключатель режима в положение “Выгружать при необходимости”, тогда эти справочники будут выгружаться полностью, но только в том случае, если они первый раз встретились по ссылкам из других выгружаемых объектов. В дальнейшем эти объекты не будут выгружаться по ссылкам целиком (выгрузится только ссылка)…”
    1. Такое поведение будет только в том случае, если в ПКО справочников стоит поиск по УИД? а если его нет, то такой справочник не попадет в РС.СоответствиеОбъектовИБ и будет всегда выгружаться целиком , а не только ссылка?
    2. Если в ПРО выбран режим ВыгружатьПоНеобходимости и определены условия – они будут работать совместно? т.е. проверяется соответствие режиму выгрузки + соответствие правилам регистрации?

    • AlexeyDubrovin


      (текст комментария доступен только участникам Мастер-группы)

      • droplet

        AlexeyDubrovin сказал: “1) Даже если поиск по уникальному идентификатору отключен, то он все-равно запишется в регистр, соответственно, после успешного обмена, выгружаться будет только ссылка….”
        Какие-то противоречивые сведения.
        Или в одном из уроков или в ответах преподавателей (не помню точно в каком месте) было сказано следующее:
        ” Объект записывается в регистр «Соответствия объектов», только если флаг поиска по идентификатору в ПКО установлен. Если он снят, и поиск идет только по полям, то уникальный идентификатор этого объекта не переносится совсем. ”
        Все-таки какое утверждение верное?

        • AlexeyDubrovin


          (текст комментария доступен только участникам Мастер-группы)

          • droplet

            Провела такой эксперимент: Обмен УТ(11.1.10.145) и БП (3.0.39).
            версия БСП 2.2.5. Внесла изменения в существующие ПКО для номенклатуры, убрала поиск по УИД, оставила только по полям поиска.
            Т.к. ранее производился обмен, то РС.СоответствиеОбъектовИБ был заполнен, поэтому , для эксперимента, на стороне бухгалтерии удалила одну запись для эл-та номенклатуры. Далее на стороне УТ зарегистрировала этот элемент к обмену.Сразу оговорюсь, что на стороне УТ удалять такую же запись регистра соответствия сразу нельзя, т.к. режим выгрузки справочников = ПоНеобходимости и поэтому невозможно будет зарегистрировать этот элемент к обмену (см. процедуру ОбменДаннымиСобытия.ПолучитьМассивУзловДляРегистрацииВыгружатьПриНеобходимости)
            В результате в файле обмена в узле Ссылка были только поля поиска и не было УИД и после обмена на стороне бухгалтерии новая запись в регистре соответствий не появилась

            • AlexeyDubrovin


              (текст комментария доступен только участникам Мастер-группы)

              • droplet

                Я не утверждала, что всегда объект будет выгружаться полностью, а спрашивала :) Попробую посмотреть еще раз.

  2. droplet

    Хотелось бы еще раз остановиться на особенности выгрузки УдалениеОбъекта в ситуации, когда на момент выгрузки объект перестал отвечать фильтру по свойствам закладки Основное.
    Вот ситуации такого рода на примере ДЗ:
    Вариант1. у узла взведен флаг НеВыгружатьПомеченныеНаУдаление, объект зарегистрирован на узле и потом помечается на удаление
    Вариант2. Объект зарегистрирован и потом очищено “Основное свойство”
    В обработчике ПРО ПриОбработке прописала код:

        МассивУзлов = ВсеУзлыПланаОбмена(«ОбменКонечнаяУТ11»);
        Для каждого Узел из МассивУзлов Цикл
            Если Объект.ПометкаУдаления И Узел.НеВыгружатьУдаленные и ПланыОбмена.ИзменениеЗарегистрировано(Узел, Объект) Тогда
                ПланыОбмена.УдалитьРегистрациюИзменений(Узел,Объект);
            КонецЕсли;
            Если Объект.ОсновноеСвойство = Справочники.СвойстваНоменклатуры.ПустаяСсылка() И ПланыОбмена.ИзменениеЗарегистрировано(Узел, Объект) Тогда
                ПланыОбмена.УдалитьРегистрациюИзменений(Узел,Объект);
            КонецЕсли;
        Конеццикла

    Код отрабатывает, но регистрация объекта удаляется только для варианта1, а вот для варианта 2 – нет.
    Причем в отладчике до выполнения обработчика выражение
    ПланыОбмена.ИзменениеЗарегистрировано( ВсеУзлыПланаОбмена(“ОбменКонечнаяУТ11”)[0], Объект) показывает что объект зарегистрирован на узле, а после выполнения – нет, НО в итоге регистрация остается…Я так и не докопалась до причины. Подскажите в чем тут дело?

    Варинт 3. Регистрируем объект – очищаем Основное свойство (регистрация почему то остается) – Помечаем на удаление (регистрация все равно остается, т.к. до обработчика дело не доходит, потому что объект не проходит фильтр ПРО по свойствам, и если выгрузить сейчас , то выгружается УдалениеОбъекта), – опять возвращаем Основное свойство не снимая пометку удаления – регистрация объекта удаляется (отрабатывает обработчик ПриОбработке)

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • droplet

        В обработчике ПриОбработке (доп.) есть код Отказ = Истина и он не влияет на выгрузку УдалениеОбъекта., т.к. объект регистрируется первоначально в момент когда удовлетворяет правилам, а вот потом, когда изменения объекта уже не удовлетворяют правилам ( а он к этому времени был зарегистрирован) то выгружается УдалениеОбъекта.
        Код обработчика ПРО ПриОбработке (см.выше)по идее должен удалять регистрацию таких объектов, но он почему то срабатывает только для одной ситуации: пометки на удаление зарегистрированного ранее объекта. А вот если очистить Основное свойство уже зарегистрированного к выгрузке объекта, то этот код не срабатывает, регистрация не удаляется и выгружается Удаление объекта.

      • droplet

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

  3. droplet

    Ни в одном видео не упоминается о сценариях обмена данными. Хотелось бы узнать как их использовать

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  4. droplet

    Если в ПРО описать условия на вкладке Основное и в обработчике “Перед Обработкой” определить ТекстЗапроса, то условия на вкладке Основное будут проигнорированы и условия будут определяться запросом из обработчика?

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • droplet

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

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

  5. Юрий

    Здравствуйте!
    Возможно ли задание 4.19.1 решить полностью не используя вкладку “Основное”, к примеру в обработчике “ПередОбработкой”? Возможно ли всегда использовать в ПРО только обработку в обработчиках и будет ли это правильно с точки зрения оптимальности?

    • AlexeyDubrovin


      (текст комментария доступен только участникам Мастер-группы)

      • Юрий

  6. leobrn

    Здравствуйте! В регистрацию не попадает документ (авторегистрация отключена) при изменениях в табличной части. В документе в ТЧ есть реквизит заявка и из нее заполняются остальные поля в ТЧ (количество например). Когда пользователь заходит в этот документ из ТЧ документа и меняет там количество то объект не встает на регистрацию хотя количество из заявки поменялось. В таком случае надо ставить авторегистрацию или как можно указать, что при таких изменениях нужно ставить на регистрацию?

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • leobrn

        Убрал галку “Использовать фильтр выборочной регистрации” и документ зарегистрировался. Но я так понимаю, что правильнее сделать Значение = Неопределено; в пкс?

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  7. leobrn

    Здравствуйте! Есть правила регистрации для документа. В настройке узла есть ТЧ Участки и реквизит ДатаНачалаВыгрузки. Встала задача сделать датуНачалаВыгркузи для каждого участка, то есть надо В ТЧ Участки добавить колонку ДатаНачалаВыгрузки.

    Сейчас правило выглядят так:

    ПРО.СвойстваОбъекта = Новый Структура;
    ПРО.СвойстваОбъекта.Вставить(«ДатаПредполагаемойДоставки», «ДатаПредполагаемойДоставки»);
    ПРО.СвойстваОбъекта.Вставить(«Участок», «Участок»);
    ПРО.СвойстваОбъектаСтрокой = «ДатаПредполагаемойДоставки, Участок»;

    ПРО.ТекстЗапроса = «
    |ВЫБРАТЬ РАЗЛИЧНЫЕ
    | ПланОбменаОсновнаяТаблица.Ссылка КАК Ссылка
    |ИЗ
    | ПланОбмена.ОбменАбонентУПП КАК ПланОбменаОсновнаяТаблица
    |ГДЕ
    | ((ПланОбменаОсновнаяТаблица.ДатаНачалаВыгрузкиДокументов <= &СвойствоОбъекта_ДатаПредполагаемойДоставки)
    | И (НЕ ПланОбменаОсновнаяТаблица.ИспользоватьОтборПоУчасткам ИЛИ ПланОбменаОсновнаяТаблица.Участки.Участок = &СвойствоОбъекта_Участок))
    | [ОбязательныеУсловия]
    |»;

    получается, что будет так? :

    ПРО.СвойстваОбъекта = Новый Структура;
    ПРО.СвойстваОбъекта.Вставить(«ДатаПредполагаемойДоставки», «ДатаПредполагаемойДоставки»);
    ПРО.СвойстваОбъекта.Вставить(«Участок», «Участок»);
    ПРО.СвойстваОбъектаСтрокой = «ДатаПредполагаемойДоставки, Участок»;

    ПРО.ТекстЗапроса = «
    |ВЫБРАТЬ РАЗЛИЧНЫЕ
    | ПланОбменаОсновнаяТаблица.Ссылка КАК Ссылка
    |ИЗ
    | ПланОбмена.ОбменАбонентУПП КАК ПланОбменаОсновнаяТаблица
    |ГДЕ
    | ((НЕ ПланОбменаОсновнаяТаблица.ИспользоватьОтборПоУчасткам ИЛИ (ПланОбменаОсновнаяТаблица.Участки.Участок = &СвойствоОбъекта_Участок и ПланОбменаОсновнаяТаблица.Участки.ДатаНачалаВыгрузкиДокументов <= &СвойствоОбъекта_ДатаПредполагаемойДоставки)))
    | [ОбязательныеУсловия]
    |»;

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  8. Дмитрий

    Добрый день, возник вопрос. В обработке КонвертацияОбъектовИнформационныхБаз подсистемы “Обмены данными”
    есть программный код

    Если (ПКОСвойств <> Неопределено)
                Или (Не ПустаяСтрока(ИмяПКО)) Тогда

               
                Если ВыгрузитьТолькоСсылку Тогда

                   
                    Если ВыгружатьОбъектПоСсылке(Значение, УзелДляОбмена) Тогда

                       
                        Если Не ОбъектПроходитФильтрРазрешенныхОбъектов(Значение) Тогда

                           
                            // выставляем признак того, что объект должен быть выгружен полностью
                            ВыгрузитьТолькоСсылку = Ложь;

                           
                            // добавляем запись в регистр сопоставления
                            СтруктураЗаписи = Новый Структура;
                            СтруктураЗаписи.Вставить(«УзелИнформационнойБазы», УзелДляОбмена);
                            СтруктураЗаписи.Вставить(«УникальныйИдентификаторИсточника», Значение);
                            СтруктураЗаписи.Вставить(«ОбъектВыгруженПоСсылке», Истина);

                           
                            РегистрыСведений.СоответствияОбъектовИнформационныхБаз.ДобавитьЗапись(СтруктураЗаписи, Истина);

                           
                            // добавляем объект в массив выгруженных по ссылке объектов
                            // для последующей регистрации объектов на текущем узле
                            // и для присвоения номера текущего отправленного сообщения обмена
                            ВыгруженныеПоСсылкеОбъектыДобавитьЗначение(Значение);

                           
                        КонецЕсли;

                       
                    КонецЕсли;

                   
                КонецЕсли;

    так вот функция ОбъектПроходитФильтрРазрешенныхОбъектов проверяет наличие записей в РС “Соответствия объектов информационных баз”. И Если если его там нет то выгружает объект целиком. Мне необходимо чтобы объект всегда выгружался по ссылке целиком. (честно говоря прописывать в каждой строке ПКС “ВыгрузитьОбъект = Истина” или “ВыгрузитьТолькоСсылку=Ложь” по моему довольно дико). Если какой либо способ чтобы всегда допустим все справочники выгружались по сслыке из документа. Сейчас у меня есть два плана обмена, у них определен состав участников, сделаны ПКО и ПРО, настроен собственно сам обмен. Но из за такой части программного кода свойства по ссылкам выгружаются не всегда. То есть справочники сами по себе не должны приходить и уходить из ИБ в ИБ все только по ссылкам. И сразу хочу уточнить, я правильно понял что регистр “СоответствияОбъектовИнформационныхБаз” выгружается/загружается автоматически? Возникла ситуация, что в Источнике при выгрузке он заполняется (см. программный код выше), а в приемнике нет ( по этим объектам). Может ли это быть из за того что поиск по UUID по ним снят и стоит только по полям поиска

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  9. zvivla

    Здравствуйте. Можно ли использовать сложный запрос для определения необходимости регистрации объекта. Например, у меня есть справочник Договоры. Чтобы определить регистрировать его или нет мне нужно посмотреть характеристикиЗначений в регистре сведений. и это получается нужно делать уже после того как объект записался

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • zvivla

        ну вот например новый договор записываю. Характеристики ведь еще не записались в регистр сведений. А нужных реквизитов в самом договоре нет. Их нужно брать из регистра. Как в таком случае быть?

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

          • zvivla

  10. Андрей

    добрый день!

    вопрос по итогам курса. вот мы разработали правила обмена внедрили бсп в свою конфигурацию, теперь можем конфигурацию продавать. Какие есть способы защиты конфигурации от нелегального распространения? то что бсп предлагает модуль проверки получения легальности обновления – это просто вопрос на который можно ответить да и спокойно пользоваться дальше. Что нибудь можете посоветовать по своей практике?

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  11. Nikolay

    Здравствуйте!

    Просьба помочь разобраться во взаимодействии ПОД и ПРО. В каком порядке данные правила начинают свою работу?
    Сформулирую задачу на конкретном жизненном примере:
    Необходимо настроить синхронизацию УПП и УТ (типовые) справочника Номенклатура, только группа Материалы. Изначальный источник УПП.УТ пустая.
    on-line обмен на базе БСП

    1. Где настраивать правила отбора “Ссылка.Родитель В ИЕРАРХИИ “Материалы”?
    1.1 Если ПРО, то только запросом в обработчике? В основном окне ПРО нет возможности настраивать подобные виды сравнения?
    1.2 в ПКО номенклатуры настроить фильтрацию и отказываться от переноса “не нужной” номенклатуры.

    2. В каком порядке отрабатывают ПРО и ПОД? При первой выгрузке считается, что все элементы зарегистрированы или только соответствующие правилам ПРО?
    Если мы очистили приемник (УТ) после нескольких итераций синхронизации. Как сказать в УПП, что нам повторно нужно перенести “как в первый раз”?

    Правильно ли я понимаю, что ПРО дает изначальную выборку данных, а далее, при синхронизации начинают отрабатывать ПОД? То есть мы в ПОД можем накладывать дополнительные условия и фильтры?
    Например:
    Отработали ПРО. К выгрузке 2 номенклатуры Стол и Стул
    В ПКО Номенклатуры перед обработкой написано (условно):
    Если Источник.Наименование = “Стол” Тогда Отказ = Истина КонецЕсли;
    То перенесется только Стул?

    Заранее благодарен за консультацию!

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • Nikolay

        Ольга, спасибо Вам за развернутый ответ

  12. mulradik

    Здравствуйте!
    Ольга, подскажите, пожалуйста в чём может быть проблема?
    При решении финального задания использую обмен УТ10.3 – БП 3.0. Настроил правила конвертации, применил, однако на стороне БП ни один из обработчиков, касаемых загрузки, не выполняется.
    Я уже искал обработки типа “ОбработчикиЗагрузки” и т.п., их там нет. Загружал правила конвертации корреспондента, но всё равно он не выполняются.

  13. Прохоров Николай

    Здравствуйте!
    У меня вопрос по отключению режима совместимости. Настраивал обмен, как показано в видеоуроке 1C-ConvData-Module4-Chapter08-Lesson02.ufm с БП 8.3.7.1845. Несколько раз перезагружал правила. Попробовал выполнить аналогичную настройку в обратном направлении. Но обработчики загрузки срабатывают из правил конвертации, а не из обработок. Далее проанализировал код процедуры Обработки.КонвертацияОбъектовИнформационныхБаз.ИнициализироватьОбработки() в БП и исходной (БСП 2.1). В БП не обращений к функциям менеджера плана обмена ИмяОбработкиВыгрузки(), ИмяОбработкиЗагрузки(). Пришел к выводу, что БП режим совместимости используется всегда, в место этого нужно использовать ПравилаОбменаКорреспондента. Это так?

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  14. Леонид

    Здравствуйте!

    При решении задачи возникает следующая ситуация: когда в имеющейся номенклатуре уже заполнено основное свойство, и пользователь очищает это свойство, после чего записывает объект, то данный объект почему-то регистрируется к выгрузке. В чем причина и можно ли это как-то победить, учитывая, что в обработчике “При обработке (доп.)” я написал “Отказ = Истина”.

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  15. mars505

    Прошу прощения за вопрос не по теме. Помогите, плз.
    Проблема с отладчиком. Проблема возникла с отладкой подключенной внешней
    печатной формой в БП 3.0. Точка останова в

    ОбщийМодуль.ДополнительныеОтчетыИОбработки
    процедура ПечатьПоВнешнемуИсточнику
    строка ВнешняяОбработкаОбъект.Печать(…

    отладчик уходит “в никуда” и оттуда же возращается, как джин из бутылки.
    Что происходит? и как решить? Может кто сталкивался…
    платформа 8.3.6.2152

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  16. qwed

    В настройка правил регистраций не увидел возможность настраивать ПРО для констант. Конечно константы меняются очень редко, но все есть возможность кроме как подписками или разрешением авторегистрации для констант, повлиять на необходимость выгрузки константы. Весело конечно будет, если раз и сменилась валюта регламентированого учета(пришла по обмену))))), но все же, это я не нашел, или нет механизма настройки ПРО для констант))?

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • qwed

        • mulradik

          СМените аватар. Неадекватно.

  17. mel9

    Добрый день!

    Настройка узла «Не выгружать помеченные на удаление» установлена.

    В ПРО обработчик “При обработке (доп)” написал “Отказ = Истина”;
    1. При пометке на удаление элемента справочника регистрации не происходит.
    2. Но при отмене пометки на удаление регистрация происходит.
    3. И затем опять при пометке на удаление объект в регистрации помечается на удаление и при выгрузке в УТ эта номенклатура удаляется.

    Вопрос: как в п. 3 сделать так, что бы после пометки на удаление объекта регистрации не происходило?

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • mel9

        Здравствуйте!
        Спасибо за ответ.

        Да, Вы правильно поняли.
        1. Проверить установку пометки удаления можно так:
        Объект.ПометкаУдаления;
        2. Проверить, зарегистрирован ли объект на узле:
        ПланыОбмена.ИзменениеЗарегистрировано(Узел,Объект);
        3. Удалить регистрацию:
        ПланыОбмена.УдалитьРегистрациюИзменений(Узел,Объект);

        Подскажите, пожалуйста, как в ПРО в обработчике “При обработке” обратиться к узлу получателю?

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

          • mel9

            Здравствуйте!
            Да, могу. ПланыОбмена.МойПланОбмена.НайтиПоКоду(“МойКод”).
            Спасибо)

  18. Дмитрий

    Добрый день.
    В уроке для указания настроек и отборов была создана ФормаНастройкиУзла. В решении же домашнего задания такая форма не создается.
    Опытным путем узнал, что ФормаНастройкиУзла используется лишь один раз, при создании настройки обмена (гиперссылка “изменить правила выгрузки данных”). А потом используется уже ФормаУзла. На мой взгляд очень нерационально создавать дублирующие друг друга по функционал формы.

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  19. ruvik07

    Добрый вечер!
    У меня возникла проблема при выполнении данного ДЗ.
    Текст запроса ПРО перед обработкой отрабатывает в консоли запросов, по отладчику все тоже правильно, но при попытке выполнить запрос валится на ошибке , не задан Параметр “ЭтоГруппа”, хотя параметр установлен.
    В чем может быть проблема?
    В приложенном файле высылаю скрин (во 2м файле)

    • ruvik07

      Добрый вечер, еще раз – удалось побороть ошибку подправлен типовой код в процедуре ОбменДаннымиСобытия.МассивУзловПоЗначениямСвойств:
      ….
      // Задаем значения параметров запроса из свойств объекта.
      Для Каждого Элемент Из ЗначенияСвойств Цикл

      ///Запрос.УстановитьПараметр(“СвойствоОбъекта_” + Элемент.Ключ, Элемент.Значение);
      Запрос.УстановитьПараметр(Элемент.Ключ, Элемент.Значение);
      КонецЦикла;

      Попытка

      МассивУзловРезультат = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку(“Ссылка”);

      • Ольга Кузнецова


        (текст комментария доступен только участникам Мастер-группы)

  20. CTmuB

    Можно указать одно и то же ПРО для разных объектов?
    Например одно ПРО для документов “Поступление”,”Реализация”,”Перемещение” (допустим с отбором по складу или для всех документов с отбором по дате)

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • CTmuB

        Здравствуйте
        Спасибо
        Сделал в модуле объекта плана обмена проверку. Для моей задачи и так сойдёт. :-)

        P.S. Ремонт начинался в стиле “хай-тэк” закончился в стиле “хай так”

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

          • CTmuB

            Ну ввиду столь частого обновления версий БСП сложности в любом случае будут, поэтому одна проверка в модуле объекта плана обмена особой роли не сыграет :-(

  21. CTmuB

    ДЗ выполнил но с одной оговоркой
    Наблюдается такая проблемма: если есть объект который по всем правилам должен выгружаться, выгружается и всё вроде хорошо.
    – После синхронизации данных делаем пометку на удаление
    – Срабатывает подписка на событие “Перед записью” (объект ещё не записан) правила регистрации его пропускают и в файл обмена попадает информация о том что объект удалён (см. вложение)
    – Ну в базе приемнике конечно же он физически удаляется
    – Учитывая то что в базе источнике он остался (хоть и помеченный на удаление) не по фэншую как-то
    :-(
    Вариантов решения проблеммы конечно можно много придумать
    Хотелось бы услышать/прочитать/увидеть Ваш вариант

    P.S. Из ответа преподавателя на третий вопрос на этой странице
    “2.Проверяется, соответствует ли объект или его ссылка условиям, описанным на закладке Основное. Если ни объект, ни ссылка не соответствуют, регистрация не выполняется.”
    Ссылка не соответствует, а объект то соответствует…

    • CTmuB

      Вопрос такой : почему при пометке на удаление передаются данные о том что объект удалён и происходит физическое удаление в базе приёмнике? Ведь объект не “удалён” а “помечен на удаление”

      • Ольга Кузнецова


        (текст комментария доступен только участникам Мастер-группы)

        • CTmuB

          Спасибо, именно оно
          “Если объект зарегистрирован на узле плана обмена, но при этом правилам регистрации он не соответствует, то выгружается, действительно, удаление объекта. Другой вопрос, что добиться этой ситуации довольно сложно”
          Оказалось что добиться такой ситуации просто :-)

          • Ольга Кузнецова


            (текст комментария доступен только участникам Мастер-группы)

            • CTmuB

              Ну я код не анализировал но судя по ответам
              ” соответствие элемента условиям, прописанным в правилах регистрации проверяется дважды: сначала для только что измененного объекта (там пометка удаления Истина), а потом для ссылки на этот объект в базе данных (там пометка удаления Ложь, поскольку объект еще не записан)”

              получается что при пометке на удаление ранее не помеченного на удаление объекта происходит регистрация в узле плана обмена

              “Если объект зарегистрирован на узле плана обмена, но при этом правилам регистрации он не соответствует, то выгружается, действительно, удаление объекта”

              Ну собственно объект зарегистрирован, но правилам регистрации не соответствует

              • Ольга Кузнецова


                (текст комментария доступен только участникам Мастер-группы)

  22. alest

    Здравствуйте

    Если создавать ПКГС с пустым источником, то при загрузке таких правил в УТ11 ругается на отсутствующий реквизит _шапки_! Там в коде стоит
    Если ПустаяСтрока(СтрокаТаблицы.ИмяТабличнойЧасти) Тогда // реквизиты шапки.

    Как правильно обходить такую проблему? Способа ведь вмешаться в процесс определения списка реквизитов, по которым будет определяться необходимость регистрации нет? (например, в данном случае исключить конкретный ПКГС)

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • alest

        В каком именно обработчике и какую переменную переопределять?

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

  23. Бертыш Андрей

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

    • CTmuB

      Похоже в модуле менеджера плана обмена указано имя формы (выгрузки/загрузки/настройки …) которой нет в текущей базе.

  24. alest

    Здравствуйте

    Поясните/поправьте/уточните, пожалуйста
    0. ПРО обрабатывается при записи/удалении объекта и в момент выгрузки

    1. ПередОбработкой
    а. получает список реквизитов и достает их из объекта
    б. подготавливаем запрос к плану обмена

    2. ПриОбработке
    3. Выполняется запрос, подготовленный ПередОбработкой. На выходе- массив узлов
    4. список реквизитов получается из ссылки (можно отключить переменной ПроверятьСсылку)
    5. ПриОбработкеДоп
    6. запрос к плану обмена выполняется еще раз
    7. полученный массив узлов добавляется к полученному в п.3
    8. ПослеОбработки

    А при выгрузке события как обрабатываются?

    Тема ПРО, по-моему, очень слабо освещена.
    Приходится сидеть в отладчике и смотреть, как это все работает. Как будто в курсе вообще этой темы нет ((
    Пока не нашел, как вместо пометки получается УдалениеОбъекта (уже задал этот вопрос)

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  25. alest

    Здравствуйте

    Подгрузил ПРО в конечной базе, помечаю номенклатуру на удаление – регистрируется не изменение пометки на удаление, а УдалениеОбъекта, т.е. при загрузке в УТ она там удаляется.
    В чем может быть причина, как этим поведением можно управлять?

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • alest

        Здравствуйте, Ольга

        Спасибо, что откликнулись )
        Базу выслал.

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

  26. IvanchenkoEfim

    Здравствуйте!
    ДЗ сделал, но не получается выяснить – как в РеквизитыРегистрации включить поле справочника Номенклатура “ОсновноеСвойство” = чтобы при его изменении Номенклатура регистрировалась к обмену – вопрос = “Как это сделать” ?
    Сейчас у меня реквизиты регистрации = “Код, Наименование, ПометкаУдаления, Родитель, ЭтоГруппа”.
    Скриш шот отладчика – прикрепляю.

    Разобрался, хоть и в целом удивлен и интересно узнать есть ли обход данных ограничений. Суть в том – что “РеквизитыРегистрации” – берутся не из ПРО, а из состава полей, определенных в ПКО !!! У меня “Основное свойство” не участвует в составе ПКО “Номенклатура”.
    То есть ситуация, когда регистрировать объект или нет – решается не на уровне ПРО, а на уровне состава полей ПКО! Фактически, получается, что я устанавливаю признак – который является командой для миграции и данные должны мигрировать, логично, что данный признак “не важен и не нужен” в базе приемнике – но изменение не будет зарегистрировано – так как это “поле-команда” не передается…

    Вопрос: как можно зарегистрировать объект, если “поле-тригер” не входит в состав ПКО?

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  27. MooM

    Добрый день. Была следующая проблема, побороть которую смог только откатом. Был создан план обмена и уже была выгрузка в узлы. После этого была сделана форма “ФормаНастройкиУзла”, в нее помещены реквизиты, обработчики и поставлена точка останова, но при вызове настройки уже существующего обмена открывалась форма с точно такими же реквизитами, но это была явно не моя форма. Причем функциональная часть, связанная с изменением доступности различных реквизитов от значений других не переносилась. При создании нового обмена в этой же конфигурации открывалась моя форма. Можете пояснить взаимосвязь этих механизмов?

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • MooM

        Настройки доступны из формы просто как перенесенные реквизиты без переноса функционала.
        Объясню. Была форма с реквизитом который делает доступным таблицу, в которую помещаются обязательные к выгрузке элементы. В помощнике именно эта форма и вызывается.
        При уже настроенном плане обмена при нажатии “Настроить правила синхронизации данных” открывается форма узла обмена и там есть реквизиты, но к ним не “прикручены” обработчики. Т.е. Флаг на реквизите никак не влияет на доступность таблицы и т.д. То есть программный код из формы не был задействован. Непонятна каким образом связаны отображаемые параметры на узле и механизмы которые мы описывали в форме.

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

  28. dimonix6

    В правилах обмена в обработчике конвертации “Перед загрузкой данных” использовали параметр УзелОбменаЗагрузкаДанных, а если обработчики находятся в специальной обработки загрузки, при отключеном режиме совместимости, то там в обработчиках такого параметра нет. Есть переменная модуля УзелДляОбмена, но в ней значение Неопределено. Можно ли как-нибудь узнать узел обмена?

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  29. Nicfest

    Добрый день! Еще есть такой вопрос: почему мы прописывали код в модуле менеджера Плана обмена, а в более ранних версиях программы такой код писался в модуле объекта. и в более почему ранних версиях типовых конфигураций нет макетов с правилами обмена(под более ранними понимается например УПП 1.3.21.1).
    И еще вопрос возможно ли будет настроить обмен по описанным в курсе шагам с такой конфигурацией, ведь там по идее уже присутствует БСП
    Но вот например смотрел в конфигурации нет такого регистра как “СоответствияОбъектовИнформационныхБаз” есть только “СоответствиеОбъектовДляОбмена”, но я так понимаю это не одно и тоже.

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • Nicfest

        Добрый день! Т.е. получается чтобы настроить обмен с такой базой и иметь возможность настраивать соответствие объектов информационных баз, в такую базу необходимо интегрировать БСП как это описано в курсе или с типовыми конфигурациями так не получиться?

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

          • Nicfest

            Спасибо будем пробовать)))!!!

  30. Nicfest

    Добрый день! Подскажите, для чего необходимо в ФормеНастройкиУзла обязательно создавать реквизит “НастройкаОтборовНаУзле”.
    И второй вопрос что за параметр “ВерсияКорреспондента” версия БСП 2.1.8.4, он присутствует практически во всех процедурах, скопированных из БСП

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • Станислав Бобков

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

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

  31. Klukva

    Добрый день. Подскажите пожалуйста как вернуться к типовым правилам конвертации объектов? В УТ 11 поставил правила из файла, нужно вернуться к стандартным, в настройках синхронизации ставлю переключатель на типовые, обновляю регистр сведений ПравилаДляОбменаДанными, перезапускаю базу, а правила все равно из файла.

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • Klukva

  32. ivixne

    Добрый день!
    Где можно получить финальное задание?

    • Татьяна Гужавина

  33. zels

    Вопрос про регистр сведений “Соответствия объектов информационных баз”. Он хранит соответствия для всех объектов и всех узлов? А если объектов десятки тысяч и сотни узлов…

    Я смотрю, там полно записей где УИДы одинаковы и с точки зрения синхронизации смысла в этом нет. Но есть другой смысл: база Х знает, что объект в базе Y точно есть и можно передать реквизит-ссылку без всей дополнительной информации.

    Пусть базы А и Б договорились, что объект А1 – это то же, что объект Б1, они прописали связь в свои регистры соответствия.
    1. Можно при обмене баз А и Б с новой базой С автоматически сделать так, чтобы в С не возникло дублей? Или сначала надо перенести А1 в С, а затем при переносе Б1 в С вручную связать Б1 с перенесенным ранее А1?
    2. Вариант, когда при переносе в С оказывается, что А1 нужно поставить в соответствие С1. Поставили, но как быть с соответствием Б1-С1?

    Мне кажется, регистры соответствия решают задачу сопоставления для точка-точка, а не глобальную… Или я не прав и дела обстоят лучше, чем мне кажется?

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  34. western

    Здравствуйте.
    Насколько я понял, все нынешние обмены движутся в сторону построения на технологии как в БСП, то есть свойство Авторегистрация в плане обмена в конфигурации запрещается, а все регистрации объектов производятся в соответствующих модулях.
    Но вот вопрос, если требуется наладить некоторый простой обмен. Без использования сложных правил регистрации, то есть вполне подойдёт разрешение авторегистрации в самой платформе. Можно ли этим пользоваться? Ведь меньше кода – меньше вероятных ошибок, проще в поддержке, и соответственно надежнее программа, не так ли?

    Как в таком случае правильнее поступать (в частности, с этим свойством авторегистрации)? Или рекомендуется нынче вообще все-все любые обмены строить по методикам как в БСП?..

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  35. Дмитрий Башкиров

    Добрый день. возникла проблема с дз. Когда в обработчике ПРО Перед обработкой пишу что-нибудь вида Отказ = Объект.ПометкаУдаления; все работает корректно.
    как только делаю с ПРО
    ПРО.ТекстЗапроса = “ВЫБРАТЬ РАЗЛИЧНЫЕ
    | ПланОбмена.Ссылка КАК Ссылка
    |ИЗ
    | ПланОбмена.ОбменКонечнаяУТ11 КАК ПланОбмена
    |ГДЕ

    |(ПланОбмена.НеВыгружатьПомеченныеНаУдаление = ЛОЖЬ)

    выдает ошибку при сохранении номенклатуры невозможно записать
    и в журнале регистрации пишет : {ОбщийМодуль.ОбменДаннымиСобытия.Модуль(96)}: Для состава плана обмена ОбменКонечнаяУТ11 не указана регистрация объекта Справочник.Номенклатура
    ВызватьИсключение СтрокаСообщения;
    Не могу понять в чем тут дело.

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  36. zels

    Иду по шагам синхронно с Евгением в видео 4-07
    от МеханизмРегистрацииОбъектов 12:48
    до ВыполнитьОбработчикПРОПередОбработкой 14:20

    Но у меня в ПКО.ПередОбработкой в тексте запроса [ОбязательныеУсловия] не заменились и по шагам не видно, когда должна произойти замена.

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • zels

        У меня вызывается процедура “ОпределитьПолучателейПоУсловию” (до нее все точно так же), в самом начале у нее вызов
        “ВыполнитьОбработчикПРОПередОбработкой”, при выполнении которого ошибка (тут [ОбязательныеУсловия] еще не замены)

        до “ВыполнитьПравилаРегистрацииОбъектаДляСсылочногоТипа”
        программа не доходит

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

          • zels

            До этого кода дело не доходит. Отладчиком я дохожу до команды ВыполнитьОбработчикПРОПередОбработкой и вижу, что в коде обработчика текст “[ОбязательныеУсловия]”. А он должен быть заменен где-то раньше в процедуре МассивУзловПоЗначениямСвойств, а где именно вызывается эта процедура (причем до “ВыполнитьОбработчикПРОПередОбработкой”) я не найду.

            Естественно, вызов обработчика с “кривым” текстом завершается ошибкой…

            • Ольга Кузнецова


              (текст комментария доступен только участникам Мастер-группы)

  37. zels

    Для управления регистрацией создал подписчик, с процедурой:
    Процедура ОбменИсходнаяБухгалтерия3ЗарегистрироватьИзменениеПередЗаписью(Источник, Отказ) Экспорт
    ОбменДаннымиСобытия.МеханизмРегистрацииОбъектовПередЗаписью(“ОбменИсходнаяБухгалтерия3”, Источник, Отказ);
    КонецПроцедуры

    Параметр “Отказ” в вызове МеханизмРегистрацииОбъектовПередЗаписью как я понимаю означает отказ от регистрации изменения объекта.

    Но получается, что этот же параметр в обработчике события означает “отказ от записи объекта” и если я создаю нового контрагента, который без ИНН, то программа его не записывает и выдает соответствующее сообщение.

    =======================================================

    Если параметр “Отказ” в вызове МеханизмРегистрацииОбъектовПередЗаписью означает отказ от записи, то это ТАКАЯ ЗАСАДА.

    Большая система, сотни узлов.. Подключаем новый узел, пишем для него ПРО, интегрируем с БСП и бац-в результате ошибок/сбоев процедур регистрации блокируется запись объекта в центральном узле…

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • zels

        Хорошо, зачем тогда МеханизмРегистрацииОбъектовПередЗаписью() устанавливает отказ от записи при ошибках в процедурах регистрации? Почему локальную проблему регистрации делают глобальной. Зачем механизму РЕГИСТРАЦИИ дают возможность блокировать ЗАПИСЬ объектов и ставить систему на уши?

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

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

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

          • zels

            Печально. Боюсь, авторы нововведения не работали с большими обменами и поэтому заложили такую мину. Хорошо хоть автомобилестроители не идут по такому пути (перегорела лампочка или другая ерунда приключилась – а заблокируем двигатель пока не исправят!).

            Я уж не говорю о самолетостроителях…

            • Ольга Кузнецова


              (текст комментария доступен только участникам Мастер-группы)

  38. zels

    Очень интересно было послушать про историю развитие конвертации (да просто расслабиться, т.к. курс весьма интенсивный). Получается, что on-line обмен вроде как и не on-line, а безопасность привела к тому, что тексты обработчиков переносятся ручками (но прям как в 7-ке).

    И возник вопрос: есть общий движок преобразования объекта по правилам или V8exchange и БСП просто имеют общие корни, но у каждой свои особенности (и в перспективе они еще больше разойдутся)?

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • zels

        Ольга, доброго здоровья вашим близким и Вам!

        Меня вот что интересует: если разработаны некие правила и они хорошо работают для V8excange, то будут ли они также хорошо работать при переносе в БСП, не возникнет ли ошибок из-за разной трактовки правил (особенно ПКО волнует)?

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

  39. Alexander Fokin

    ПРО, контекст “при выгрузке”. Зачем нужен? При выгрузке происходит экспорт в уже известный узел и единственно для чего этот контекст нужен это вроде только для отказа от выгрузки. Ан нет, в описании событий этот контекст фигурирует почти во всех событиях, получается что при выгрузке снова строится запрос, проверяются все ограничения и т.д.?

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  40. Velmir1988

    Здравствуйте!
    Как я понял, если в элементе справочника изменить реквизит, которого нет в правилах обмена, то регистрации изменений не происходит. Это всегда так? Или есть какой-нибудь способ изменить на проверку всех реквизитов вне зависимости от того участвуют ли они при переносе или нет?

    И еще один вопрос: есть элемент справочника Номенклатура, у которого зарегистрировано изменение. Помечаем на удаление. По заданию ДЗ, элементы помеченные на удаление не должны регистрироваться, но он уже зарегистрирован?! Можно ли отменить регистрацию или возможно у меня ошибка в Правилах регистрации?

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • Velmir1988

        Здравствуйте еще раз.
        Первый понял, как решается.
        На счет второго вопроса: алгоритм решения не подскажете?

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

  41. Константин

    Добрый день.
    Вопрос по ПРО. Возможно ли при “срабатывании” ПРО переопределить объект для регистрации?
    Допустим, есть независимый и непериодический РС, назовем его “статусы”. В нем есть реквизит “Объект” ссылочного типа и ресурс “Статус”. Данный РС предназначен для хранения текущего статуса объекта. Возможно ли выгружать “объект”, который хранится в реквизите РС, по достижению определенного “статуса”? На сколько я понял материал урока – ПРО будет для РС, но в конечном итоге в таблицу регистрации нужно записать не набор записей РС, а “объект” – реквизит РС.

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

      • Константин

        Т.е. иными словами (если я все правильно понял), например, в ПРО, в обработчике “После обработки” следующий код будет ошибочным?
        Объект = Объект.Отбор.Объект.ПолучитьОбъект(); (пример в контексте описанного мною ранее РС “статусы”, причем Объект.Отбор.Объект имеет тип, который входит в состав Плана обмена)

        • Ольга Кузнецова


          (текст комментария доступен только участникам Мастер-группы)

          • Константин

            Попробовал, к сожалению не получилось. Как описывал выше, в обработчике прописал Объект = Справочники.Номенклатура.НайтиПоКоду(“000002”).ПолучитьОбъект(); сделал вывод диагностического сообщений, “Объект” действительно переопределяется без ошибок, но список зарегистрированных объектов остался пустым.

            • Ольга Кузнецова


              (текст комментария доступен только участникам Мастер-группы)

  42. benony

    Вопрос по переключению режимов выгрузки. В видеоуроке упоминается только, как работают режимы “Регистрировать все” и “По условию”. А как работает вариант “При необходимости”?

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

  43. A.Timofeev

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

    • Ольга Кузнецова


      (текст комментария доступен только участникам Мастер-группы)

Комментарии закрыты

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить правила определения счетов учета для номенклатуры
  • Как изменить правила обмена через универсальный формат
  • Как изменить правила на сервере
  • Как изменить правила магазина на ярмарке мастеров
  • Как изменить правила кай

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии