Имя: Пароль:
1C
 
ОткрытьФорму("Документ.КуКу"); Как заполнить реквизиты?
0 Прапорщик Задов
 
17.10.04
18:34
Есть таблица, щелкаю по ячейке и в ОбработкеЯчеекТаблицы пишу
ОткрытьФорму("Документ.КуКу");

как мне в открывшемся документе заполнить некоторые реквизиты?

СоздатьОбьект не подходит, т.к. его надо записывать, а тут возможно что и не надо будет его сохранять, передумают может.

Кто чем поможет?
1 о_о
 
17.10.04
18:36
Передай параметром списокзначений и проанализируй при открытии документа
2 Прапорщик Задов
 
17.10.04
18:38
каким же образом?
можно подробнее?
3 Прапорщик Задов
 
17.10.04
18:41
не пойму как передать параметры
4 о_о
 
17.10.04
18:43
СЗ.ДобавитьЗначение("ЗначениеРеквизит","Реквизит");
открытьформу("Документ.КуКу",СЗ)

в форме документа КуКу
ПриОткрытии()
если ПустоеЗначение(Форма.Параметр)=0 тогда
сз=Форма.Параметр;
реквизит = СЗ.ПолучитьЗначение("Реквизит")
// а дальше что хотим то и делаем
конецесли;

примерная схема.
5 Мишка на сеРвере
 
17.10.04
18:43
Через контекст...
6 Прапорщик Задов
 
17.10.04
18:46
Огромное спасибо!
7 о_о
 
17.10.04
18:46
(5) Как?
8 Мишка на сеРвере
 
17.10.04
18:49
Ну ты же сам написал =)
при открытии формы вторым параметром передается контекст... ты написал в контексте СЗ, можно просто написать контекст, тогда параметрами в открытой форме будут служить реквизиты из открывающего модуля...
9 о_о
 
17.10.04
18:52
О!
И не знал что так называется.
Спасибо.
10 Прапорщик Задов
 
17.10.04
19:02
если я напишу ОткрытьФорму("Документ.КуКу", Контекст);
то как мне в документе получить значение переменной, которая была в процедуре, из которой открывал док?
11 о_о
 
17.10.04
19:05
А чем список значений не устраивает?
12 Мишка на сеРвере
 
17.10.04
19:05
Параметр.ИмяПеременной
по идее, должно быть так... хотя, я работал с реквизитами, а вот перемнные передавать пока не приходилось... попробуй...
13 Прапорщик Задов
 
17.10.04
19:13
чет не получается

делаю так.

в модуле пишу:
Парам=СоздатьОбъект("СписокЗначений");
Парам.ДобавитьЗначение("Рекв1", Рекв1);
Парам.ДобавитьЗначение("Рекв2", Рекв2);
ОткрытьФорму("Документ.КуКу", Парам);

в документе:
Процедура ПриОткрытии()
Если ПустоеЗначение(Форма.Параметр)=0 Тогда
Парам1=Форма.Параметр;
Сообщить(Парам1.ПолучитьЗначение("Рекв2"));
КонецЕсли;
КонецПроцедуры


ругается:
Индекс не входит в границы списка значений.
14 PGY
 
17.10.04
19:15
ДобавитьЗначение(<?>,);
Синтаксис:
ДобавитьЗначение(<Значение>,<Строка>)
Назначение:
Добавить значение в список.
Параметры:
<Значение> - значение, которое добавляется в список;
<Строка> - символьное представление значения (необязателен, по умолчанию - стандартное символьное представление объекта).
Замечание:
В список нельзя добавить значение неопределенного типа, т.е. когда
ТипЗначения(<Значение>)=0,
то никаких действий метод не выполняет.
15 PGY
 
17.10.04
19:16
ПолучитьЗначение(<?>,)
Синтаксис:
ПолучитьЗначение(<Позиция>,<Строка>)
Назначение:
Получить значение из указанной позиции списка.
Возвращает значение из списка.
Параметры:
<Позиция> - номер позиции в списке, из которой возвращается значение (изменяется от 1 до РазмерСписка);
<Строка> - идентификатор переменной, в которой возвращается символьное представление получаемого значения.
16 Мишка на сеРвере
 
17.10.04
19:18
PGY, а почему бы тебе не процитировать полностью всю ЖКК?
17 о_о
 
17.10.04
19:19
Проще говоря - Парам.ДобавитьЗначение(Рекв1,"Рекв1")
18 Мишка на сеРвере
 
17.10.04
19:23
Еще мысля: Если документ вводить на основании, тогда реквизиты основания можно прочитать в предопр. процедурке ВводНаОсновании()
19 PGY
 
