|
Не понимаю, как пользователь создает такую ситуацию | ☑ | ||
---|---|---|---|---|
0
Adgjj
16.03.12
✎
14:47
|
Здравствуйте!
Есть документ "Счет", в строки таб.части которого заносятся данные из документов "ТТД" по кнопке "Заполнить" (за период, указанный на форме "Заполнить"). http://s019.radikal.ru/i636/1203/a7/7b080cf5db49.png Пользователям нужно, чтобы если данная ТТД уже участвует в каком-то Счете, при создании нового счета (нажатии "Заполнить") эта ТТД снова в таб. часть документа Счет не попадала. Для этого в регистр накопления документа "ТТД" я добавила поле "Счет", к-рое заполняется в процедуре ПриЗакрытии() формы док-та Счет. Ну и при заполнении нового док-та Счет идет проверка заполнения этого поля регистра. Пользователь жалуется, что часто в Счет все же попадают ТТД из других Счетов. Открываю Счет (названный польз-лем), в к-ром уже есть эта ТТД, проваливаюсь из строки ТЧ в ТТД, затем в регистр - в регистре поле Счет не заполнено. Как пользователь могла закрыть документ так, чтобы это поле не заполнилось? У меня и у польз-ля, к-рая делает то же самое в периферийной базе такой ситуации не получается. |
|||
1
Adgjj
16.03.12
✎
14:48
|
Процедура ПриЗакрытии()
Если мОбновлятьВладельца Тогда ОповеститьОЗаписиНовогоОбъекта(ЭтотОбъект); КонецЕсли; //нач для каждого СтрокаУслуги из Услуги Цикл НЗ = РегистрыНакопления.уатВыработкаПоСтоимости.СоздатьНаборЗаписей(); НЗ.Отбор.Регистратор.Значение = СтрокаУслуги.ДокументОснование; НЗ.Отбор.Регистратор.Использование = Истина; НЗ.Прочитать(); Для Каждого Запись Из НЗ Цикл Запись.Счет = ДокументОбъект.Ссылка; КонецЦикла; НЗ.Записать(); конеццикла; //кон КонецПроцедуры // ПриЗакрытии() |
|||
2
Kashemir
16.03.12
✎
14:54
|
Копирование
|
|||
3
Sonny
16.03.12
✎
15:03
|
Хорошо что ТС не пошла работать в медицину. 1С всё стерпит.
|
|||
4
Kashemir
16.03.12
✎
15:06
|
(3) Код ужасен - спору нет :D
|
|||
5
jsmith
16.03.12
✎
15:08
|
что-то знакомый код
по-моему, я автор этого кода |
|||
6
Господин ПЖ
16.03.12
✎
15:10
|
(5) попался сукин сын прелюбодей Якин!
|
|||
7
jsmith82
16.03.12
✎
15:12
|
не могу ветку найти
|
|||
8
jsmith
16.03.12
✎
15:14
|
||||
9
n koretsky
16.03.12
✎
15:18
|
(8) а в прошлой ветке все получилось у ТС...
а тут - снова пичалька... |
|||
10
jsmith
16.03.12
✎
15:20
|
ну что можно сказать
для начала отладить код под тем пользователем |
|||
11
Adgjj
16.03.12
✎
15:22
|
большое спасибо за ценные ответы
|
|||
12
PVV65
16.03.12
✎
15:22
|
(0) Такое может произойти, когда создается новый счет и перед закрытием формы не записывается. А такое должно происходить всегда. Удивляет - почему это не происходит "всегда"? Наверное пользователи перед закрытием формы записывают документ.
|
|||
13
Adgjj
16.03.12
✎
15:26
|
Зачем записывать Счет перед закрытием формы "Заполнить"??
|
|||
14
Adgjj
16.03.12
✎
15:28
|
(4) предложите лучший вариант!
|
|||
15
PVV65
16.03.12
✎
15:30
|
(12)Не прав. Уже будет Объект.
|
|||
16
Kashemir
16.03.12
✎
15:35
|
(14) Не вникая в суть проблемы - чисто технически так будет быстрее:
НЗ = РегистрыНакопления.уатВыработкаПоСтоимости.СоздатьНаборЗаписей(); НЗ.Отбор.Регистратор.Использование = Истина; для каждого СтрокаУслуги из Услуги Цикл НЗ.Отбор.Регистратор.Значение = СтрокаУслуги.ДокументОснование; НЗ.Прочитать(); Для Каждого Запись Из НЗ Цикл Запись.Счет = ДокументОбъект.Ссылка; КонецЦикла; НЗ.Записать(); конеццикла; |
|||
17
Kashemir
16.03.12
✎
15:37
|
(14) Изменять данные (причем чужих/других объектов) при событиях формы - это также сильный ход.
|
|||
18
Adgjj
16.03.12
✎
15:42
|
(16) спасибо
(17) почему так нельзя? |
|||
19
Kashemir
16.03.12
✎
15:45
|
(18) Ибо нет прямой связи события закрытия формы и записи объекта.
|
|||
20
Adgjj
16.03.12
✎
16:01
|
вот я ее и создаю
|
|||
21
Kashemir
16.03.12
✎
16:05
|
(20) Печально - удаляюсь.
|
|||
22
Adgjj
16.03.12
✎
16:07
|
мне нужно чтобы ПриЗакрытии() записывался
как тогда поступить? |
|||
23
Adgjj
16.03.12
✎
16:08
|
я для того сюда и вышла чтоб научиться всего знать невозможно
и вообще я не программист |
|||
24
teapot123
16.03.12
✎
16:14
|
(0) а не проще при нажатии кнопки "Заполнить" делать проверку запросом?
|
|||
25
teapot123
16.03.12
✎
16:15
|
+(24) вопрос снят
|
|||
26
teapot123
16.03.12
✎
16:22
|
(0) перенеси код в процедуру ПриЗаписи модуля объекта
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |