Имя: Пароль:
1C
1C 7.7
v7: Как заполнить выпадающий список при инициализации отчета
0 gwyllium
 
15.11.13
19:36
Доброго времени суток, уважаемые форумчане! Второй день бьюсь над проблемой и даже гугл мне не помогает. Сперва краткая суть:
Есть два справочника - покупатели и задолженности. Поле справочника Задолженности "покупатель" ссылается на справочник покупатели.

Теперь суть проблемы - мне необходимо составить отчет по задолженностям по выбранному покупателю. Соответственно покупатель должен выбираться из выпадающего списка. Отсюда два вопроса:
1. При открытии отчета, выпадающий список должен быть заполнен. При создании формы отчета есть только процедура кнопки. Есть ли у отчета какая-либо процедура, отвечающая за инициализацию? Чтобы код, отвечающий за выполнение списка выполнялся при открытии этого отчета?
2. Как заполнить выпадающий список данными из справочника Покупатели?


Прошу прощения если некорректно сформулировал - еще совсем новичок в этом вопросе. Просто задание задали в универе, лекций вменяемых не было, деньги платить за контрольные из принципа не хочется. Буду рад, если кто укажет, в каком направлении копать. Версия 1С предприятие 7.7
1 Wobland
 
15.11.13
19:56
при открытии, говоришь?
2 oslokot
 
15.11.13
19:59
че за универ, где задание для клюшек дают?
3 NikVars
 
15.11.13
20:37
(0) Помогу, будешь рад.
Ну если 7.7 где-то раздобыл - регламентированная отчетность у тебя есть.
Бери уже написанный образец.
Файл FRM1.ert
Смотри форму - Единицы измерения - выпадающий список.
Называется он - ФорматыВывода - на форме в конфигураторе это видно. Поиском по модулю - можешь найти все места.
Основное:
1) Ниже всех процедур - заполнение списка.
ФорматыВывода.ДобавитьЗначение("383", "в рублях");
ФорматыВывода.ДобавитьЗначение("384", "в тысячах рублей");
ФорматыВывода.ДобавитьЗначение("385", "в миллионах рублей");
ФорматыВывода.ТекущаяСтрока(2);  
2) На форме списка ФорматыВывода - в свойствах (щелк по ФорматыВывода ПКМ) - Дополнительно  - навешена формула
ПриВыбореФормата(ФорматыВывода.ПолучитьЗначение(ФорматыВывода.ТекущаяСтрока()))
Смотри в модуле эту процедуру - она выполняется когда кликаетшь по ФорматыВывода в пользовательском режиме.
3) Смотри процедуру ПриОткрытии()
    КодЕИ   = "384";
    КолЗнак = 0;
    УстановитьФорматВывода(КодЕИ);
Там устанавлюваются те значения, которые ты видишь при открытии отчета.
4) Впредь, если что-то нужно - смотри образцы в типовых или ищи в поисковике, аж потом - на мисте.
4 gwyllium
 
15.11.13
20:37
Wobland, я в 1С еще новичок и слабо представляю как обычно делаются отчеты. Моя задача, чтобы на форме сразу был заполненный выпадающий список. Если я как-то не так сформулировал, прошу прощения.
5 gwyllium
 
15.11.13
20:43
(3) NikVars, спасибо огромное, буду разбираться!
6 gwyllium
 
15.11.13
21:00
(3) NikVars спасибо огромное за помощь! Как заполнять список я уже разобрался. Остался последний вопрос - я создаю выпадающий список, создаю для него процедуру(Дополнительно-Формула-вписать ИницСписок()), далее расписываю эту процедуру следующим образом:

Процедура ИницСписок()
    ВыпСписок.ДобавитьЗначение("383", "в рублях");
    ВыпСписок.ДобавитьЗначение("384", "в долларах");
КонецПроцедуры

теперь я так понимаю, при щелчке на выпадающий список он должен заполнится значениями, указанными в процедуре, однако этого не происходит. Подобное заполнение при щелчке на тестовую кнопку работает. Хотел бы понять, где я ошибся...
7 NikVars
 
15.11.13
21:05
(6) Нет. Так не нужно. В дополнительно формула выполнится только когда будешь кликать.
Заполни список в модуле после процедур.
Идея и последовательность.
1)Сначала список заполняется (код ниже всех процедур).
2) Потом в процедуре ПриОткрытии() выполняется утановка значений по умолчанию. В примере (3) устанавливаются тысячи.
3) В свойствах дополнительно используется заполненный список, когда щелкаешь на нем, вернее после щелчка и выбора значения выполняется формула в дополнительно.
8 gwyllium
 
15.11.13
22:23
(7)  NikVars, спасибо большое! С этим всем я разобрался. Значение по умолчанию мне особо и не нужно. Остался последний вопрос - как получить выбранное значение в выпадающем списке? Я гуглил, но в основном находил про перебор всего списка или поиск значения, но это не совсем то, что мне нужно. Огромное спасибо за помощь
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший