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

Обращение к общему модулю

Автор Yanawerg, 26 авг 2024, 15:40

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

Yanawerg

Люди добрые, подскажите как мне правильно прописать путь к общему модулю что бы он в обработке задействовался ?
Это из общего модуля:
Функция СформироватьШтрихКод(Знач ПрефиксШтучногоТовара = Неопределено, Знач ПрефиксВнутреннегоШтрихкода = Неопределено) Экспорт

Если ПрефиксШтучногоТовара = Неопределено Тогда
ПрефиксШтучногоТовара = СокрЛП(Константы.ПрефиксШтучногоТовара.Получить());
КонецЕсли;

Если ПрефиксВнутреннегоШтрихкода = Неопределено Тогда
ПрефиксВнутреннегоШтрихкода = Константы.ПрефиксВнутреннегоШтрихкода.Получить();
КонецЕсли;

ПрефиксШтучногоТовара = ?(ПустаяСтрока(ПрефиксШтучногоТовара), "0", ПрефиксШтучногоТовара);
ПрефиксВнутреннегоШтрихкода = Формат(ПрефиксВнутреннегоШтрихкода, "ЧЦ=2; ЧН=; ЧВН=");

Запрос = Новый Запрос("
|ВЫБРАТЬ
| МАКСИМУМ(ПОДСТРОКА(РегШтрихКоды.Штрихкод, 5, 8)) КАК Код
|ИЗ
| РегистрСведений.ШтрихКоды КАК РегШтрихКоды
|ГДЕ
| РегШтрихКоды.ТипШтрихкода = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ТипыШтрихкодов.EAN13)
| И РегШтрихКоды.Штрихкод ПОДОБНО ""2" + ПрефиксШтучногоТовара + ПрефиксВнутреннегоШтрихкода + "_________""
|");

Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
ТекКод = ?(Выборка.Код = NULL, 1, Мин(ОбщегоНазначения.ПривестиСтрокуКЧислу(Выборка.Код) + 1, 99999999));

Штрихкод = "2" + ПрефиксШтучногоТовара + ПрефиксВнутреннегоШтрихкода + Формат(ТекКод, "ЧЦ=8; ЧВН=; ЧГ=");
Штрихкод = Штрихкод + КонтрольныйСимволEAN(ШтрихКод, 13);

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

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

И нужно что бы она сработала вот в этой функции
&НаСервере
Функция ПолучитьНоменклатуру(Имя, _ПолноеНаименование, СписокНоменклатуры, Количество, Площадь, Эскиз, НаименованиеИТ)

Как правильно сделать можете подсказать

Максим75

Yanawerg, ну как-то так

ШтрихКод = ИмяОбщегоМодуля.СформироватьШтрихКод, где ИмяОбщегоМодуля - ну само название общего модуля.

только эта функция генерит штрихкод, а не осуществляет поиск товара по штрихкоду

Yanawerg

Максим75, Попробовал так сделать и в итоге ничего не сработало.
Все равно ругается.
ШтрихКод = РаботаСТорговымОборудованием.СформироватьШтрихКод();

antoneus


Yanawerg

antoneus, {ОбщийМодуль.РаботаСТорговымОборудованием.Модуль(858,18)}: Тип не определен (ДиалогВыбораФайла)
Диалог = Новый <<?>>ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
{ОбщийМодуль.РаботаСТорговымОборудованием.Модуль(1083,17)}: Тип не определен (ДиалогВыбораФайла)
Диалог = Новый <<?>>ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);

Максим75

Yanawerg, так ругается то на что-то другое.
приведите весь текст, а  то так тяжело ванговать где и что.

видимо на сервере пытаетесь ДиалогВыбораФайла вызвать, а это исключительно клиентская штука.

Yanawerg

Максим75, А может быть такое что у меня не все галочки в свойствах общего модуля стоят ? или не те которые нужныю.

Максим75

Yanawerg, смотрите, у Вас вызывается что-то другое из общего модуля, в вызове поиска по штрих-коду нет вызова диалога выбора файла.
смотрите, что и где у Вас еще вызывается.

fruitella

Yanawerg, Если стоят все галочки. Тогда нужно над каждой функцией и процедурой указывать контекст вызова &Наклиенте, &НаСервере и тд. Если установлены галочки: только клиент или только сервер, и вызов этих процедур/функций осуществялется также с клиента или сервера, то контекст прописывать не нужно.

Теги:

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

Рейтинг@Mail.ru

Поиск