Автор Тема: Копирование записи  (Прочитано 212 раз)

wizzzart

  • Ученик
  • *
  • Сообщений: 13
  • Благодарностей 0
Копирование записи
« : Август 10, 2016, 03:31:32 pm »
Столкнулся с проблемой.
В базе есть список клиентов. К каждому клиенту привязан список товаров. Если в списке клиентов нужно сделать новую запись со старым клиентом, выбираю клиента, нажимаю кнопку "Копировать", затем меняю дату и нажимаю "Сохранить". При этом последний пункт в списке товаров из старого списка перебрасывается к скопированному клиенту.
Где я ошибся и как это исправить? Базу прикрепляю.

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

Спасибо.

vladimir.runa

  • Главный модератор
  • Мастер
  • **
  • Сообщений: 341
  • Благодарностей 22
  • skype: vladimir.runa
Re: Копирование записи
« Ответ #1 : Август 10, 2016, 04:29:03 pm »
В объекте "Договор" есть системное поле ссылки "~Список товаров" на родительский объект "Список товаров". Формы, образующей такую связь, нет.
Вопрос 1: для каких целей служит это поле и зачем создавалась циклическая связь этих двух объектов?

Системное поле ссылки служит для организации связи "Один-ко-многим".
Свойство "Обратная связь" служит для организации связи "Один-к-одному".
Вопрос 2: с какой целью в поле "~Список товаров" задано это свойство?

wizzzart

  • Ученик
  • *
  • Сообщений: 13
  • Благодарностей 0
Re: Копирование записи
« Ответ #2 : Август 10, 2016, 05:04:32 pm »
При всем желании вряд ли смогу вам ответить. База создавалась год назад в спешке и по большей степени наобум и неосознанно, на конкретных примерах и документации. Сейчас что-то осмысленно объяснить уже не смогу.
Если исходить из простой логики, то наверное когда создавал связь списка товаров с договором, посчитал что ее нужно прописать и там и там. Скорей всего так и поступил... Попробовал - работает, так и оставил.
В принципе, если удалить удалить ссылку "~Список товаров" в договоре, то проблема вроде исчезает.
Если это и есть ошибка, то благодарю за помощь! Если еще что-то не так, напишите, пожалуйста.

vladimir.runa

  • Главный модератор
  • Мастер
  • **
  • Сообщений: 341
  • Благодарностей 22
  • skype: vladimir.runa
Re: Копирование записи
« Ответ #3 : Август 10, 2016, 05:12:15 pm »
Надо убрать свойство "Обратная связь" в поле "~Список товаров" объекта "Договор". Да и вообще убрать это свойство из других объектов - оно нигде не работает и от него нет никакого смысла в данном контексте.
Можно это поле вообще удалить - оно вроде тоже не нужно.
В будущем заблокируется копирование значения поля со свойством обратной связи, чтобы не возникало подобных коллизий. При грамотном создании структуры такой ошибки возникнуть не могло, но всегда надо учитывать то, что пользователь не всегда понимает, зачем служит то или иное свойство.

 

Яндекс.Метрика