|
Обновление реквизитов определенного документа | ☑ | ||
---|---|---|---|---|
0
podkovka_
udachi 19.03.15
✎
19:21
|
Необходимо добавить новый документ (паспорт). Открываю форму этого документа, вношу данные, при записи нужно проверить условие: если паспорт у этого человека уже есть в базе, то вношу обновленные данные. Если паспорта нет, просто записываю данные с формы.
Написала такую процедуру: Процедура ПриЗаписи(Отказ) Если Документы.новПаспорт.НайтиПоРеквизиту("НомерЛД",ЭлементыФормы.НомерЛД.Значение) = Документы.новПаспорт.ПустаяСсылка()тогда Отказ = ложь; Сообщить("паспорт можно добавить, его еще нет"); иначе Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | новпаспорт.Ссылка |ИЗ | Документ.новпаспорт КАК новпаспорт |ГДЕ | новпаспорт.НомерЛД = &НомерЛД"; Запрос.УстановитьПараметр("НомерЛД",НомерЛД ); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); СсылкаНаЛюбойДокумент =Документы.новПаспорт.ПустаяСсылка(); Пока Выборка.Следующий() Цикл СсылкаНаЛюбойДокумент = Выборка.ссылка; КонецЦикла; объект = СсылкаНаЛюбойДокумент.получитьОбъект(); объект.серия = Серия; объект.НомерДокумента =НомерДокумента; Объект.КемВыдан=КемВыдан; Объект.ДатаВыдачи = ДатаВыдачи; объект.проведен = истина; объект.записать(); Сообщить("занесены новые данные"); КонецЕсли; КонецПроцедуры получается если паспорт вносится с новыми данными, обновляются строки и в старом и добавляется еще одна строка ( ну логично потому что запись 2 раза осуществляется). А мне нужно просто обновить старые данные. новую строку вообще не нужно добавлять. Где мне поправить? не могу сообразить, метода обновить не могу найти... |
|||
1
Dmitrii
гуру
19.03.15
✎
19:31
|
Задача поставлена и сформулирована неверно.
Меняйте постановку. PS И завязывайте с тяжелыми наркотиками. |
|||
2
DirecTwiX
19.03.15
✎
19:34
|
Почему Документ, а не справочник? Что за НомерЛД?
Но вообще да, бредом попахивает) |
|||
3
podkovka_
udachi 19.03.15
✎
19:39
|
номерЛД- номер личного дела, по которому идентифицируется паспорт.
1) из документа личное дело открываю форму документа паспорт. 2) проверяем условие - есть ли уже паспорт в этом личном деле или нет? если есть - нужно обновить данные ( ситуация когда человек сменил паспорт) если нет- вношу новые данные с формы |
|||
4
podkovka_
udachi 19.03.15
✎
19:40
|
(1) да, я не специалист в 1С, потому и обращаюсь за помощью, учусь. Надсмехаться не очень прилично с Вашей стороны
|
|||
5
podkovka_
udachi 19.03.15
✎
19:42
|
(2) не могу ответить почему я сделала именно так, почему считаете, что лучше использовать справочник?
|
|||
6
DirecTwiX
19.03.15
✎
19:44
|
(3) Судя по всему, забыла "Отказ = Истина;" в ветке Иначе.
(5) Документы нужны, чтобы двигать регистры. |
|||
7
podkovka_
udachi 19.03.15
✎
19:51
|
(6) но тогда не закрывается открытая форма документа
|
|||
8
DirecTwiX
19.03.15
✎
19:58
|
Если паспорт открывается из личного дела, то перед открытием ищи существующий паспорт и открывай его форму. Если ничего нет, открывай форму нового документа.
|
|||
9
podkovka_
udachi 19.03.15
✎
20:01
|
(8) Спасибо большое!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |