8.х параметры в скобочках после процедуры

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем puhentsija, 10 сен 2008.

  1. TopicStarter Overlay
    puhentsija
    Offline

    puhentsija

    Регистрация:
    13 авг 2007
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    допустим , создается процедура
    ПРОЦЕДУРА ляляляля ()
    иногда в скобочках пишутся параметры.
    пожалуйста, объясните этот момент
  2. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    Можно вызывать эти процедуры из других точек модуля, передавая в тех самых параметрах значения.

    Код:
    Процедура Первая()
    ФизЛицо = Справочники.ФизЛица.НайтиПоКоду(1);
    СоздатьСотрудника(ФизЛицо);
    ...
    КонецПроцедуры
    ...
    Процедура СоздатьСтрудника(ФизЛицо)
    ...
    КонецПроцедуры
    
    Имена параметров необязательно должны совпадать, имеют значение их тип и позиция в скобках.
  3. TopicStarter Overlay
    puhentsija
    Offline

    puhentsija

    Регистрация:
    13 авг 2007
    Сообщения:
    29
    Симпатии:
    0
    Баллы:
    1
    спасибо огромное)
    а если несколько параметров через запятую?
    а можно еще примеров?
    что-то меня переклинило на этих скобочках....
  4. opkc
    Offline

    opkc Опытный в 1С

    Регистрация:
    28 янв 2008
    Сообщения:
    149
    Симпатии:
    0
    Баллы:
    26
    ну вот пример. громоздкий, правда :)

    Код:
     
    Функция ДобавитьДвижение(СчетДт,СубконтоДт)
    Движение = Движения.Хозрасчетный.Добавить();
    Движение.Организация = Организация;
    Движение.Период = Дата;
    Движение.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("23.3");
    Движение.СубконтоКт.Вставить("Подразделения");
    Движение.СубконтоКт.Вставить("СтатьиЗатрат");
    Движение.СубконтоКт.Вставить("НоменклатурныеГруппы");
    Движение.СубконтоКт.Вставить("СтатьиКалькуляции");
    Если СчетДт <> ПланыСчетов.Хозрасчетный.НайтиПоКоду("91.2.5.1") Тогда
    Движение.СубконтоДт.Вставить("Подразделения");
    Движение.СубконтоДт.Подразделения = СубконтоДт;
    КонецЕсли;    
    Возврат Движение;
    КонецФункции
    
    Процедура ДвиженияПлановые (СчетДебет, Строка, СубконтоКт, Отбор, ВремяПодр, СубконтоДт);
    //фрагмент кода процедуры
    Если Не НетДанных Тогда
    Движение.Сумма = Окр(Данные.Амортизация * ВремяПодр.Время, 2);
    КонецЕсли;
    
    Движение = ДобавитьДвижение(СчетДебет,СубконтоДт);
    Движение.СчетДт = СчетДебет;
    
    Движение.СубконтоКт.Подразделения = СубконтоКт;
    Движение.СубконтоКт.СтатьиЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("08-Содержание и расходы по эксплуатации транспорта");
    Движение.СубконтоКт.НоменклатурныеГруппы = Справочники.НоменклатурныеГруппы.НайтиПоНаименованию("Заработная плата");
    Движение.СубконтоКт.СтатьиКалькуляции = Справочники.СтатьиКалькуляции.НайтиПоКоду("12");
    
    
    Если Не НетДанных Тогда
    Движение.Сумма = Окр(Данные.Зарплата * ВремяПодр.Время, 2);
    КонецЕсли;
    
    Движение = ДобавитьДвижение(СчетДебет,СубконтоДт);
    Движение.СчетДт = СчетДебет;
    
    Движение.СубконтоКт.Подразделения = СубконтоКт;
    Движение.СубконтоКт.СтатьиЗатрат = Справочники.СтатьиЗатрат.НайтиПоНаименованию("08-Содержание и расходы по эксплуатации транспорта");
    Движение.СубконтоКт.НоменклатурныеГруппы = Справочники.НоменклатурныеГруппы.НайтиПоНаименованию("ЕСН");
    Движение.СубконтоКт.СтатьиКалькуляции = Справочники.СтатьиКалькуляции.НайтиПоКоду("17");
    //дальнейший код процедуры
    КонецПроцедуры;
    
    Процедура ОбработкаПроведения(Отказ, Режим)
    //фрагмент кода процедуры
    Для Каждого СтрокаДанных из ДанныеПоВремени Цикл
    Отбор.Автомобиль = СтрокаДанных.Автомобиль;
    ДвиженияПлановые (СтрПодр.Подразделение.СчетУчета, СтрПодр, Справочники.ПодразделенияОрганизаций.НайтиПоНаименованию("АТЦ"), Отбор, СтрокаДанных, ОтборПодр.Подразделение);
    КонецЦикла;
    //дальнейший код процедуры
    КонецПроцедуры;
    
    
    
    
  5. Саша82
    Offline

    Саша82 Активный ученик

    Регистрация:
    11 окт 2007
    Сообщения:
    307
    Симпатии:
    0
    Баллы:
    26
    Объясните а что иногда указывается в квадратных скобках и когда это применяется?
  6. LxS
    Offline

    LxS Разработчик

    Регистрация:
    5 апр 2007
    Сообщения:
    680
    Симпатии:
    0
    Баллы:
    26
    1. Имя параметра(макет),колонки(тз), индекс и т.п.
    2. Применяется для чтения/записи значения.
    Например, в макете есть параметры с именами к1,к2,..,кN
    Можно обратиться к ним так:
    Код:
    ...
    Для каждого Индекс = 1 по N Цикл
    Макет.Параметры["к"+Индекс] = Индекс;
    КонецЦикла;
    ...
    
    В тз можно получить значение поля:
    Код:
    ...
    Знач = Стр[0].<ИмяКолонки>;
    ...
    
    В Синтакс-Помощнике очень много примеров. А в используемых конфигурациях(если они не пишутся с нуля) тем более.

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