Имя: Пароль:
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, спасибо большое! С этим всем я разобрался. Значение по умолчанию мне особо и не нужно. Остался последний вопрос - как получить выбранное значение в выпадающем списке? Я гуглил, но в основном находил про перебор всего списка или поиск значения, но это не совсем то, что мне нужно. Огромное спасибо за помощь
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн