|
Занесение в справочник программно с ошибкой | ☑ | ||
---|---|---|---|---|
0
Анастасия Изотова
02.09.15
✎
08:57
|
Добрый день. Помогите советом: Как программно внести в справочник данные ?
На форме документа есть поле выбора - Пациент. С обращением к справочнику ФизЛиц. И есть поле ввода, куда вносится руками ЛичНомер. При проведении документа ЛичНомер и текущая дата должны писаться в соответсвующие поля-реквизиты этого самого Пациента, справочника ФизЛиц. СпрСотр = Справочники.ФизическиеЛица; Спр=Справочники.ФизическиеЛица.НайтиПоНаименованию(ЭтаФорма.Объект.Пациент); Об = СпрСотр.ПолучитьОбъект(); Об.ДатаПосещения = ДатаТекущая .... Об.ЛичНомер = ЭтаФорма.Объект.ЛичНомер; Об.Записать(); Но, не получается в общем ... не могли бы вы подправить в чем у меня косяк ? |
|||
1
1Сергей
02.09.15
✎
09:00
|
ЛичНомер - реквизит формы?
|
|||
2
salvator
02.09.15
✎
09:00
|
Объект получать надо не из СпрСотр, а из Спр.
|
|||
3
Брегорьян
02.09.15
✎
09:03
|
(2) в том случае, если не он пустая
|
|||
4
Krolik Bezobraznik
02.09.15
✎
09:04
|
УФ что ли?
Вторая строчка вообще зачем? Объект.Пациент - "Пациент" какого типа? |
|||
5
Krolik Bezobraznik
02.09.15
✎
09:07
|
Об = Объект.Пациент.ПолучитьОбъект();
Об.ДатаПосещения = ДатаТекущая; Об.ЛичНомер = Объект.ЛичНомер; Об.Записать(); |
|||
6
1Сергей
02.09.15
✎
09:10
|
(5) это если у Объекта есть ЛичНомер
|
|||
7
ibreiter
02.09.15
✎
09:13
|
(0) У СпрСотр, который СпрСотр = Справочники.ФизическиеЛица; вы не сможете получить объект
|
|||
8
Анастасия Изотова
03.09.15
✎
03:23
|
ЛичНомер - да, это реквизит формы. Строковый. Его нужно записать в обьект справочника ФизЛица, в конкретную фамилию, которая как раз выбрана на форме в элементе выбора.
Обьект Пациент на форме - это поле выбора. Привязанное к данным Пациент, тип значения: СправочникСсылка.ФизическиеЛица Вторая строчка - я хотела как то запросить из справочника ТОТ обьект, который ныне выборан в поле выбора Пациент (см.выше) У обьекта Пациент ... (задумалась) .. в справочнике ФизЛица я добавила реквизит, строковый, ЛичНомер, у каждого пациента его туда можно заносить. |
|||
9
hhhh
03.09.15
✎
04:25
|
поле ввода делайте, причем ткт поле выбора?
|
|||
10
mehfk
03.09.15
✎
04:46
|
||||
11
Мутабор
03.09.15
✎
05:56
|
СпрСотр = Справочники.ФизическиеЛица;
Спр=Справочники.ФизическиеЛица.НайтиПоНаименованию(ЭтаФорма.Объект.Пациент); Почему 1 строка СпрСотр, а 2 Спр? Об = СпрСотр.ПолучитьОбъект(); Об.ДатаПосещения = ДатаТекущая .... Об.ЛичНомер = ЭтаФорма.Объект.ЛичНомер; Об.Записать(); Откуда возьмется Об, если СпрСотр пустое значение? |
|||
12
Анастасия Изотова
03.09.15
✎
06:17
|
вот так ?
Спр = Справочники.ФизическиеЛица; Спр = Справочники.ФизическиеЛица.НайтиПоНаименованию(ЭтаФорма.Объект.Пациент); Об = Спр.ПолучитьОбъект(); Об.ДатаПосещения = ДатаТекущая .... Об.ЛичНомер = ЭтаФорма.Объект.ЛичНомер; Об.Записать(); я же сначала в поле выбора Пациент, выбрала из справочника физ лиц Иванова например потом, я так поняла, проводка ищет имя Иванов в поле Обект.Пациент на форме, лезет в справочник, и ТУДА в этого пациента пишет в реквизиты Дату и Лич номер, взятые с формы ... нет ? я так поняла что сначала я |
|||
13
Альбатрос
03.09.15
✎
06:54
|
(12) ...Об = Пациент.ПолучитьОбъект();
|
|||
14
Брегорьян
03.09.15
✎
07:09
|
(12) > в поле выбора Пациент, выбрала
уже, понимаешь? он выбран. он есть. незачем его ещё искать RShurik Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(ВыборкаДетальныеЗаписи.Контрагент); Договор = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(ВыборкаДетальныеЗаписи.Договор); Соглашение = Справочники.СоглашенияСКлиентами.НайтиПоНаименованию(ВыборкаДетальныеЗаписи.Соглашение); Torquader "ну нельзя же просто так взять ссылку и использовать её" (с) |
|||
15
Анастасия Изотова
03.09.15
✎
09:23
|
Сделала так:
Спр = Справочники.ФизическиеЛица; Об = Пациент.ПолучитьОбъект(); Об.ЛичНомер = ЭтаФорма.Объект.ЛичНомер; Об.Записать(); !!! {Документ.НазначениеНаОсмотр.Форма.ФормаДокумента(1511)}: Поле объекта не обнаружено (Объект) Об.ЛичНомер = ЭтаФорма.Объект.ЛичНомер; |
|||
16
Анастасия Изотова
03.09.15
✎
09:25
|
Не совсем поняла, так КАКой строкой я запрашиваю пациента из поля выбора, на фио которого я буду искать в справочнике ?
по строке: Спр = Справочники.ФизическиеЛица.НайтиПоНаименованию(ЭтаФорма.Объект.Пациент); или по строке: Об = Пациент.ПолучитьОбъект(); и все равно, и так и так пробовала, ругается что поле Обьект не найдено |
|||
17
ibreiter
03.09.15
✎
09:26
|
Вы из какой формы вызываете?
|
|||
18
Анастасия Изотова
03.09.15
✎
09:32
|
это документ, НазначениеУслуг. В нем основная: ФормаДокумента.
в ней поле выбора (ссылается на справочник физ лиц), откуда я выбираю физ лицо. выполнив процедуру я хочу записать в ЭТО, выбранное-найденное физ лицо, кое какие реквизиты, из тех что я только что в форме в поля ввода вбила |
|||
19
ibreiter
03.09.15
✎
09:43
|
ФЛ = Объект.Пациент.ПолучитьОбъект();
ФЛ.ЛичныйНомер = ЛичныйНомер; Фл.Записать(); |
|||
20
ibreiter
03.09.15
✎
09:47
|
Ну и еще
ФЛ.ДатаПосещения = ТекущаяДата(); а потом записать |
|||
21
Брегорьян
03.09.15
✎
09:52
|
автоматическое создание элементов справочника неокрепшим мозгом приводит к облысению головы. при чём тут документ?
|
|||
22
Анастасия Изотова
03.09.15
✎
09:58
|
А я не создаю новый элемент из этого документа, я дозаписываю реквизиты в уже имеющиеся обьекты справочника.
Спр = Справочники.ФизическиеЛица; ФЛ = Спр.ПолучитьОбъект(); ФЛ = Объект.Пациент.ПолучитьОбъект(); ФЛ.ЛичныйНомер = ЛичныйНомер; ФЛ.ДатаПосещения = ТекущаяДата(); Фл.Записать(); я не могу срастить самое начало ((( |
|||
23
ibreiter
03.09.15
✎
10:00
|
Спр = Справочники.ФизическиеЛица;
ФЛ = Спр.ПолучитьОбъект(); Это вот зачем? |
|||
24
ibreiter
03.09.15
✎
10:00
|
Уберите, а дальше все нормально
|
|||
25
Анастасия Изотова
03.09.15
✎
10:01
|
ФЛ = Объект.Пациент.ПолучитьОбъект();
ФЛ.ЛичныйНомер = ЛичныйНомер; ФЛ.ДатаПосещения = ТекущаяДата(); Фл.Записать(); оставляю ТОЛЬКО это ? в процедуре ? а как она поймет, о каком справочнике идет речь ? разве строка про ФизЛиц не нужна ? |
|||
26
ibreiter
03.09.15
✎
10:02
|
Переменная Спр не ссылка, из нее вы никогда не получите объект, да и зачем это все...
Физлицо выбрали на форме, ссылка уже в "Пациент", из ссылки получили объект, реквизиты заполнили, записали, забыли |
|||
27
ibreiter
03.09.15
✎
10:03
|
(0) На форме документа есть поле выбора - Пациент. С обращением к справочнику ФизЛиц. - Это можно понимать, что пациент ссылка в справочник ФизЛиц?
|
|||
28
ibreiter
03.09.15
✎
10:04
|
(25) Все верно, только это
|
|||
29
Анастасия Изотова
03.09.15
✎
10:07
|
Поняла. и правда, очевидно же, откуда тянется суть к справочнику. только вот что:
{Документ.НазначениеНаОсмотр.Форма.ФормаДокумента(1515,8)}: Переменная не определена (Объект) ФЛ = <<?>>Объект.Пациент.ПолучитьОбъект(); (поле выбора физ лица имеет имя: Пациент, и данные: Пациент) |
|||
30
ibreiter
03.09.15
✎
10:14
|
Форма точно управляемая?
|
|||
31
Lexey_
03.09.15
✎
10:14
|
(29) имя у основного реквизита формы какое?
|
|||
32
Lexey_
03.09.15
✎
10:16
|
(30) видимо, нет, тогда без "Объект"
|
|||
33
Анастасия Изотова
03.09.15
✎
10:40
|
Да, без обьект ! получилось! Спасибо вам огромное !
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |