Помогите новичку (1с v.7.7 Бюджет)

Новая тема
"В форме документа получаю ВыбраннаяФирма, но как мне эту выбранную фирму
передать в процедуру Сформировать - не знаю


Процедура ПриИзмененииФирмы()
СпрФирмы=СоздатьОбъект("Справочник.Фирмы");
СпрФирмы.НайтиЭлемент(ВыбраннаяФирма);
КонецПроцедуры
//*******************************************
Процедура Сформировать()
СпрФирмы=СоздатьОбъект("Справочник.Фирмы");
СпрОС=СоздатьОбъект("Справочник.ОсновныеСредства");
СпрФирмы.НайтиПоНаименованию(ВыбраннаяФирма);
СпрОС.ИспользоватьВладельца(СпрФирмы.ТекущийЭлемент());
СпрОС.ВыбратьЭлементы();
Пока СпрОС.ПолучитьЭлемент()=1 Цикл
    СпрОС.ПолнНаимен=СпрОС.Наименование;
Сообщить(СпрОС.ПолнНаимен);
СпрОС.Записать();
КонецЦикла;
КонецПроцедуры
"
"Процедура Сформировать(ВыбраннаяФирма="""")
 Если ВыбраннаяФирма.Выбран()=0 Тогда
    сообщить("Не верно передали параметр или выбранная фирма пустое значение");
    возврат;
 КонецЕсли;
 СпрФирмы=СоздатьОбъект("Справочник.Фирмы");
 СпрОС=СоздатьОбъект("Справочник.ОсновныеСредства");
 Если СпрФирмы.НайтиЭлемент(ВыбраннаяФирма)=0 Тогда
    сообщить(" не нашли переданную фирму");
    возврат;
 КонецЕсли;
 //Дальше делаем что хотим
"
А что здесь обозначает (ВыбраннаяФирма=")
"Это означает, что в процедуру вы передаете параметр с выбранной фирмой.
есть 2 способа вызова процедуры Сформировать :
1. Сформировать();
- ВыбраннаяФирма = Пустоезначение
2. Сформировать(СпрФирмы.ТекущийЭлементь());
- ВыбраннаяФирма = СпрФирмы.ТекущийЭлемент()"
"Пишу код:
Процедура Сформировать(ВыбраннаяФирма="""")
Если ВыбраннаяФирма.Выбран()=0 Тогда
   сообщить("Не верно передали параметр или выбранная фирма пустое значение");
   возврат;
КонецЕсли;
СпрФирмы=СоздатьОбъект("Справочник.Фирмы");
СпрОС=СоздатьОбъект("Справочник.ОсновныеСредства");

В ответ:
Если ВыбраннаяФирма.Выбран()=0 Тогда
{C:\ОС.ERT(29)}: Значение не представляет агрегатный объект (Выбран)"
Откуда вызываете Сформировать()?
Весь код напишите!
"Процедура ПриИзмененииФирмы()
СпрФирмы=СоздатьОбъект("Справочник.Фирмы");
СпрФирмы.НайтиЭлемент(ВыбраннаяФирма);
КонецПроцедуры
//*******************************************

Процедура Сформировать(ВыбраннаяФирма="""")
Если ВыбраннаяФирма.Выбран()=0 Тогда
   сообщить("Не верно передали параметр или выбранная фирма пустое значение");
   возврат;
КонецЕсли;
СпрФирмы=СоздатьОбъект("Справочник.Фирмы");
СпрОС=СоздатьОбъект("Справочник.ОсновныеСредства");
Если СпрФирмы.НайтиЭлемент(ВыбраннаяФирма)=0 Тогда
   сообщить(" не нашли переданную фирму");
   возврат;
КонецЕсли;  
Счетчик=0;
СпрФирмы.НайтиЭлемент(ВыбраннаяФирма);
Сообщить(СпрФирмы.ТекущийЭлемент());
СпрОС.ИспользоватьВладельца(СпрФирмы.ТекущийЭлемент());
СпрОС.ВыбратьЭлементы();
Пока СпрОС.ПолучитьЭлемент()=1 Цикл
Сообщить(СпрОС.ПолнНаимен);
СпрОС.ПолнНаимен=СпрОС.Наименование;
Счетчик=Счетчик+1;
Сообщить(СпрОС.ПолнНаимен);
СпрОС.Записать();
КонецЦикла;
Сообщить("Обработано "+Счетчик+" элементов")
КонецПроцедуры"
"При описании действий кнопки, надо описать вызов процедуры ПриИзменеииФирмы(),
цитировать Процедура ПриИзмененииФирмы()
СпрФирмы=СоздатьОбъект("Справочник.Фирмы");
 //здесь откуда береться ВыбраннаяФирма?
 СпрФирмы.НайтиЭлемент(ВыбраннаяФирма);
 Сформировать(СпрФирмы.ТекущийЭлемент());
КонецПроцедуры
"
> В форме документа получаю ВыбраннаяФирма, но как мне эту выбранную фирму
> передать в процедуру Сформировать - не знаю

Я конечно не знаю КАКОЙ ВЫ используете документ, но в типовой конфигурации "Бюджетной бухгалтерии ред. 6" реквизит "ВыбраннаяФирма" - является ОБЩИМ РЕКВИЗИТОМ, поэтому:
1. Если документ типовой конфигурации, то значение этого реквизита (по умолчанию) будет зависеть от настроек: справочника "Пользователи", константы - Балансодержатель по умолчанию или просто берется первая запись из справочника "Фирмы".
2. Если добавили новый документ  в конфигурацию, то возьмите любой документ типовой конфигурации и посмотрите код процедур "Ввод нового()", "ПриВыбореФирмы()" ну и т.д..
"Получилось!
Процедура ПриИзмененииФирмы()
СпрФирмы=СоздатьОбъект("Справочник.Фирмы");
СпрФирмы.НайтиЭлемент(ВыбраннаяФирма);
Сообщить(СпрФирмы.ТекущийЭлемент());
КонецПроцедуры
//*******************************************
Процедура Сформировать()
Если ВыбраннаяФирма.Выбран()=0 Тогда
   сообщить("Выберите учреждение");
   возврат;
КонецЕсли;
СпрФирмы=СоздатьОбъект("Справочник.Фирмы");
СпрОС=СоздатьОбъект("Справочник.ОсновныеСредства");
Счетчик=0;
СпрФирмы.НайтиЭлемент(ВыбраннаяФирма);
Сообщить(СпрФирмы.ТекущийЭлемент());
СпрОС.ИспользоватьВладельца(СпрФирмы.ТекущийЭлемент());
СпрОС.ВыбратьЭлементы();
Пока СпрОС.ПолучитьЭлемент()=1 Цикл
Сообщить(СпрОС.ПолнНаимен);
СпрОС.ПолнНаимен=СпрОС.Наименование;
Счетчик=Счетчик+1;
Сообщить(СпрОС.ПолнНаимен);
СпрОС.Записать();
КонецЦикла;
Сообщить("Обработано "+Счетчик+" элементов")
КонецПроцедуры"
Читают тему
(гостей: 1)

Быстрый переход