• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

yaspectator

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


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

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

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

evgenyatam

может гдето до функции лишняя точка с запятой? и потом почему КонецПроцедуры через пробел написан?
 
Y

yaspectator

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

Darlock

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

1) Что-то я не понимаю, почему "ругань 1Ски" слитно?
2) ";" после "КонецПроцедуры" нету?
 
Y

yaspectator

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

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

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

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

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

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

Darlock

Видимо у вас в свойствах модуля флаг "Глобальный" установлено. А по коду вы обращаетесь как не к глобальному
 
Y

yaspectator

Видимо у вас в свойствах модуля флаг "Глобальный" установлено. А по коду вы обращаетесь как не к глобальному

Кстати ДА!!!Отличная идея!! Вот почитал сдесь:"http://www.forum.mista.ru/topic.php?id=385670"
Сделал у себя и заработало!!!Спасибо!!!


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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!