Библиотечный модуль в 1с

  • Автор темы yaspectator
  • Дата начала
Y

yaspectator

Гость
#1
Проблема следующая: Создал БД через мастер (Версия 1с ки 8.0.6.3).Созал через Формы Документа следующий расчёт
СтрокаТабличнойЧасти=ЭлементыФормы.Материалы.ТекущиеДанные;
СтрокаТабличнойЧасти.Сумма=СтрокаТабличнойЧасти.Количество*СтрокаТабличнойЧасти.
Цена;


.Запустил в предприятии , всё считает ,всё отлично ,Но если пробую сделать тоже через общий модуль:
Процедура РассчитатьСумму(строкаТабличнойЧасти)Экспорт
СтрокаТабличнойчастиСумма=СтрокаТабличнойЧасти.Количество*СтрокаТабличнойЧасти.Ц
ена; Конец процедуры

то пишет следующее:
Библиотечный модуль может содержать только определения процедур и функций
<<?>>ПроцедураРассчитатьСуммуЭкспорт

Кто знает что это,а то я 1с пока начинаю учить
 

evgenyatam

Well-Known Member
07.09.2007
175
0
#2
может гдето до функции лишняя точка с запятой? и потом почему КонецПроцедуры через пробел написан?
 
Y

yaspectator

Гость
#3
может гдето до функции лишняя точка с запятой? и потом почему КонецПроцедуры через пробел написан?
Не в этом дело ...Вот так как вы хотите ПроцедураРассчитатьСумму(СтрокаТабличнойЧасти)ЭкспортСтрокаТабличнойЧасти.Сумма=
СтрокаТабличнойЧасти.Количество*СтрокаТабличнойЧасти.Цена;КонецПроцедуры
А вот материться 1С ка {ОбщийМодуль.РаботаСДокументами(1)}: Библиотечный модуль может содержать только определения процедур и функций
<<?>>ПроцедураРассчитатьСумму(СтрокаТабличнойЧасти)ЭкспортСтрокаТабличнойЧасти.Сум
ма=СтрокаТабличнойЧасти.Количество*СтрокаТабличнойЧасти.Цена;
В общем тоже самое((Может в библиотечном модуле что то довключить нужно?
 

Darlock

Well-Known Member
04.01.2008
560
1
#4
ПроцедураРассчитатьСумму(СтрокаТабличнойЧасти)ЭкспортСтрокаТабличнойЧасти.Сум
ма=СтрокаТабличнойЧасти.Количество*СтрокаТабличнойЧасти.Цена;
1) Что-то я не понимаю, почему "ругань 1Ски" слитно?
2) ";" после "КонецПроцедуры" нету?
 
Y

yaspectator

Гость
#5
Старой ошибки избавился, появилась новая(((
В опишу базу :Есть док "приходная накладная" где создана форма и через форму расчитывается Сумма продукции(Количество*Цена) Вот так
Процедура МатериалыКоличествоПриИзменении(Элемент)
СтрокаТабличнойЧасти=ЭлементыФормы.Материалы.ТекущиеДанные;
//
СтрокаТабличнойЧасти.Сумма=СтрокаТабличнойЧасти.Количество*СтрокаТабличнойЧасти.
Цена;
КонецПроцедуры

Для того что бы изменялись данные автоматически в таблице при изменении количества

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

Для того что бы изменялись данные автоматически в таблице при изменении Цены

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

То есть что бы ращёт был через общий модуль ,а не через форму, но 1 с ругается :"{Документ.ПриходнаяНакладная.Форма.ФормаДокумента(4)}: Переменная не определена (РаботаСДокументами)
<<?>>РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
{Документ.ПриходнаяНакладная.Форма.ФормаДокумента(10)}: Переменная не определена (РаботаСДокументами)
<<?>>РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
" ЗЫ После фразы "Конец процедуры нету ; Всё должно работать но не хочет((В чём может быть проблема?
 

Darlock

Well-Known Member
04.01.2008
560
1
#6
Видимо у вас в свойствах модуля флаг "Глобальный" установлено. А по коду вы обращаетесь как не к глобальному
 
Y

yaspectator

Гость
#7
Видимо у вас в свойствах модуля флаг "Глобальный" установлено. А по коду вы обращаетесь как не к глобальному
Кстати ДА!!!Отличная идея!! Вот почитал сдесь:"http://www.forum.mista.ru/topic.php?id=385670"
Сделал у себя и заработало!!!Спасибо!!!


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