Имя: Пароль:
1C
1С v8
Редактирование обработки обслуживания
0 Slon747
 
07.04.16
16:10
Имеется обработка торгового оборудования.
Вызов ф-ции из этой обработки:
ПолучитьСерверТО().ЗакрытьЧек(Идентификатор, СуммаНал, СуммаБезнал);

Изменяю обработку, добавив еще один параметр в ф-цию ЗакрытьЧек()
и перезаливаю ее в торговое оборудование.
При вызове возникает ошибка, что слишком много параметров.
Хотя если вместо добавления параметра что-то другое изменить, то видно, что обработка все же используется измененная.
Так в чем же дело?
1 ДенисЧ
 
07.04.16
16:11
в обработке
ЗакрытьЧек(дентификатор, СуммаНал, СуммаБезнал, ЕщёОдинПараметр = Неопределено)
2 Slon747
 
07.04.16
16:17
Я так делал:
Функция ЗакрытьЧек(Объект, СуммаНал, СуммаБезнал, Бонусы="") Экспорт
3 Slon747
 
07.04.16
16:20
Ну т.е. дело не в этом
4 ДенисЧ
 
07.04.16
16:25
Тогда тему начала одна из трёх черепашек.
Я делал изменение сигнатуры, у меня всё проходило
5 Slon747
 
07.04.16
16:30
(4) Ну что за фигня?
Было:
Результат = ПолучитьСерверТО().ЗакрытьЧек(Идентификатор, СуммаНал, СуммаБезнал);

Стало:
Результат = ПолучитьСерверТО().ЗакрытьЧек(Идентификатор, СуммаНал, СуммаБезнал, "");

В обработке:
//-----------
Функция ЗакрытьЧек(Объект, СуммаНал, СуммаБезнал, Бонусы="") Экспорт

Предупреждение("Обработка изменена!"); //чтобы знать, что изменения работают
//-----------

Ошибка в кол-ве параметров. Убираю последний параметр в обработке и вызове и получаю Предупреждение(), что говорит об измененной обработке!
6 Slon747
 
07.04.16
16:37
Получилось отлаживать обработку.
Выяснил, что с обработкой все нормально. А конфа считает, что там всего 3 параметра.
7 Slon747
 
07.04.16
16:45
Нашел.
Вызывается не ф-я обработки, а ТОСервер.ЗакрытьЧек(), в которй в свою очередь вызывается ф-я обработки.