Ошибка!

Тема в разделе "1C и всё что с ней связано", создана пользователем unrealAn, 1 авг 2013.

  1. unrealAn

    unrealAn Member

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

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


    // определение форм
    Форма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 Тогда
    ЭлементыФормы.КнопкаВыбораФормы.Доступность = Истина;
    Иначе
    ЭлементыФормы.КнопкаВыбораФормы.Доступность = Ложь;
    КонецЕсли;

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

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

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

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

    Glukman Active Member

    Регистрация:
    20 сен 2012
    Сообщения:
    38
    Симпатии:
    0
    Ошибка здесь: мФормыИФорматы = СоздатьДеревоФормИФорматов(); инфа 146%
     
  3. unrealAn

    unrealAn Member

    Регистрация:
    2 апр 2013
    Сообщения:
    5
    Симпатии:
    0
    Ошибка здесь: мФормыИФорматы = СоздатьДеревоФормИФорматов(); инфа 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';
    НоваяФорма.ДатаКонецДействия = ОбщегоНазначения.ПустоеЗначениеТипа(Тип("Дата"));
     
  4. Glukman

    Glukman Active Member

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

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

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

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

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

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

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

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

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

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

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

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


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

    то получишь свой сабж...
    И проблема тут не в 1С
     
  5. unrealAn

    unrealAn Member

    Регистрация:
    2 апр 2013
    Сообщения:
    5
    Симпатии:
    0
    Я не хотел сказать, что проблема в 1С, может неправильно выразился , сорри
    спасибо за пояснения, но по прежнему пишет эту ошибку


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

Поделиться этой страницей