Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 15:15

Подскажите идею

Автор andryscha92, 25 янв 2014, 22:44

0 Пользователей и 1 гость просматривают эту тему.

andryscha92

Добрый вечер!Подкиньте идею заполнения:
есть документ, в его табличной части заполняется реквизиты Контрагент и Договор.
Как можно при выборе контрагента автоматически что бы заполнялся и его договор?нужно использовать процедуру при изменении, а далее?

Besart

если договор один, то см. код&НаКлиенте
Процедура ВАШКОНТРАГЕНТОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

УзнатьДоговор(ВыбранноеЗначение);

КонецПроцедуры

&НаСервере
Процедура УзнатьДоговор(ВыбранноеЗначение)

Запрос = Новый Запрос; //Запрос делайте под ваш справочник
Запрос.Текст =
"ВЫБРАТЬ
| Договоры.Ссылка
|ИЗ
| Справочник.Договоры КАК Договоры
|ГДЕ
| Контрагент.Ссылка = &Ссылка";

Запрос.УстановитьПараметр("Ссылка", ВыбранноеЗначение);
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Элементы.СписокНоменклатуры.ТекущиеДанные.Договор = ВыборкаДетальныеЗаписи.Ссылка;
КонецЦикла;

КонецПроцедуры // УзнатьДоговор()

andryscha92

Цитата: Besart от 25 янв 2014, 23:51
если договор один, то см. код&НаКлиенте
Процедура ВАШКОНТРАГЕНТОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

УзнатьДоговор(ВыбранноеЗначение);

КонецПроцедуры

&НаСервере
Процедура УзнатьДоговор(ВыбранноеЗначение)

Запрос = Новый Запрос; //Запрос делайте под ваш справочник
Запрос.Текст =
"ВЫБРАТЬ
| Договоры.Ссылка
|ИЗ
| Справочник.Договоры КАК Договоры
|ГДЕ
| Контрагент.Ссылка = &Ссылка";

Запрос.УстановитьПараметр("Ссылка", ВыбранноеЗначение);
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Элементы.СписокНоменклатуры.ТекущиеДанные.Договор = ВыборкаДетальныеЗаписи.Ссылка;
КонецЦикла;

КонецПроцедуры // УзнатьДоговор()

сделал так но не работает(((что тут не так
&НаКлиенте
Процедура РасшифровкаПлатежаКонтрагентОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
ДоговорК = УзнатьДоговорКонтрагента(ВыбранноеЗначение);
Элементы.РасшифровкаПлатежа.ТекущиеДанные.ДоговорКонтрагента = ДоговорК;
КонецПроцедуры


&НаСервере
Функция УзнатьДоговорКонтрагента(ВыбранноеЗначение)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДоговорыКонтрагентов.Ссылка
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
|ГДЕ
| ДоговорыКонтрагентов.Владелец = &Владелец";
Запрос.УстановитьПараметр("Владелец", ВыбранноеЗначение);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл

Возврат Выборка.Ссылка;

КонецЦикла;

КонецФункции// УзнатьДоговорКонтрагента()

Запрос попадает нужный договор но не подставляется договор.
Добавлено: 26 янв 2014, 23:23


Не заметил!
Стандартная обработка = Ложь;

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск