|
Вызов процедуры из внешней обработки | ☑ | ||
---|---|---|---|---|
0
EKO LX
10.10.12
✎
10:43
|
УТ 81, документ ЧекККМ. нужно нажать на кнопку "КнопкаОплатаБезСдачи" Делаю так:
Фрм = Результат.ДокументСсылка.ПолучитьФорму("ФормаДокумента"); Фрм.ВидОплаты = Справочники.ВидыОплатЧекаККМ.Наличные; Фрм.КнопкаОплатаБезСдачиНажатие(); Фрм.ЗаписатьВФорме(РежимЗаписиДокумента.Запись); Сообщить(Результат.ДокументСсылка); ругается что {Форма.Форма(51)}: Недостаточно фактических параметров Фрм.КнопкаОплатаБезСдачиНажатие(); какие фактические параметры? помогите пожалуйста, очень нужно |
|||
1
ZanderZ
10.10.12
✎
10:44
|
Фрм.КнопкаОплатаБезСдачиНажатие("");
|
|||
2
Нуф-Нуф
10.10.12
✎
10:44
|
открой обработку, и посмотри какие параметры должны быть на входе в процедуру Фрм.КнопкаОплатаБезСдачиНажатие
|
|||
3
Нуф-Нуф
10.10.12
✎
10:45
|
(1) скорее всего
|
|||
4
EKO LX
10.10.12
✎
10:50
|
вот сама процедура
Процедура КнопкаОплатаБезСдачиНажатие(Элемент) Экспорт Если ПереключательОплатаПростая Тогда СуммаОплаты = Товары.Итог("Сумма"); ПриИзмененииСуммыОплаты(); Иначе Предупреждение("Оплата редактируется в списке!"); КонецЕсли; КонецПроцедуры // КнопкаОплатаБезСдачиНажатие() |
|||
5
Нуф-Нуф
10.10.12
✎
10:51
|
(4) и? никакие мысли в голову не приходят?
см (1) |
|||
6
EKO LX
10.10.12
✎
11:03
|
(5) дописываю Элемент - КнопкаОплатаБезСдачиНажатие(Элемент)
конфа ругается на {Форма.Форма(51,35)}: Переменная не определена (Элемент) Фрм.КнопкаОплатаБезСдачиНажатие(<<?>>Элемент); делаю ее переменной в начале модуля, проверяю в пользовательском режиме при переходе к каждому документу появляется та самая предупреждение("оплата редактируется в списке!"); а потом {Форма.Форма(52)}: Ошибка при вызове метода контекста (ЗаписатьВФорме): Операция не выполнена! Фрм.ЗаписатьВФорме(РежимЗаписиДокумента.Запись) |
|||
7
Нуф-Нуф
10.10.12
✎
11:04
|
сделай так и не парь мозг
Фрм = Результат.ДокументСсылка.ПолучитьФорму("ФормаДокумента"); Фрм.ВидОплаты = Справочники.ВидыОплатЧекаККМ.Наличные; Фрм.КнопкаОплатаБезСдачиНажатие(""); Фрм.ЗаписатьВФорме(РежимЗаписиДокумента.Запись); Сообщить(Результат.ДокументСсылка); |
|||
8
EKO LX
10.10.12
✎
11:43
|
(7) так тоже пробовал, она эту процедуру вызывает так как выходит та предупреждение из процедуры, и то это предупреждение появляется при переходе на те документы у которых это поле заполнено, затем выдает ошибку "Сумма всех типов оплат меньше суммы документа" и
{Форма.Форма(52)}: Ошибка при вызове метода контекста (ЗаписатьВФорме): Операция не выполнена! Фрм.ЗаписатьВФорме(РежимЗаписиДокумента.Запись); |
|||
9
1Страх
10.10.12
✎
11:44
|
кто ее сделал экспортной, вот вопрос
давай доламывай дальше: Процедура КнопкаОплатаБезСдачиНажатие(Элемент=Неопределено) Экспорт |
|||
10
1Страх
10.10.12
✎
11:45
|
кто придумал так записывать объекты?
|
|||
11
EKO LX
10.10.12
✎
11:47
|
(10) так тоже не идет
|
|||
12
EKO LX
10.10.12
✎
11:48
|
(10) а что ни так?
|
|||
13
Kreont
10.10.12
✎
11:51
|
(0) Так вставь себе весь код из процедуры: КнопкаОплатаБезСдачиНажатие
а для ПриИзмененииСуммыОплаты() добавь Экспорт или наоборот: В проц.КнопкаОплатаБезСдачиНажатие добавь процедуру КодКнопкаОплатаБезСдачиНажатие();//Экспортную только сделай ее и в нее впихни все из КнопкаОплатаБезСдачиНажатие |
|||
14
EKO LX
10.10.12
✎
11:56
|
(13) первый вариант я так и сделал, саму процедуру Экспорт и вызываю ее из внешней обработки. не идет. а второй вариант не понял, можно по подробней?
|
|||
15
hhhh
10.10.12
✎
11:59
|
(14) а чего вы эту процедуру смотрите? У вас ведь ошибка в ЗаписатьВФорме? Там и смотрите.
|
|||
16
Kreont
10.10.12
✎
11:59
|
(14) Типа так:
Процедура КнопкаОплатаБезСдачиНажатие(Элемент) КнопкаОплатаБезСдачиНажатиеСделать(); КонецПроцедуры // КнопкаОплатаБезСдачиНажатие() Процедура КнопкаОплатаБезСдачиНажатиеСделать() Экспорт Если ПереключательОплатаПростая Тогда СуммаОплаты = Товары.Итог("Сумма"); ПриИзмененииСуммыОплаты(); Иначе Предупреждение("Оплата редактируется в списке!"); КонецЕсли; КонецПроцедуры и вызывай уже у себя во внешн.обработке : Фрм.КнопкаОплатаБезСдачиНажатиеСделать() |
|||
17
EKO LX
10.10.12
✎
12:08
|
(16) не идет может действительно в методе записи проблема. я проверял без вызова процедуры другие операции обработка делает и записывает
|
|||
18
osa1C
10.10.12
✎
12:15
|
ПриИзмененииСуммыОплаты() копать надо
|
|||
19
EKO LX
10.10.12
✎
12:18
|
Фрм = Результат.ДокументСсылка.ПолучитьФорму("ФормаДокумента");
Фрм.ВидОплаты = Справочники.ВидыОплатЧекаККМ.Наличные; Фрм.КнопкаОплатаБезСдачиНажатие(""); Фрм.Записать(РежимЗаписиДокумента.Запись); Сообщить(Результат.ДокументСсылка); обработка вызывает и ошибок нет, но эта кнопка нажимается как-то иначе. при ручном нажатии воле ввода заполняется, а программно выдает это предупреждение и не заполняет Иначе Предупреждение("Оплата редактируется в списке!"); КонецЕсли; |
|||
20
hhhh
10.10.12
✎
12:20
|
(19) попробуй всё-таки
Фрм = Результат.ДокументСсылка.ПолучитьОбъект().ПолучитьФорму("ФормаДокумента"); |
|||
21
EKO LX
10.10.12
✎
12:21
|
не знаю как просто нужно сделать так чтобы было
Если ПереключательОплатаПростая Тогда в этом случаи думаю он заполнит |
|||
22
hhhh
10.10.12
✎
12:22
|
(21) ну вы же получаете
Фрм = Результат.ДокументСсылка.ПолучитьФорму("ФормаДокумента"); абсолютно чистую форму, без данных. |
|||
23
EKO LX
10.10.12
✎
12:23
|
(20) нет, не идет. о пять это предупреждение((
|
|||
24
Kreont
10.10.12
✎
12:23
|
Может так задать перед вызовом:
Фрм.ПереключательОплатаПростая = Истна |
|||
25
EKO LX
10.10.12
✎
12:25
|
(20) нет, не идет. опять выдает это предупреждение((
|
|||
26
EKO LX
10.10.12
✎
12:28
|
(24) ОГРОМНОЕ ВАМ СПАСИБО!!! ПОШЛО)) ВСЕ СПАСИБО ЗА ПОМОЩЬ!!!
|
|||
27
EKO LX
10.10.12
✎
12:30
|
эхх...вид оплаты не выбирает...
Фрм.ВидОплаты = Справочники.ВидыОплатЧекаККМ.Наличные; |
|||
28
Kreont
10.10.12
✎
12:39
|
(27) "ВидОплаты" реквизит ТЧ, а не документа
|
|||
29
EKO LX
10.10.12
✎
13:12
|
(28) так сойдет?
Для Каждого Строка Из ЧекККМ.Оплата Цикл Если НЕ ЗначениеЗаполнено(Строка.ВидОплаты) Тогда Оплата = Справочники.ВидыОплатЧекаККМ.Наличные; Строка.ВидОплаты = Оплата; КонецЕсли; КонецЦикла; |
|||
30
EKO LX
10.10.12
✎
13:14
|
Когда идет два цикла при закрытии циклов порядок какой, сверху вниз или снизу вверх?
|
|||
31
Kreont
10.10.12
✎
13:15
|
Вроде да, ну для оптимизации можно:
"Оплата = Справочники.ВидыОплатЧекаККМ.Наличные;" вверх за цикл вынести, но компы и так минимум 2-ядерные, потянут... (30) LIFO :) |
|||
32
1Страх
10.10.12
✎
13:20
|
(30) что такое закрытие цикла?
|
|||
33
EKO LX
10.10.12
✎
13:22
|
(32) конеццикла
|
|||
34
EKO LX
10.10.12
✎
13:23
|
(31) ясненько. спасибо еще раз!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |