Ошибка!

02.04.2013
5
0
#1
Понимаю что эту ошибку ({Форма.ОсновнаяФорма.Форма(102,1)}: Определения процедур и функций должны размещаться перед операторами тела модуля <<?>>Процедура ПоказатьПериод() (Проверка: Толстый клиент (обычное приложение)))
уже много раз обсуждали, но у меня нет лишней ";" Посмотрите пожалуйста

Код:
////////////////////////////////////////////////////////////////////////////////
// ПЕРЕМЕННЫЕ МОДУЛЯ
////////////////////////////////////////////////////////////////////////////////
// ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ ДЛЯ ОПРЕДЕЛЕНИЯ ДЕРЕВА ФОРМ И ФОРМАТОВ
////////////////////////////////////////////////////////////////////////////////
// ОПРЕДЕЛЕНИЕ ДЕРЕВА ФОРМ И ФОРМАТОВ ОТЧЕТА
мФормыИФорматы = СоздатьДеревоФормИФорматов();


// определение форм
Форма20100101 = ОпределитьФормуВДеревеФормИФорматов(мФормыИФорматы, "1608301", '20091002', "213", "ФормаОтчета2009");
Форма20110101 = ОпределитьФормуВДеревеФормИФорматов(мФормыИФорматы, "1608301", '20110803', "344", "ФормаОтчета2011");

ОписаниеТиповСтрока = ОбщегоНазначения.ПолучитьОписаниеТиповСтроки(0);

МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("Дата"));
ОписаниеТиповДата = Новый ОписаниеТипов(МассивТипов, , Новый КвалификаторыДаты(ЧастиДаты.Дата));

мТаблицаФормОтчета = Новый ТаблицаЗначений;
мТаблицаФормОтчета.Колонки.Добавить("ФормаОтчета",		ОписаниеТиповСтрока);
мТаблицаФормОтчета.Колонки.Добавить("ОписаниеОтчета",	 ОписаниеТиповСтрока, "Утверждена", 20);
мТаблицаФормОтчета.Колонки.Добавить("ДатаНачалоДействия", ОписаниеТиповДата,  "Действует с", 5);
мТаблицаФормОтчета.Колонки.Добавить("ДатаКонецДействия", ОписаниеТиповДата,  "		 по", 5);

НоваяФорма = мТаблицаФормОтчета.Добавить();
НоваяФорма.ФормаОтчета		= "ФормаОтчета2009";
НоваяФорма.ОписаниеОтчета	 = "Форма утверждена приказом Росстата от 02.10.2009 № 213";
НоваяФорма.ДатаНачалоДействия = '20090101';
НоваяФорма.ДатаКонецДействия = '20101231';

НоваяФорма = мТаблицаФормОтчета.Добавить();
НоваяФорма.ФормаОтчета		= "ФормаОтчета2011";
НоваяФорма.ОписаниеОтчета	 = "Форма утверждена приказом Росстата от 03.08.2011 № 344";
НоваяФорма.ДатаНачалоДействия = '20110101';
НоваяФорма.ДатаКонецДействия = ОбщегоНазначения.ПустоеЗначениеТипа(Тип("Дата"));



// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ
// Процедура управляет показом в форме периода построения отчета.
Процедура ПоказатьПериод
СтрПериодОтчета = ПредставлениеПериода(НачалоДня(мДатаНачалаПериодаОтчета), КонецДня(мДатаКонцаПериодаОтчета), "ФП = Истина" );

ЭлементыФормы.НадписьПериодСоставленияОтчета.Заголовок = СтрПериодОтчета;

КоличествоФорм = РегламентированнаяОтчетность.КоличествоФормСоответствующихВыбранномуПериоду(ЭтаФорма);
Если КоличествоФорм >= 1 Тогда

Если КоличествоФорм > 1 Тогда
ЭлементыФормы.КнопкаВыбораФормы.Доступность = Истина;
Иначе
ЭлементыФормы.КнопкаВыбораФормы.Доступность = Ложь;
КонецЕсли;

ЭлементыФормы.ОсновныеДействияФормы.Кнопки.ОК.Доступность = Истина;

Иначе
ЭлементыФормы.КнопкаВыбораФормы.Доступность = Ложь;
ЭлементыФормы.ОписаниеНормативДок.Значение = "";
ЭлементыФормы.ОсновныеДействияФормы.Кнопки.ОК.Доступность = Ложь;
КонецЕсли;

РегламентированнаяОтчетность.ВыборФормыРегламентированногоОтчетаПоУмолчанию(ЭтаФорма);

КонецПроцедуры // ПоказатьПериод()
 

Glukman

Active member
20.09.2012
38
0
#2
Ошибка здесь: мФормыИФорматы = СоздатьДеревоФормИФорматов(); инфа 146%
 
02.04.2013
5
0
#3
Ошибка здесь: мФормыИФорматы = СоздатьДеревоФормИФорматов(); инфа 146%
Да нет там такой скрипт, просто не стал все вставлять


мФормыИФорматы = СоздатьДеревоФормИФорматов();

// определение форм
Форма20100101 = ОпределитьФормуВДеревеФормИФорматов(мФормыИФорматы, "1608301", '20091002', "213", "ФормаОтчета2009");
Форма20110101 = ОпределитьФормуВДеревеФормИФорматов(мФормыИФорматы, "1608301", '20110803', "344", "ФормаОтчета2011");

ОписаниеТиповСтрока = ОбщегоНазначения.ПолучитьОписаниеТиповСтроки(0);

МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("Дата"));
ОписаниеТиповДата = Новый ОписаниеТипов(МассивТипов, , Новый КвалификаторыДаты(ЧастиДаты.Дата));

мТаблицаФормОтчета = Новый ТаблицаЗначений;
мТаблицаФормОтчета.Колонки.Добавить("ФормаОтчета", ОписаниеТиповСтрока);
мТаблицаФормОтчета.Колонки.Добавить("ОписаниеОтчета", ОписаниеТиповСтрока, "Утверждена", 20);
мТаблицаФормОтчета.Колонки.Добавить("ДатаНачалоДействия", ОписаниеТиповДата, "Действует с", 5);
мТаблицаФормОтчета.Колонки.Добавить("ДатаКонецДействия", ОписаниеТиповДата, " по", 5);

НоваяФорма = мТаблицаФормОтчета.Добавить();
НоваяФорма.ФормаОтчета = "ФормаОтчета2009";
НоваяФорма.ОписаниеОтчета = "Форма утверждена приказом Росстата от 02.10.2009 № 213";
НоваяФорма.ДатаНачалоДействия = '20090101';
НоваяФорма.ДатаКонецДействия = '20101231';

НоваяФорма = мТаблицаФормОтчета.Добавить();
НоваяФорма.ФормаОтчета = "ФормаОтчета2011";
НоваяФорма.ОписаниеОтчета = "Форма утверждена приказом Росстата от 03.08.2011 № 344";
НоваяФорма.ДатаНачалоДействия = '20110101';
НоваяФорма.ДатаКонецДействия = ОбщегоНазначения.ПустоеЗначениеТипа(Тип("Дата"));
 

Glukman

Active member
20.09.2012
38
0
#4
Ключ вот здесь: "Определения процедур и функций должны размещаться перед операторами тела модуля" - 1С как бы намекает что в тексте модуля операторы не должны быть НАПИСАНЫ перед процедурой или функцией

проще говоря вот так будет правильно:
//----------------------------------------
Процедура Лялялля()

КонецПроцедуры

Функция Труляля()

КонецФункции

Переменная = 123;
Массив = Новый Массив;
//----------------------------------------

а вот если напишешь так:

//----------------------------------------
Переменная = 123;
Массив = Новый Массив;

Процедура Лялялля()

КонецПроцедуры

Функция Труляля()

КонецФункции


//----------------------------------------

то получишь свой сабж...
И проблема тут не в 1С
 
02.04.2013
5
0
#5
Я не хотел сказать, что проблема в 1С, может неправильно выразился , сорри
спасибо за пояснения, но по прежнему пишет эту ошибку


Спасибо за помощь,
Тема закрыта