![]() |
|
Общий модуль. Ошибка при вызове процедуры | ☑ | ||
---|---|---|---|---|
0
wwwqwert2014
27.05.14
✎
19:42
|
Написал общий модуль. Он называется БухгалтерияСерверПовторно.
Почему процедуры, которые определены ВНУТРИ этого метода я не могу вызывать так:УстановитьПодразделениеПроводки(Проводка, ПодразделениеКт, "Кт"); а могу вызывать только так: БухгалтерияСерверПовторно.УстановитьПодразделениеПроводки(Проводка, ПодразделениеДт, "Дт"); в настройках модуля стоит галочка Сервер. и всё. Весь код &НаСервере Функция ПолучитьСчетУчетаНоменклатуры(Организация, Номенклатура) Экспорт Запрос = Новый Запрос; ПустаяНоменклатура = Справочники.Номенклатура.ПустаяСсылка(); МассивНоменклатура = Новый Массив; МассивНоменклатура.Добавить(Номенклатура); МассивНоменклатура.Добавить(ПустаяНоменклатура); Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Запрос.УстановитьПараметр("ПустаяНоменклатура", ПустаяНоменклатура); Запрос.УстановитьПараметр("МассивНоменклатура", МассивНоменклатура); ПустаяОрганизация = Справочники.Организации.ПустаяСсылка(); МассивОрганизация = Новый Массив; Запрос.УстановитьПараметр("Организация", Организация); Запрос.УстановитьПараметр("ПустаяОрганизация", ПустаяОрганизация); Запрос.УстановитьПараметр("МассивОрганизация", МассивОрганизация); Запрос.Текст = "ВЫБРАТЬ | СчетаУчетаНоменклатуры.Номенклатура, | СчетаУчетаНоменклатуры.СчетУчета |ПОМЕСТИТЬ Счета |ИЗ | РегистрСведений.СчетаУчетаНоменклатуры КАК СчетаУчетаНоменклатуры |ГДЕ | СчетаУчетаНоменклатуры.Номенклатура В(&МассивНоменклатура) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Счета.СчетУчета |ИЗ | Счета КАК Счета |ГДЕ | Счета.Номенклатура = &Номенклатура | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Счета.СчетУчета |ИЗ | Счета КАК Счета |ГДЕ | Счета.Номенклатура = &ПустаяНоменклатура"; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Возврат Выборка.СчетУчета; КонецЕсли; Возврат Неопределено; КонецФункции &НаСврвере Процедура УстановитьПодразделениеПроводки(Проводка, Подразделение, ДтКт) Если Проводка["Счет" + ДтКт].УчетПоПодразделениям Тогда Проводка["Подразделение" + ДтКт] = Подразделение; КонецЕсли; КонецПроцедуры &НаСервере Процедура УстановитьПодразделенияПроводки(Проводка, ПодразделениеДт, ПодразделениеКт) Экспорт ПараметрыОпции = Новый Структура("Организация", Проводка.Организация); ПоПодразделениям = ПолучитьФункциональнуюОпцию("ПоПодразделениям", ПараметрыОпции); Если ПоПодразделениям Тогда БухгалтерияСерверПовторно.УстановитьПодразделениеПроводки(Проводка, ПодразделениеДт, "Дт"); УстановитьПодразделениеПроводки(Проводка, ПодразделениеКт, "Кт"); КонецЕсли; КонецПроцедуры |
|||
1
wwwqwert2014
27.05.14
✎
19:52
|
Проблема решена. Тема закрыта
|
|||
2
simol
27.05.14
✎
21:27
|
(1) порадуй решением
|
|||
3
Kain_wrath
27.05.14
✎
22:20
|
будет он делится сакральным знанием с кем попало
|
|||
4
Любопытная
28.05.14
✎
05:00
|
Глобальный – если флаг установлен, функции и процедуры из этого модуля становятся доступны в глобальном контексте. Т.е их можно вызвать в любом месте конфигурации, обращаясь без название общего модуля. Однако добавляется условие – название процедур и функций в этом общем модуле должны быть уникальны в рамках глобального контекста.
Элементарно же |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |