Имя: Пароль:
1C
1С v8
Изменение реквизитов справочника при проведении документа
0 isok
 
05.12.20
16:01
Здравствуйте, мне дали по учебе задание, создать ИС Библиотеки.
Мне нужно вести учет экземпляров книг - Учет прихода, выдачи книг, возврата, списания.
Таким образом мне нужно чтобы при проведении документа (допустим Приходной накладной) у меня данные реквизита "Количество" в приходной накладной складывались с уже имеющимися в справочнике "Список экземпляров книг" и записывались туда же. И это при условии что наименование книги в табличной части "приходной накладной" соответствовало с наименованием книги в справочнике(тк. в табличной части накладной может быть сразу несколько экземпляров).

Я написал некий код, синтаксических ошибок в нем нет. Но ничего собственно не изменяется в справочнике когда я провожу документ. Заранее извиняюсь за тупость :)
Вот код:

Процедура ОбработкаПроведения(Отказ, Режим)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    // регистр ОстаткиКниг Приход
    Движения.ОстаткиКниг.Записывать = Истина;
    Для Каждого ТекСтрокаКниги Из Книги Цикл
        Движение = Движения.ОстаткиКниг.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
        Движение.Период = Дата;
        Движение.Книга = ТекСтрокаКниги.Наименование;
        Движение.Количество = ТекСтрокаКниги.Количество;
        
        a=Справочники.СписокЭкземпляровКниг.ПолучитьСсылку().Наименование;
        s=Справочники.СписокЭкземпляровКниг.ПолучитьСсылку().Количество;

          Если ТекСтрокаКниги.Наименование=a
            Тогда
            s=(s+ТекСтрокаКниги.Количество);
            s.Записать();
        КонецЕсли;
        
    КонецЦикла;

    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
1 organizm
 
05.12.20
16:04
фууу... это противоестественно. не надо учиться плохому.
2 isok
 
05.12.20
16:11
(1) а как тогда быть. Мне как то нужно вести учет. То есть допустим если у меня не будет количества каждой книги, то я смогу выдавать читателю книги, которых у меня собственно 0.
Для этого конечно есть код, который будет просто не позволять проводить документ, но для этого опять же нужно считывать количество определенной книги.
3 Mihasya
 
05.12.20
16:12
ты ж в регистр кол-во пишешь... зачем еще в реквизит справочника писать?
4 isok
 
05.12.20
16:17
(3) Извиняюсь, я ступил, пошел какой то странной вообще дорогой))))) Совсем запутался. Спасибо что открыли снова глаза!
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн