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

Тема в разделе "1C и всё что с ней связано", создана пользователем yaspectator, 14 июн 2010.

  1. yaspectator

    yaspectator Гость

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


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

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

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

    evgenyatam Well-Known Member

    Регистрация:
    7 сен 2007
    Сообщения:
    175
    Симпатии:
    0
    может гдето до функции лишняя точка с запятой? и потом почему КонецПроцедуры через пробел написан?
     
  3. yaspectator

    yaspectator Гость

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

    Darlock Well-Known Member
    1C Team

    Регистрация:
    4 янв 2008
    Сообщения:
    558
    Симпатии:
    0
    1) Что-то я не понимаю, почему "ругань 1Ски" слитно?
    2) ";" после "КонецПроцедуры" нету?
     
  5. yaspectator

    yaspectator Гость

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

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

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

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

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

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

    Darlock Well-Known Member
    1C Team

    Регистрация:
    4 янв 2008
    Сообщения:
    558
    Симпатии:
    0
    Видимо у вас в свойствах модуля флаг "Глобальный" установлено. А по коду вы обращаетесь как не к глобальному
     
  7. yaspectator

    yaspectator Гость

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


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

Поделиться этой страницей