Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 19:47

Обращение к функции в модуле формы обработки

Автор Yanawerg, 18 сен 2024, 11:14

0 Пользователей и 1 гость просматривают эту тему.

Yanawerg

При написании новой функции в модуле формы пытаюсь к ней обратится из другой функции в этой же форме, но выдаёт ошибку что недостаточно фактических параметров.
Как я могу исправить возникшую ошибку ?
Функция ФормированиеШтрихКода(ПолучитьТекущиеИзделия, НомерЗаказа, КодДокумента, ПолучитьНоменклатуру)

Объект.НомерЗаказа = НомерЗаказа;
ИзделияЗаказа    = ПолучитьМассивИзделий(КодДокумента);
Для Каждого Изделие Из ИзделияЗаказа Цикл
Штрих = Объект.НомерЗаказа + Изделие.Номер + РаботаСТорговымОборудованием.КонтрольныйСимволEAN();
КонецЦикла;
    ШтрихКод = Штрих;

КонецФункции

ШтрихКод = ФормированиеШтрихКода(ШтрихКод);

Максим75

Yanawerg, ну передать 4 параметра, потому как в функции должно быть 4 параметра, а Вы передаете 1.
или переписать функцию, чтобы туда передавался один параметр.
да и функция должна что-то вернуть, т.е. обязательно должен быть Возврат и Что-то на возврат.

Yanawerg

Максим75, Благодарю, помогло!
Но к сожалею появился новый вопрос.
Ошибок нету, все срабатывает но в итоге получается что строчка которую сформировать осталась пустой, может что-то не дописал ?
ШтрихКод = ФормированиеШтрихКода(ШтрихКод, НомерЗаказа, КодДокумента, РаботаСТорговымОборудованием);Мне нужно что бы мне передавался штрихкод который формируется в этой функции

Максим75

Yanawerg, ну хоть приведите весь код, чтобы не угадывать.
что в функции ФормированиеШтрихКода делается?

Yanawerg

Максим75, Функция ФормированиеШтрихКода(ПолучитьТекущиеИзделия, НомерЗаказа, КодДокумента, ПолучитьНоменклатуру)
   
    Объект.НомерЗаказа = НомерЗаказа;   
    ИзделияЗаказа    = ПолучитьМассивИзделий(КодДокумента);
    Для Каждого Изделие Из ИзделияЗаказа Цикл
        Штрих = Объект.НомерЗаказа + Изделие.Номер + РаботаСТорговымОборудованием.КонтрольныйСимволEAN();
    КонецЦикла;
    ШтрихКод = Штрих;

КонецФункции
Как можно видеть формируется штрихкод из номера заказа, номера изделия и контрольного символа.
Выглядить должен примерно так 28116914 где 281169 номер заказа, 1 номер изделия и КН

Максим75

Yanawerg, а где Возврат из функции.
я же за это писал, функция обязательно должна что-то возвращать.
ну и заодно проверьте, что за тип у Вас в НомереЗаказа (может он текстовый, тогда надо к числу преобразовать). С номером изделия такая же фигня.

fruitella

А если у тебя там несколько изделий, что тогда? Ты получишь номер изделия только который на последней итерации цикла.
И возврата нет в функции, она тупо ничего не возвращает. Допиши:

Возврат ШтрихКод;

Yanawerg

Все возможные проблемы получилось исправить кроме одной, никак не могу получить контрольный символ из общего модуля
Выдаёт вот такую ошибку когда к нему обращаюсь:
{Обработка.ИмпортЗаказаИзИТ5Новый.Форма.Форма.Форма(575)}: Значение не является значением объектного типа (КонтрольныйСимволEAN)

Максим75

Yanawerg, РаботаСТорговымОборудованием.КонтрольныйСимволEAN() - вот здесь смотрите. есть ли у Вас это в базе (возможно скопировали откуда-то).
или где это доступно. может доступен не клиенте, а Вы на сервере вызываете или наоборот.

Yanawerg

Максим75, РаботаСТорговымОборудованием.КонтрольныйСимволEAN() Это функция в общем модуле которая соответственно генерирует нужное мне число, функция экспортная, сам общий модуль Клиентовский и серверный.
Так что до сих пор не могу найти в чём проблема.
Добавлял больше параметров передаваемых но толку ноль.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск