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

Общие модули

Автор Tpekep, 07 ноя 2010, 19:30

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

Tpekep

Создал в общем модуле процедуру с именем РаботаСДокументами

Процедура РассчитатьСумму(СтрокаТабличнойЧасти)Экспорт
   СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;
КонецПроцедуры


В документе ПриходнаяНакладная в табличной части в поле Количество  написал модуль который считает сумму из процедуры, находящейся в Общие модули

Процедура ПереченьНоменклатурыКоличествоПриИзменении(Элемент)
   СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;
   РассчитатьСумму(СтрокаТабличнойЧасти);
КонецПроцедуры

На что он говорит что не найдена данная функцияч или процедура:
{Документ.ОказаниеУслуги.Форма.ФормаДокумента(4,2)}: Процедура или функция с указанным именем не определена (РассчитатьСумму)
   <<?>>РассчитатьСумму(СтрокаТабличнойЧасти);

Вопрос в том, почему он ее не видет? Ошибка появляется только во время компиляции документа приходной накладной. Процедура из общих модулей ошибки не показывает.

progmikon

Обращаться к вашей процедуре нужно РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти)

progmikon

РаботаСДокументами - я так понял имя модуля.

DenPlus

В приходной накладной:

Процедура ПереченьНоменклатурыКоличествоПриИзменении(Элемент)
   СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;
   РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
КонецПроцедуры


На те же грабли наткнетесь когда, читая Радченко, создадите общий модуль РаботаСоСправочниками.

И дело, видимо, не в "книжной ошибке"..., просто книжка выпущена достаточно давно.

Makifka

А может это глобальный модуль должен быть, чтоб напрямую обращаться к функциям?

progmikon

Цитата: Makifka от 09 ноя 2010, 09:59
А может это глобальный модуль должен быть, чтоб напрямую обращаться к функциям?

Да. Такое тоже возможно.

Тиль

Процедура ПереченьНоменклатурыКоличествоПриИзменении(Элемент)
   СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;
   РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
КонецПроцедуры

Тиль

У Радченко написано для 8.0. А ты скорее всего используешь 8.1

Tpekep

Да. Все правильно.
Я надеялся что в 1С язык программирования отличается только между 7.х и 8.x
Потому что говорят переход от одной версии к другой как небо и земля.

Slin

у версий 8.x язык различается очень незначительно
скорее изменился контекст применения, особенно с версией 8.2
и конечно это наложило свой отпечаток
skype: slin-dev

Теги:

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

Рейтинг@Mail.ru

Поиск