1с как передать документ в процедуру

от admin

1с как передать документ в процедуру

Ключевое слово Процедура начинает секцию исходного текста, выполнение которого можно инициировать из любой точки программного модуля, просто указав Имя_процедуры со списком параметров (если параметры не передаются, то круглые скобки, тем не менее, обязательны). Если в модуле обычного приложения, модуле управляемого приложения или общем программном модуле в теле описания процедуры использовано ключевое слово Экспорт , то это означает, что данная процедура является доступной из всех других программных модулей конфигурации.

При выполнении оператора Возврат процедура заканчивается и возвращает управление в точку вызова. Если в тексте процедуры не встретился оператор Возврат , то после выполнения последнего исполняемого оператора происходит выполнение неявного оператора Возврат . Конец программной секции процедуры определяется по оператору КонецПроцедуры .

Переменные, объявленные в теле процедуры в разделе Объявления локальных переменных , являются локальными переменными данной процедуры, поэтому доступны только в этой процедуре (за исключением случая передачи их как параметров при вызове других процедур, функций или методов).

Имя_проц Назначает имя процедуры.
Знач Необязательное ключевое слово, которое указывает на то, что следующий за ним параметр передается по значению, то есть изменение значения формального параметра при выполнении процедуры никак не повлияет на фактический параметр, переданный при вызове процедуры. Если это ключевое слово не указано, то параметр процедуры передается по ссылке, то есть изменение внутри процедуры значения формального параметра приведет к изменению значения соответствующего фактического параметра.
Парам1 , . ПарамN Необязательный список формальных параметров, разделяемых запятыми. Значения формальных параметров должны соответствовать значениям передаваемых при вызове процедуры фактических параметров. В этом списке определяются имена каждого из параметров так, как они используются в тексте процедуры. Список формальных параметров может быть пуст.
= ДефЗнач Необязательная установка значения параметра по умолчанию. Параметры с установленными значениями по умолчанию можно располагать в любом месте списка формальных параметров.
Экспорт Необязательное ключевое слово, которое указывает на то, что данная процедура является доступной из других программных модулей.
// Объявления локальных переменных Объявляются локальные переменные, на которые можно ссылаться только в рамках этой процедуры.
// Операторы Исполняемые операторы процедуры.
Возврат Необязательное ключевое слово, которое завершает выполнение процедуры и осуществляет возврат в точку программы, из которой было обращение к процедуре. Использование данного оператора в процедуре не обязательно.
КонецПроцедуры Обязательное ключевое слово, обозначающее конец исходного текста процедуры, завершение выполнения процедуры. Возврат в точку, из которой было обращение к процедуре.

Функция

Ключевое слово Функция начинает секцию исходного текста функции, выполнение которой можно инициировать из любой точки программного модуля, просто указав Имя_функции со списком параметров (если параметры не передаются, то круглые скобки, тем не менее, обязательны). Если в модуле обычного, управляемого приложения, внешнего соединения, сеанса или общем программном модуле в теле описания функции использовано ключевое слово Экспорт , то это означает, что данная функция является доступной из всех других программных модулей конфигурации.

Функции отличаются от процедур только тем, что возвращают Возвращаемое значение . Конец программной секции функции определяется по оператору КонецФункции .

Вызов любой функции в тексте программного модуля можно записывать как вызов процедуры, то есть в языке допускается не принимать от функции возвращаемое значение .

Переменные, объявленные в теле функции в разделе Объявления локальных переменных , являются локальными переменными данной функции, поэтому доступны только в этой функции (за исключением случая передачи их как параметров при вызове других процедур, функций или методов).

1с как передать документ в процедуру

ZhenyaYa —> ZhenyaYa Подменю пользователя

Просмотр профиля
Найти сообщения пользователя

Здравствуйте еще раз)
Подскажите как можно выполнить процедуру с документа1, которая находится в модуле документа2. Смотрю у формекс есть

но здесь контекст передается через открыть форму. можно ли как то без открытия формы?

MATEVI —> MATEVI Подменю пользователя

Просмотр профиля
Найти сообщения пользователя

Вызов процедур/функций документов/справочников/обработок/отчетов извне

Читать:
Как сбросить все настройки outlook

По материалам интернета

Сообщение отредактировал MATEVI — 19.11.12, 16:27

ZhenyaYa —> ZhenyaYa Подменю пользователя

Просмотр профиля
Найти сообщения пользователя
Kutuzov —> Kutuzov Подменю пользователя

Просмотр профиля
Найти сообщения пользователя

Я делал заход в форму документа в процедуру через "ПриОткрытии". От туда вызывал нужную мне процедуру и потом сбрасывал продолжение открытия, тем самым форма даже не появляеться и сама закрываеться.

Сообщение отредактировал Kutuzov — 19.11.12, 16:57

ZhenyaYa —> ZhenyaYa Подменю пользователя

Просмотр профиля
Найти сообщения пользователя

1С 8.3 Копирование данных документа из источника в приемник — Программист 1С Минск. Автоматизация бизнеса.

1С 8.3 Копирование данных документа из источника в приемник

&НаСервере
Процедура КопированиеДанныхДокумента ( ДокументПриемник , ДокументИсточник , СвойстваВключаемые = «» , СвойстваИсключаемые = «» )

//МетаданныеДокумента = ДокументИсточник.Метаданные();
Попытка
МетаданныеДокумента = ДокументИсточник . Метаданные ();
Исключение
МетаданныеДокумента = ДокументПриемник . Метаданные ();
КонецПопытки;

ЗаполнитьЗначенияСвойств ( ДокументПриемник , ДокументИсточник , СвойстваВключаемые , СвойстваИсключаемые );

Для Каждого ТаблЧасть Из МетаданныеДокумента . ТабличныеЧасти Цикл
ИмяТаблЧасти = ТаблЧасть . Имя ;

ДокументПриемник [ ИмяТаблЧасти ]. Очистить ();
Для Каждого ТекСтрИсточника Из ДокументИсточник [ ИмяТаблЧасти ] Цикл
НоваяСтрокаПриемника = ДокументПриемник [ ИмяТаблЧасти ]. Добавить ();
ЗаполнитьЗначенияСвойств ( НоваяСтрокаПриемника , ТекСтрИсточника , СвойстваВключаемые , СвойстваИсключаемые )
КонецЦикла
КонецЦикла
// Объект копируемого документа не записывается, действия по записи и проведению документа производятся вне процедуры

Процедуры и функции

Процедуры и функции используются для выделения отдельных алгоритмов, разбития кода на логические участки или для избежания дублирования кода. Функция отличается от процедуры тем, что возвращает значение.

Параметры

У процедур и функций может быть сколько угодно параметров или может не быть вообще. Параметры могут быть обязательными и необязательными(в таком случае необходимо указать значения параметров по умолчанию). Обычно обязательные параметры указываются вначале, необязательные в конце.

Передача параметров в процедуру или функцию

В функцию или процедуру параметры передаются по ссылке(не создается отдельная копия, а передается ссылка на эту переменную, изменение параметра повлечет за собой изменение переменной), но если при определении процедуры/функции перед параметром указать Знач например:

то в функцию будет передаваться не ссылка на переменную а ее копия. Некоторые типы значений всегда передаются по ссылке, надо найти и указать. Порядок следования процедур и функций в модуле не имеет значения. Пример определения процедуры:

Документирование

С некоторых пор в платформе появилась возможность документировать собственные процедуры и функции. Для этого комментарий к функции должен быть оформлен особым образом. Система подсказок платформы умеет распознавать такие комментарии. И при отображении подсказок по параметрам функции будет выводить не только имена параметров, но и их назначение.

При написании кода, использующего такую функцию, мы получим удобный комментарий.

1с как передать документ в процедуру

Как вызвать процедуру, описанную в классе
Есть myClass Sub MyProcedure(n) End Sub Создаем экземпляр класса Dim mc1 As New Class

Как передать значение указателя в процедуру (Sender: TObject)?
Здравствуйте! Имеется самостоятельно описанная процедура AddFilmList, в которую я хочу передать.

1С 8.3 Копирование данных документа из источника в приемник — Программист 1С Минск. Автоматизация бизнеса.

1С 8.3 Копирование данных документа из источника в приемник

&НаСервере
Процедура КопированиеДанныхДокумента ( ДокументПриемник , ДокументИсточник , СвойстваВключаемые = «» , СвойстваИсключаемые = «» )

//МетаданныеДокумента = ДокументИсточник.Метаданные();
Попытка
МетаданныеДокумента = ДокументИсточник . Метаданные ();
Исключение
МетаданныеДокумента = ДокументПриемник . Метаданные ();
КонецПопытки;

ЗаполнитьЗначенияСвойств ( ДокументПриемник , ДокументИсточник , СвойстваВключаемые , СвойстваИсключаемые );

Для Каждого ТаблЧасть Из МетаданныеДокумента . ТабличныеЧасти Цикл
ИмяТаблЧасти = ТаблЧасть . Имя ;

ДокументПриемник [ ИмяТаблЧасти ]. Очистить ();
Для Каждого ТекСтрИсточника Из ДокументИсточник [ ИмяТаблЧасти ] Цикл
НоваяСтрокаПриемника = ДокументПриемник [ ИмяТаблЧасти ]. Добавить ();
ЗаполнитьЗначенияСвойств ( НоваяСтрокаПриемника , ТекСтрИсточника , СвойстваВключаемые , СвойстваИсключаемые )
КонецЦикла
КонецЦикла
// Объект копируемого документа не записывается, действия по записи и проведению документа производятся вне процедуры

1с как передать документ в процедуру

Как вызвать процедуру, описанную в классе
Есть myClass Sub MyProcedure(n) End Sub Создаем экземпляр класса Dim mc1 As New Class

Как передать значение указателя в процедуру (Sender: TObject)?
Здравствуйте! Имеется самостоятельно описанная процедура AddFilmList, в которую я хочу передать.

Похожие статьи