2 / 2 / 0
Регистрация: 05.06.2016
Сообщений: 139
1

Вывести имя контрагента в ПолеВвода

19.12.2017, 14:02. Показов 1284. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте всем! Собственно проблема вот в чем(далее текст задания)
Для документа «ПродажаТоваров» на форму списка добавить «ПолеВвода» с типом «СправочникСсылка.Контрагенты». На событие формы «ПриОткрытии» в поле ввода должна появляться ссылка на контрагента, закупившего товаров на наибольшую сумму в рублях. Ниже код запроса , который написал я, по сути он должен работать, но ничего не происходит
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Контрагентик = ПриОткрытииНаСервере(Контрагентик);
 
КонецПроцедуры
 
 
&НаСервере
Функция ПриОткрытииНаСервере(НайденныйКонтрагент)
                 Запрос = Новый Запрос;
                 Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
                                |   ПродажаТоваровТовары.Ссылка.Контрагент,
                                |   СУММА(ПродажаТоваровТовары.Сумма) КАК Сумма
                                |ИЗ
                                |   Документ.ПродажаТоваров.Товары КАК ПродажаТоваровТовары
                                |ГДЕ
                                |   ПродажаТоваровТовары.Валюта = &Валюта
                                |
                                |СГРУППИРОВАТЬ ПО
                                |   ПродажаТоваровТовары.Ссылка.Контрагент,
                                |   ПродажаТоваровТовары.Валюта
                                |
                                |УПОРЯДОЧИТЬ ПО
                                |   Сумма УБЫВ";
                 
                 Запрос.УстановитьПараметр("Валюта",Справочники.Валюты.Рубль );
                 
                 Результат = Запрос.Выполнить();
                 Выборка = Результат.Выбрать();
                
                 
                 
                 Пока Выборка.Следующий() Цикл
                  Контрагентик = Выборка.Контрагент                    
                 
                 КонецЦикла;
                              Возврат НайденныйКонтрагент;
 
                          КонецФункции
И по итогу открытия формы , в поле ввода ничего не выводится. Заранее спасибо
Миниатюры
Вывести имя контрагента в ПолеВвода  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2017, 14:02
Ответы с готовыми решениями:

Заполнить Значения контрагента из Другого контрагента
1С 8.2 Документооборот 1.3 Нужно программным путем выбрать контрагента и записать его в базу. ...

Зная ip адрес компьютера и его имя вывести имя пользователя
Зная ip адрес компьютера и его имя вывести имя пользователя в текстовое поле. я смог осилить...

Ввести фамилию, имя, отчество. Вывести свое имя в столбик
Ввести фамилию, имя, отчество. Вывести свое имя в столбик.

Строки: ввести фамилию, имя и отчество, вывести имя в столбик
Ввести фамилию, имя и отчество как одно данное строкового типа. Вывести имя в столбик.

7
Модератор
Эксперт 1С
3783 / 2963 / 589
Регистрация: 10.03.2011
Сообщений: 11,665
Записей в блоге: 1
19.12.2017, 14:27 2
Лучший ответ Сообщение было отмечено AnshNiNe как решение

Решение

Заменить
1C
1
2
3
//Возврат НайденныйКонтрагент;
 
Возврат Контрагентик;
1
2 / 2 / 0
Регистрация: 05.06.2016
Сообщений: 139
19.12.2017, 14:42  [ТС] 3
Спасибо , понял , а чтобы он и сумму в рублях выводил ? такое реально ? Выводит только наименование контрагента
0
Тест
Эксперт 1С
383 / 162 / 56
Регистрация: 26.02.2010
Сообщений: 1,245
19.12.2017, 15:29 4
Лучший ответ Сообщение было отмечено AnshNiNe как решение

Решение

Там в документе нет реквизита общая сумма? Вытащите его(ну или как Вам удобно, если Ваш способ работает, то хорошо). Далее делаете структуру с полем контрагента и суммы, записываете контрагента и сумму в структуру, и возвращаете структура, далее обращаетесь к нужному значение так:
1C
1
МояСтруктура.Контрагентик
или
1C
1
МояСтруктура.Сумма
1
1260 / 786 / 224
Регистрация: 22.04.2013
Сообщений: 5,758
Записей в блоге: 1
19.12.2017, 15:32 5
Лучший ответ Сообщение было отмечено AnshNiNe как решение

Решение

1C
1
2
3
4
5
Выборка.следующий();
М = Новый Массив;
М[0] = Выборка.Контрагент;
М[1] = Выборка.Сумма;
Возврат М;
1
Dethmontt
28.12.2017, 23:42
  #6

Не по теме:

еще есть варианты?

0
1260 / 786 / 224
Регистрация: 22.04.2013
Сообщений: 5,758
Записей в блоге: 1
29.12.2017, 04:27 7
структура, соответствие, массив.
какие ещё варианты? с новым годом ?
0
Dethmontt
29.12.2017, 14:41     Вывести имя контрагента в ПолеВвода
  #8

Не по теме:

Yulunga, С новым годом!

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2017, 14:41

Вывести фамилию, имя, отчество без пробелов. Сколько букв имеет имя.
как росписать в си-шарпе?

как вывести имя программы? именно имя, то что видно в провонике example.exe
собственно вопрос ^. это возможно? Добавлено через 18 минут догадался, кому надо ^^ ...

Ввести в одной строке фамилию, имя и отчество. Вывести, где останутся имя и фамилия
Пример: Введите ФИО: Пупкин Василий Иванович ...

Запросить у пользователя имя, фамилию и возраст. После чего вывести: “Здравствуйте [Имя] [Фамилия]”.
Здравствуйте и снова я обращаюсь за помощью задали задание: Написать код на JavaScript который...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru