|
Вопрос по УФ. Режим отладки пока не могу запустить. Помоги понять. | ☑ | ||
---|---|---|---|---|
0
razbiralshik
22.02.13
✎
11:23
|
&НаКлиенте
Процедура СчетФактураНажатие(Элемент, СтандартнаяОбработка) ФормаСФПолученный = ОбработкаУФ.уфСчетФактураНажатие(ЭтаФорма,Элемент,"СчетФактураПолученный"); ФормаСФПолученный.Открыть(); КонецПроцедуры Функция уфСчетФактураНажатие(ЭтаФорма, Элемент, ВидСФ) Экспорт МассивВидов = Новый Массив(1); МассивВидов[0] = ВидСФ; МассивПодчиненных = уфПолучитьМассивПодчиненных(Этаформа.Ссылка,МассивВидов, Истина); Если (НЕ МассивПодчиненных = Неопределено) И (МассивПодчиненных.Количество() > 0) Тогда // счет-фактура найден, откроем его СчетФактура = МассивПодчиненных[0].Ссылка; Иначе // счет-фактура НЕ найден, введем новый СчетФактура = Документы[ВидСФ].СоздатьДокумент(); СчетФактура.Заполнить(ЭтаФорма.Ссылка); КонецЕсли; // откроем форму ФормаСФ = СчетФактура.ПолучитьФорму( ,ЭтаФорма); ФормаСФ.ПараметрОснование = ЭтаФорма.Ссылка; Возврат ФормаСФ; КонецФункции// уфСчетФактураНажатие() {ОбщийМодуль.ОбработкаУФ.Модуль(12,17)}: Переменная не определена (Документы) СчетФактура = <<?>>Документы[ВидСФ].СоздатьДокумент(); А если ставишь функцию уфСчетФактураНажатие с тегом &НаСервере, то вообще не видит ее. У ОМ стоит Клиент (УП), Клиент (ОП), Сервер, Вызов сервере. |
|||
1
GANR
22.02.13
✎
11:24
|
(0) в поиск, ключевое слово DEBUG
|
|||
2
razbiralshik
22.02.13
✎
11:25
|
(1) не "не умею запускать в режиме отладки", а не могу по определенным причинам, нельзя рестартить пока сервак, может тока в пн получится.
|
|||
3
GANR
22.02.13
✎
11:32
|
(2) ПолучитьФорму на сервере никогда не сработает. подожди - сейчас пришлю код.
|
|||
4
Жан Пердежон
22.02.13
✎
11:36
|
(2) разверни базу в файловый вариант и там отлаживай
|
|||
5
razbiralshik
22.02.13
✎
11:39
|
(4) не развернется, там регистры адовые
|
|||
6
Рыцарь
22.02.13
✎
11:46
|
Процедура СчетФактураНажатие находится в обработке уфСчетФактураНажатие?
|
|||
7
Рыцарь
22.02.13
✎
11:47
|
(6) * ОбработкаУФ
|
|||
8
GANR
22.02.13
✎
11:48
|
(2) Обе процедуры в модуль формы и...
как-то так... точно знать не могу - конфы перед глазами нету, остальное - в синтаксис-помощнике &НаКлиенте Процедура СчетФактураНажатие(Элемент, СтандартнаяОбработка) СсылкаНаСФ = ПолучитьСчетФактуру(Этаформа.Объект.Ссылка); // форма откроется и получится ТОЛЬКО на клиенте // алгоритм заполнения - перепиши САМ в ПриСозданииНаСервере докуметна СФ // если ЭтаФорма.Параметры.Ключ.Пустая() - признак нового и незаписанного документа ПараметрыФормы = Новый Структура("Ключ, Основание", СсылкаНаСФ, Этаформа.Объект.Ссылка); ОткрытьФорму("Документ.СчетФактура.ФормаОбъекта", ПараметрыФормы); КонецПроцедуры &НаСервереБезКонтекста Функция уфСчетФактураНажатие(СсылкаНаОснование) Экспорт МассивВидов = Новый Массив(1); МассивВидов[0] = "СчетФактураПолученный"; МассивПодчиненных = уфПолучитьМассивПодчиненных(СсылкаНаОснование, МассивВидов, Истина); Если МассивПодчиненных <> Неопределено И МассивПодчиненных.Количество() <> 0 Тогда СчетФактура = МассивПодчиненных[0].Ссылка; Иначе СчетФактура = Документы.СчетФактура.ПустаяСсылка(); КонецЕсли; Возврат СчетФактура; КонецФункции |
|||
9
GANR
22.02.13
✎
11:54
|
А на код из (0) - почему он должен работать???
- ОбработкаОбъект на клиенте не виден - ПолучитьФорму на сервере не сработает - Элемент, передаваемый в процедуру потенциально может вообще выдать ошибку "мутабельное значение" (сейчас не вызывает - повезло) |
|||
10
GANR
22.02.13
✎
11:57
|
>&НаСервереБезКонтекста
Функция уфСчетФактураНажатие(СсылкаНаОснование) Экспорт &НаСервереБезКонтекста Функция ПолучитьСчетФактуру(СсылкаНаОснование) Экспорт |
|||
11
GANR
22.02.13
✎
11:57
|
&НаКлиенте
Процедура СчетФактураНажатие(Элемент, СтандартнаяОбработка) СсылкаНаСФ = ПолучитьСчетФактуру(Этаформа.Объект.Ссылка); // форма откроется и получится ТОЛЬКО на клиенте // алгоритм заполнения - перепиши САМ в ПриСозданииНаСервере докуметна СФ // если ЭтаФорма.Параметры.Ключ.Пустая() - признак нового и незаписанного документа ПараметрыФормы = Новый Структура("Ключ, Основание", СсылкаНаСФ, Этаформа.Объект.Ссылка); ОткрытьФорму("Документ.СчетФактура.ФормаОбъекта", ПараметрыФормы); КонецПроцедуры &НаСервереБезКонтекста Функция ПолучитьСчетФактуру(СсылкаНаОснование) Экспорт МассивВидов = Новый Массив(1); МассивВидов[0] = "СчетФактураПолученный"; МассивПодчиненных = уфПолучитьМассивПодчиненных(СсылкаНаОснование, МассивВидов, Истина); Если МассивПодчиненных <> Неопределено И МассивПодчиненных.Количество() <> 0 Тогда СчетФактура = МассивПодчиненных[0].Ссылка; Иначе СчетФактура = Документы.СчетФактура.ПустаяСсылка(); КонецЕсли; Возврат СчетФактура; КонецФункции |
|||
12
acsent
22.02.13
✎
11:58
|
поставь сервер у себя, скопируй базу
|
|||
13
razbiralshik
22.02.13
✎
12:00
|
(11) ну да, можно и так, только документов таких с вводом СФ много и в каждом такой код прописывать... много строк повторяющихся получится...
|
|||
14
GANR
22.02.13
✎
12:06
|
(13) тогда ПолучитьСчетФактуру - в общий модуль с галочками "На сервере" и "Вызов сервера"
|
|||
15
razbiralshik
22.02.13
✎
12:35
|
(14) спасибо! адаптировал под себя, заработало.
чето я совсем запутался в этих флажках общих модулей, почему у меня не работало с моими флажками? разве если ставишь один флажок, то он не дополняет возможности? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |