Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.9.171] |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Бух 3.0, не вытаскивается договор контрагента.
делаю так: ФормаКонтрагент - справочник.ссылка.контрагент &НаКлиенте Процедура Сформировать(Команда) НайтиДоговорКонтрАгента(ФормаКонтрагент); КонецПроцедуры &НаСервере Процедура НайтиДоговорКонтрАгента(ФормаКонтрагент) КАгент = Новый Структура; КАгент.Вставить("Контрагент",ФормаКонтрагент); ФормаДоговор = РегистрыСведений.ОсновныеДоговорыКонтрагента.Получить(ТекущаяДата(),КАгент)[0]; КонецПроцедуры Пишет "несоответствие типов" |
Сообщ.
#2
,
|
|
|
Откуда взялась ФормаКонтрагент? Кусок кода можно?
|
Сообщ.
#3
,
|
|
|
evGenius
Это реквизит на форме, не более того. Прикреплённый файл____________.zip (3,68 Кбайт, скачиваний: 134) |
Сообщ.
#4
,
|
|
|
Цитата ^D^ima @ Это реквизит на форме, не более того. И какой тип попадает в твою функцию? |
Сообщ.
#5
,
|
|
|
справочник.ссылка.контрагент, я написал.
Или для регистров сведений нужны все реквизиты? Там их 3 |
Сообщ.
#6
,
|
|
|
Цитата ^D^ima @ Это реквизит на форме, не более того. Это строка. Ты уверен, что по строке сработает поиск договора? Раз ругается на несоответствие типов, то скорее всего надо ссылку на контрагента передавать. Добавлено Цитата ^D^ima @ ФормаКонтрагент - справочник.ссылка.контрагент У меня открылось, как строка. |
Сообщ.
#8
,
|
|
|
Ты в ФормаДоговор пытаешься запись регистра запихнуть. Надо дописать что-то типа".Договор".
|
Сообщ.
#9
,
|
|
|
evGenius
Я делаю вообще сообщить, то-же самое &НаСервере Процедура НайтиДоговорКонтрАгента(ФормаОрганизация,ФормаКонтрагент) Сообщить(ФормаКонтрагент); КАгент = Новый Структура; КАгент.Вставить("Организация",ФормаОрганизация); КАгент.Вставить("Контрагент",ФормаКонтрагент); КАгент.Вставить("ВидДоговора",Перечисления.ВидыДоговоровКонтрагентов.СПокупателем); Сообщить(РегистрыСведений.ОсновныеДоговорыКонтрагента.Получить(ТекущаяДата(),КАгент)[0]); КонецПроцедуры |
Сообщ.
#10
,
|
|
|
Так а как программа будет сообщать запись регистра?
|
Сообщ.
#11
,
|
|
|
Я думаю что должна сообщить, так-же как и ссылку на контрагента.
Ошибка все-равно в чем-то другом, через отладчик не вычислить сообщение Прикреплённый файл____________________.png (32,33 Кбайт, скачиваний: 598) |
Сообщ.
#12
,
|
|
|
Проблема в том, что регистр сведений непериодический, у метода Получить() не должно быть параметра-даты, только отбор.
Добавлено &НаСервере Процедура НайтиДоговорКонтрАгента(ФормаОрганизация,ФормаКонтрагент) КАгент = Новый Структура; КАгент.Вставить("Организация",ФормаОрганизация); КАгент.Вставить("Контрагент",ФормаКонтрагент); КАгент.Вставить("ВидДоговора",Перечисления.ВидыДоговоровКонтрагентов.СПокупателем); ФормаДоговор = РегистрыСведений.ОсновныеДоговорыКонтрагента.Получить(КАгент)[0].Договор; КонецПроцедуры |
Сообщ.
#13
,
|
|
|
Цитата evGenius @ не должно быть параметра-даты, только отбор. А это тогда о чем? Прикреплённый файл____________________.png (6,02 Кбайт, скачиваний: 597) |
Сообщ.
#15
,
|
|
|
В итоге сделал так: Ид другого справочника взял данные.
ДоговорКонтрАгента = новый Запрос; ДоговорКонтрАгента.Текст = "ВЫБРАТЬ | ДоговорыКонтрагентов.Ссылка |ИЗ | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов |ГДЕ | ДоговорыКонтрагентов.Владелец = &Владелец | И ДоговорыКонтрагентов.Организация = &Организация"; ДоговорКонтрАгента.УстановитьПараметр("Организация",ФормаОрганизация); ДоговорКонтрАгента.УстановитьПараметр("Владелец",ФормаКонтрагент); Выборка = ДоговорКонтрАгента.Выполнить().Выбрать(); Выборка.Следующий(); ФормаДоговор=Выборка.ссылка; Вместо запроса пытался сделать структуру, не получилось. КАгент = Новый Структура; КАгент.Вставить("Организация",ФормаОрганизация); КАгент.Вставить("Владелец",ФормаКонтрагент); ФормаДоговор = Справочники.ДоговорыКонтрагентов.ПолучитьДанныеВыбора(КАгент); Ещё одно непонятное: В справочнике ДоговорКонтрАгента нет реквизита Владелец. - Я не наблюдаю его визуально. проверил все реквизиты, нигде нет ни названия "Владелец" ни ссылки на контрагента у других реквизитов. - Этот код ФормаДоговор = Справочники.ДоговорыКонтрагентов.НайтиПоРеквизиту("Владелец",ФормаКонтрагент); ФормаДоговор = Справочники.ДоговорыКонтрагентов.НайтиПоРеквизиту("Организация",ФормаОрганизация); Сообщить(ФормаДоговор.Владелец); Отрабатывает на ура. Т.е в запросе можно указать это реквизит, сообщить его можно, но найти по нему нельзя(его и нет в справочнике в принципе). Откуда вашу **** взялся этот Владелец??????? |