17.10.04
19:24
(16) Если человек не может нажать Ctrl-F1, считаю нужным цитировать синтакс-помошника
20 Мишка на сеРвере
 
17.10.04
19:25
(19) ню-ню... =)
21 Прапорщик Задов
 
17.10.04
19:26
Спасибо, заработало.

нет, тут не на основании.
есть таблица, в ней сформирован график.
по вертикали время, по горизонтали кабинеты.
тыкаю на ячейку, открывается пустой док и надо было в него передать время и кабинет.
22 о_о
 
17.10.04
19:27
При вводе на основании можно поймать набор ошибок. Например юзер сделает тоже самое руками. А расчтанных значений не будет. Однажды сам на это напоролся.
23 Прапорщик Задов
 
17.10.04
19:29
а вот еще проблемка.
если этот документ записали, то надо обновить таблицу отчета, из процедуры ОбработкаЯчейки таблицы которой вызывался этот док
24 Мишка на сеРвере
 
17.10.04
19:29
А подробнее можно?
25 о_о
 
17.10.04
19:31
Тогда открывай форму докумета модально. И в передаваемой сз выставляй значение результата закрытия (записан/нет).
26 о_о
 
17.10.04
19:32
(19) тогда лучше отсканить ЖКК и бмпхами заслать ему на почту
27 PGY
 
17.10.04
19:34
(26) Да.. есть ЖКК в электронном виде, и не бмпхи, а мс ворд.
28 Мишка на сеРвере
 
17.10.04
19:34
(25) Ты думаешь, будет работать?
Можно сделать так: Обявить в глобальном модуле переменную
Перем Записан экспорт;
При открытии формы обнулять, а при записи дока, приравнивать 1, потом можно проверить =)
29 Мишка на сеРвере
 
17.10.04
19:35
(27) и что это меняет? у меня их есть и для 6, и для 7.7, и даже для 8.0. все вордовские... ну и что?
30 PGY
 
17.10.04
19:37
(29) какие-то проблемы??
31 Мишка на сеРвере
 
17.10.04
19:39
+29 Если человеку вламы нажать на кнопку в панели инстремнтов, то мы все дружно будем тратить трафик на пересылку файло, а потом еще и отвечать на вопросы в форуме? не... так дело не пойдет...
32 о_о
 
17.10.04
19:39
(28) в модуле формы документа объявить переменную ОжидаемВозврат.
При открытии выставляем в 1.
при закрытии если ожидаемвозврат =1 тогда сз.ДобавитьЗначение(1,"Сохранили")
СЗ вернется туда откуда вызвали.

в вызвавшем отчете -
попытка
 сохраняли= СЗ.Получить("Сохранили")
исключение
 сохранили=0;
конецпопытки

дальше исходя из результатов
33 о_о
 
17.10.04
19:41
(31) Да не. Просто как традиция здесь - вместо того чтобы коротко ткнуть в нужное место или промоляать, разводится длинный флейм по вопросу кто кому чего должен, потом цитаты из ЖКК, потом "... нах, пох..." и все рассходятся довольные.
34 Мишка на сеРвере
 
17.10.04
19:43
(33) я эту тенденцию тоже заметил... Волщебный форум =)
35 Warlock
 
17.10.04
21:24
2 Прапорщик Задов: Сделал, как тебе насоветовали? А теперь попробуй так: создаешь документ, не записываешь. Затем формируешь отчет, расшифоровываешь ячейку. Удивляешься с результата... ведь открывается не записанный документ!

ЗЫ А вообще ты изобретаешь велосипед, который не совсем приспособлен для штатных средств 1С 7.7.

ЗЫЫ Могу дать еще совет: попробуй создать обработку, которая внешне очень похожа на документ и работай с ней. Так ты избежишь проблемы, описанной в начале поста, но налетишь на другую - "очень удобное" редактирование табличной части

ЗЫЫЫ Не позволяй юзерам садится себе на шею.

ЗЫЫЫЫ А еще прапорщик!
36 Прапорщик Задов
 
17.10.04
21:31
а че там с табличной частью?
37 F427
 
17.10.04
21:32
нах
38 о_о
 
17.10.04
21:40
(37) Дождались.
Осталось БорисаГ подождать и выслушать что он никому ничего не должен.
Потом Рупора для флейма

Достало.
39 Warlock
 
17.10.04
21:56
(36)Послушай Пита... Все в табличной части будет через .опу: и добавление строки и удаление и редактирование...
40 F427
 
17.10.04
22:20
хе-хе.... Вместо изъ...бов посмотрите док БыстраяПродажа в торговле...

Штатно применено... между прочим... а то 36 постов сопли жевали...
Там все есть - пакетный ввод, ввод на основании, передача параметров и т.д.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс