ПВР и ТЧ "вытесняющие виды расчета"

1. Young 26.11.13 13:22 Сейчас в теме
Здравствуйте!
Столкнулся с такой проблемой: Обмен односторонний с приемом квитанций между двумя идентичными конфигурациями ЗУП через файл, объект обмена ПВР "Основные начисления организации", - для данного объекта конфигурации в ПланеОбмена стоит "Авторегистрация". Сами правила обмена элементарные (так как обмен между идентичными ИБ) Пример: ВР "ОкладПоДням" - в него добавили в ТЧ "Вытесняющие виды расчета" новый ВР. При обмене получаю ошибку "Недопустимая модификация предопределенных строк в вытесняющих видах расчета" - после анализа понимаю, что у ПВР в вытесняющих ВР есть записи с которыми делать ничего нельзя (ни изменять, ни удалять, ни перевыбирать), добавляю условие "НеОчищать" для группы свойств "Вытесняющие виды расчета" в правилах обмена, добавляю условие, чтобы выгружались только те значения ТЧ, которые были добавлены пользователем. - При этом получаю ошибку "Дублирование вытесняющих видов расчета" - и это никак не могу обойти, так как пользователями было добавлено например 10 видов расчета в вытеснении ОкладаПоДням затем были созданы правила обмена затем добавился еще один вид расчета в вытеснение для оклада по дням в базе источнике, весь объект зарегистрировался к изменению (так как стоит авторегистрация)в выгрузке получаем 11 видов расчета которые были добавлены пользователями в ТЧ "Вытесняющие виды расчета" в приемник прилетают эти 11 видов расчета, НО у ОкладаПоДням в базе приемнике уже есть виды расчета (10 видов расчета, которые как раз дублируются). Не могу понять, как сделать так, чтобы при загрузке в приемник проверялись строки ТЧ "Вытесняющие виды расчета" и если там уже есть Вид Расчета который прилетел из источника той же ТЧ, то его загружать не нужно. Подскажите как можно обойти данную ситуацию?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Young 26.11.13 17:50 Сейчас в теме
3. insurgut 207 11.12.13 08:34 Сейчас в теме
Мудрите вы с ТЧ, она должна выгружаться как есть. У вас все значения для предопределенных ВР на вкладке конвертации значений сопоставлены? Очень похоже что предопределенные из базы-источника у вас дублируются при переносе в базу-приемник, чего быть не должно.
4. Young 11.12.13 13:31 Сейчас в теме
Спасибо за отклик! Нет, не мудрю, задача довольно проста, сложность в том, что если даже в ТЧ ничего не меняется, то стандартно при загрузке данных она очищается и заполняется построчно из файла обмена. И в процессе очищения получается другая ошибка "Изменять предопределенные элементы нельзя" - (дословно не помню).

В итоге задача решается с помощью обработчика события "После загрузки": Условия возникновения события
Только для платформы V8.
Событие выполняется после прочтения и установки атрабутов объекта из файла, но до его записи в информационную базу. Возможна модификация загруженного объекта.

Ключевое слово "Возможна модификация загруженного объекта". Как я сделал:
1) ТЧ в базе приемнике не очищаю (свойство ПГКС)
2) в файл обмена записываю только НЕ предопределенные элементы ТЧ
3) Считываю данные найденного объекта в ИБ приемнике, получаю ТЧ Вытесняющие ВР ДО их изменения, получаю строку с последним ВР, который предопределенный и все записи которые были в ТЧ до изменения, удаляю все ВР в загружаемой ТЧ, которые были добавлены пользователем, а те которые прилетели из файла обмена оставляю.

Все работает. Тему можно закрывать.
5. insurgut 207 11.12.13 13:59 Сейчас в теме
В том то и дело, что у вас по какой-то причине из ТЧ после загрузки уходят предопределенные ВР. Почему? Возможно при загрузке ссылка на предопределенный элемент подменяется чем то новым. Поэтому и не записывается сам ВР. Или разные базы и в одной есть предопределенный ВР, а в другой его нет?

В итоге вылечили следствие, а не причину. Но раз вас это устраивает, то обсуждать дальше смысла нет конечно :)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот