|
Программная запись в регистр сведений | ☑ | ||
---|---|---|---|---|
0
Pakestanez
13.08.14
✎
14:51
|
Добрый день!
Есть непериодический независимый регистр сведений, названный "Проверки". Необходимо программно вносить в него по одной записи (или дополнять имеющиеся). Насколько я понял из справки, в этом случае необходимо создать менеджер записи, установить измерени(е|я), затем вызвать метод Прочитать(). В результате, если есть запись с такими значениями измерений, то произойдет позиционирование на этой записи. Можно будет дозаполнить оставшиеся измерения. Если же запись не обнаружена, будет создана новая. Опять же, те измерения, по которым мы пытались найти запись, уже будут заполнены, так что мы дозаполняем оставшиеся и вызываем метод Записать(); Это как я понял. Даже пример соответствующий в инете нашел. Однако, смотрите что происходит: в обоих случаях, что есть запись, что ее нет, после метода Прочитать() заполненные измерения сбрасываются, и после Записать() создается новая запись в регистре. Фрагмент кода: МенеджерЗаписи = РегистрыСведений.Проверки.СоздатьМенеджерЗаписи(); МенеджерЗаписи.Анкета = Анкета; МенеджерЗаписи.Аккаунт = АккаунтСсылка; МенеджерЗаписи.Прочитать(); МенеджерЗаписи.//тут дозаполняем остальные измерения МенеджерЗаписи.Записать(); Ну то есть смысл в целом думаю понятен. Вводится анкета, аккаунт. Если такие есть, надо модифицировать, если таких нет, созадть новую запись. |
|||
1
slin-dev
13.08.14
✎
14:52
|
надо отбор установить
|
|||
2
Pakestanez
13.08.14
✎
14:53
|
(1) Разве в данном случае то, что я заполняю анкету и аакаунт перед Прочитать() не является указанием для отбора записи? Отбор это вроде когда у тебя набор записей.
|
|||
3
ale-sarin
13.08.14
✎
14:54
|
мне вот это не нравится "Можно будет дозаполнить оставшиеся измерения".
Все измерения надо установить до Прочитать(), а после уже установить ресурсы. Я так думаю. |
|||
4
butterbean
13.08.14
✎
14:54
|
Я пользуюсь только НаборЗаписей, т.к. быстрее и универсальнее.
А МенеджерЗаписи — только для интерактивной работы |
|||
5
hhhh
13.08.14
✎
14:55
|
(2) должны быть все измерения. Чтобы была одна запись. А иначе используйте набор записей.
|
|||
6
ale-sarin
13.08.14
✎
14:55
|
+3 Из СП
Позволяет читать, записывать и удалять отдельную запись регистра сведений. И Синтаксис: Прочитать() Описание: Считывает запись регистра сведений по установленным значениям ключевых полей. А у Вас при не установленных всех измерениях нет возможности установить уникальную запись. |
|||
7
Pakestanez
13.08.14
✎
14:58
|
(3) Ресурсов нет. Не удивляйтесь, они реально не нужны в моей задаче. В том и фишка: нужно менять именно измерения. Вот более конкртено:
Запись в регистре "Проверки", напрмер: Анкета: Аня Адрес: 123 Аккаунт: Ваня Вот. Нужно сделать следующее: изменить Ваню на Сашу предположим. Найти запись, где анкета=Аня, адрес=123 и изменить поле Аккаунт. |
|||
8
Pakestanez
13.08.14
✎
14:59
|
(6) А, то есть получается обязательно нужно все измерения устанавливать... :(
|
|||
9
ale-sarin
13.08.14
✎
15:00
|
(7) Но т.к. Аккаунт это измерение у Вас, то записей, где анкета=Аня, адрес=123, может быть несколько. У какой из них Вы будете менять Аккаунт?
|
|||
10
Pakestanez
13.08.14
✎
15:00
|
Придется тогда Аккаунт в ресурсы перевести, по идее должно помочь.
|
|||
11
ale-sarin
13.08.14
✎
15:01
|
+9 Если же у одной анкеты может быть только один аккаунт, то Аккаунт - это ресурс.
|
|||
12
Eugene_life
13.08.14
✎
15:02
|
(10) И адрес и аккаунт - в ресурсы. Адресов может быть тоже несколько
|
|||
13
Pakestanez
13.08.14
✎
15:02
|
(9) Ну вообще по задумке такого не может быть. Логика программы не позволит такой ситуации. Тут получается конфликт в самой идее регистра. Он-то не знает, что такой ситуации не бывает и определяет униклаьность только по совокупности всех измерений.
|
|||
14
ale-sarin
13.08.14
✎
15:02
|
(10) Вы уж заранее продумайте структуру. Адреса, например, может быть несколько на одну анкету?
|
|||
15
Pakestanez
13.08.14
✎
15:02
|
ПОпробую передлать, всем спасибо.
|
|||
16
Pakestanez
13.08.14
✎
15:03
|
Потом допишу если появятся вопросы, в целом понял, в чем была ошибка.
|
|||
17
Pakestanez
13.08.14
✎
15:19
|
Все-таки пожалуй обращусь еще за советом, чтобы потом опять не переделывать.
Есть такие параметры: Аккаунт, Анкета, Адрес, Проверка. Возможные варианты: с одного аккаунта в одной анкете можно оставить только одну проверку. Адрес - при включенном контроле уникальности адреса нельзя оставить проверку на одной и той же анкете с разных аккаунтов под одним адресом. При выключенном контроле уникальности адреса можно с разных аккаунтов оставить проверку на одной и той же анкете под одинаковым адресом. |
|||
18
Pakestanez
13.08.14
✎
15:20
|
Я думаю это довольно удобно хранить в регистре сведений. Но как раскидать измерения и ресурсы, это уже сложнее %)
|
|||
19
Pakestanez
13.08.14
✎
15:24
|
По идее, Анкета и Аккаунт это измерения, а оценка и адрес ресурсы.
|
|||
20
ale-sarin
13.08.14
✎
15:28
|
(17) Че то ни фига не понял.
(19) у одной анкеты может быть несколько аккаунтов? А один аккаунт у нескольких анкет? |
|||
21
Pakestanez
13.08.14
✎
15:32
|
Все, сделал, вроде работает нормально.
Если вдруг кто-то будет искать что-то похожее, на всякий сулчай пишу: если после того как устанавливаешь измерения и делаешь прочитать, запись не находится, то измерения нужно заново поставить, чтобы они при записи не остались пустыми. (20) нет, тут получает так: например, человек мастерит трубки для курения, он размещает Анкету на сайте. А люди, которые интересуются услугами этого сайта, заводят Аккаунт. Соответсвтенно, люди (Аккаунты) могут оставлять проверки мастерам (Анкетам), типа нормальный ли мастер и в таком роде, хорошол ли делает трубки) |
|||
22
Pakestanez
13.08.14
✎
15:33
|
А чтобы проверки не набивались одним и тем же человеком с разных аккаунтов (мастер сам себе решил наделать липовых отзывов), вводится проверка IP адреса, с которого оставлена проверка.
|
|||
23
Pakestanez
13.08.14
✎
15:36
|
Но так же возможна ситуация, когда проверку IP адреса можно отключить и значит с одного адреса проверки смогут оставить несколько Аккаунтов на Анкете. Вот. Теперь, пожалуй, все описал, больше не осталось ничего за занавесом.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |