|
Не записывается инфа в регистр сведений подчиненный регистратору. | ☑ | ||
---|---|---|---|---|
0
Radion
20.12.13
✎
19:28
|
УТ 10.3. Создал новый регистр сведений подчиненный регистратору, периодичность установил - в пределах секунды. Данный в регистр записываются при перепроведении документа. Код следующий:
РегСвед = РегистрыСведений.ИзменениеСтатуса.СоздатьНаборЗаписей(); РегСвед.Отбор.Регистратор.Установить(РеализацияТиУ); НоваяЗапись = РегСвед.Добавить(); НоваяЗапись.Период = РеализацияТиУ.Дата; НоваяЗапись.СтатусЗаказа = РеализацияТиУ.СтатусЗаказа; НоваяЗапись.ДатаИзменения= РеализацияТиУ.Дата; НоваяЗапись.Уведомление = РеализацияТиУ.Комментарий; РегСвед.Записать(Ложь); Так вот, первая запись проходит, а вторая и 3-я, когда меняю значение комментария или СтатусаЗаказа НЕТ, Ошибка - Запись с такими ключевыми полями уже существует. При изменении даты документа, нормально записывает. Вопрос - Почему в течении одного дня нельзя записать, несколько данных в регистр, если периодичность установлена - в пределах секунды а не дня ? Спасибо. |
|||
1
Dzenn
гуру
20.12.13
✎
19:32
|
"Бывает......" (задумчиво закуривая трубку, философским тоном)
|
|||
2
Dzenn
гуру
20.12.13
✎
19:33
|
Вернее, нет, не так! "Бываааааааает......"
|
|||
3
Radion
20.12.13
✎
19:45
|
up
|
|||
4
1sik
20.12.13
✎
19:59
|
Можно всю процедуру увидеть? А то непонятно как вторая и третья запись должна попадать .
|
|||
5
МишКа
20.12.13
✎
20:05
|
(0) Секунды совпадают. Делай более детальную периодичность.
|
|||
6
mehfk
20.12.13
✎
20:12
|
(0) Существующие движения очищаются?
|
|||
7
marvak
20.12.13
✎
20:19
|
(0) СтатусЗаказа измерение?
|
|||
8
Radion
23.12.13
✎
10:44
|
(5) нет секунды не совпадают
|
|||
9
Radion
23.12.13
✎
10:46
|
(6) существующие движения не очищаются, наоборот требуется добавить к существующим движениям новые движения;
(7) СтатусЗаказа - ресурс, в рег. сведений только ресурсы, измерений вообще нет. |
|||
10
Maxus43
23.12.13
✎
10:48
|
(9) что ты хотел без измерений? Считай что у тебя "Измерение" - Регистратор, и тольок одна запись в разрезе регистратора может быть
|
|||
11
Defender aka LINN
23.12.13
✎
10:48
|
(0) Этот код у тебя прямо в обработке проведения? Молодец, чо...
|
|||
12
Radion
23.12.13
✎
11:05
|
(10) понял. сейчас попробую;
(11) ну, чем чревато? |
|||
13
Maxus43
23.12.13
✎
11:07
|
+ уточню, в разрезе "регистратора и периода"
|
|||
14
Defender aka LINN
23.12.13
✎
11:18
|
(12) Да ничем. Если тебе, конечно, не сильно надо, чтобы данные в регистр писались.
|
|||
15
Radion
23.12.13
✎
12:00
|
(14) да они и так пишутся. просто перезаписываются.
|
|||
16
Radion
23.12.13
✎
13:12
|
(10) добавил измерение, никаких изменений. Все также перезаписывает и все.
|
|||
17
Лефмихалыч
23.12.13
✎
13:15
|
вот в этой строке ошибка
НоваяЗапись.Период = РеализацияТиУ.Дата; |
|||
18
Radion
23.12.13
✎
13:30
|
(17) Спасибо. да я уже сам нашел, переписал так:
НоваяЗапись.Период = ТекущаяДата(); Все равно перезаписывает текущую строку (((( |
|||
19
Radion
23.12.13
✎
13:32
|
Почему добавляет строку в регистр а не перезаписывает, если добавляешь к периоду один день. Т.е. периодичность получается в пределах дня, хотя у меня периодичность стоит в пределах секунды. (((( почему так ? ((((
|
|||
20
Radion
23.12.13
✎
13:48
|
Что заметил: если я из внешней обработки меняю регистр сведений (добавляю дни к периоду), то все нормально, строки добавляются. Если я пытаюсь добавить строки при проведении документа, система очищает сперва все строки регистра сведений, а потом записывает туда строку по алгоритму. ппц!?!?!
|
|||
21
hhhh
23.12.13
✎
13:56
|
(19) ну вы делаете одну и ту же секунду: ТекущаяДата(). Вот и затирается
|
|||
22
Radion
23.12.13
✎
14:01
|
(21) блин, я видно что то не догоняю. Если я ставлю периодичность "В пределах секунды", я имею ввиду что, если я пытаюсь сделать две записи одновременно 14:01:01 (01 секунда), то система конечно выдаст ошибку. Если периодичность в пределах секунды, то формат "Периода": Дата Час:Минута:Секуда. Разве я не прав?
|
|||
23
Enders
23.12.13
✎
14:05
|
Регистр подчинен регистратору. И наверное в свойствах документа "Удаление движения" стоит "Удалять автоматически".
Соответственно при перепроведении документа сначала очищаются все записи, после чего добавляются заново ;) |
|||
24
Radion
23.12.13
✎
14:08
|
(23)нет, стоит - "Не удалять автоматически"
|
|||
25
Enders
23.12.13
✎
14:10
|
Да, и кстати а прочитать набор?
|
|||
26
Enders
23.12.13
✎
14:10
|
РегСвед = РегистрыСведений.ИзменениеСтатуса.СоздатьНаборЗаписей();
РегСвед.Отбор.Регистратор.Установить(РеализацияТиУ); РегСвед.Прочитать(); !!!! НоваяЗапись = РегСвед.Добавить(); НоваяЗапись.Период = РеализацияТиУ.Дата; НоваяЗапись.СтатусЗаказа = РеализацияТиУ.СтатусЗаказа; НоваяЗапись.ДатаИзменения= РеализацияТиУ.Дата; НоваяЗапись.Уведомление = РеализацияТиУ.Комментарий; РегСвед.Записать(Ложь); |
|||
27
hhhh
23.12.13
✎
14:14
|
(22) формат - это для вывода даты на печать.
а так в любом периоде есть секунды. |
|||
28
Naumov
23.12.13
✎
14:14
|
(0) А почему периодичность не по позиции регистратора?
|
|||
29
Radion
23.12.13
✎
14:25
|
(28) просто не знаю, что значит - по позиции регистратора.
|
|||
30
Radion
23.12.13
✎
14:25
|
(26) добавил - РегСвед.Прочитать(); никаких изменений (
|
|||
31
hhhh
23.12.13
✎
14:31
|
(30) наверно, у вас РеализацияТиУ - объект.
|
|||
32
Enders
23.12.13
✎
15:37
|
Попробуйте посмотреть отладчиком после прочитать
Сколько записей в наборе? или Добавте Сообщить(РегСвед.Количество()); После прочитать. |
|||
33
Radion
23.12.13
✎
15:46
|
(32) да нет, все понятно. Просто перед проведением РеализацииТиУ система очищает все движения, в т.ч. и Регистр сведений. Проблема в другом, при попытке добавить новую строку в Регистр сведений, выдается сообщение об ошибке - что значение с такими ключевыми полями уже существует, имеется ввиду поле Период.
|
|||
34
samozvanec
23.12.13
✎
15:52
|
что за прикол такой, писать в РС, подчиненный регистратору, не из проведения?
|
|||
35
samozvanec
23.12.13
✎
15:55
|
+(34) или это в обработке проведения?? О_о
|
|||
36
Radion
23.12.13
✎
16:17
|
пишу все в обработке проведения документа
|
|||
37
Enders
23.12.13
✎
16:27
|
Покажите полный код обработки проведения. Имеется ввиду очистку и добавление записей.
|
|||
38
samozvanec
23.12.13
✎
16:36
|
(36) что мешает писать по-человечьи?
|
|||
39
Radion
23.12.13
✎
16:38
|
Спасибо, сделал без подчинения регистратору. Все работает, строки нормально добавляются.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |