Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как рассчитать "Количество раз в прокате" в регистре сведений
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
kasya
Доброго времени суток.
Конфигурация по учету проката дисков.
Необходимо расчитать новое качество Объекта Проката исходя из количества раз передачи его в прокат. Документ передачи в прокат создает Движение в Регистре сведений "Износ" с ресурсом "износ". Как Ресурс "Износ" сделать "счетчиком" для каждого Объекта Проката?
Т.е. Первый раз появилась запись в регистре => Износ=1
Второй раз появилась запись по этому же ОбъектуПроката, Износ = 1+1
и т.д.
alex040269
А почему регистр сведений а не накопления?
Vofka
kasya, так в чем проблема при проведении найти в регистре запись и прибавить к "износу" единицу?
kasya
Цитата(Vofka @ 31.01.12, 10:00) необходимо зарегистрироваться для просмотра ссылки
kasya, так в чем проблема при проведении найти в регистре запись и прибавить к "износу" единицу?
Не совсем себе представляю как в движении регистра прописать условие проверки наличия записей по данному объекту по текущую дату.
Домовик
Цитата(kasya @ 31.01.12, 5:52) необходимо зарегистрироваться для просмотра ссылки
Не совсем себе представляю как в движении регистра прописать условие проверки наличия записей по данному объекту по текущую дату.



та не в движении, а при проведении документа, проверка наналичие записи, считывание, снова запись.

но Этого делать не надо.

регистр накопления, т.е регистр остатков лучше использовать. тогда никаких считываний и проверок.
alex040269
Если без регистра сведений никак, то можно подчинить регистр регистратору, а когда нужен результат - обращаться к физической таблице и считать кво записей. должно работать, но регистр накопления эффективнее. он именно для этого создан
kasya
сделала следующим образом
Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    ОстаткиОбъектовПрокатаПредприятия.Регистратор,
        |    ОстаткиОбъектовПрокатаПредприятия.ОбъектПроката,
        |    ОстаткиОбъектовПрокатаПредприятия.ТочкаПроката,
        |    ОстаткиОбъектовПрокатаПредприятия.Количество
        |ИЗ
        |    РегистрНакопления.ОстаткиОбъектовПрокатаПредприятия КАК ОстаткиОбъектовПрокатаПредприятия
        |ГДЕ
        |   Регистратор ССЫЛКА Документ.ВозвратОбъектаИзПроката";
    Запрос.УстановитьПараметр("ОбъектПроката", ОбъектПроката);
    Запрос.УстановитьПараметр("ТочкаПроката", ТочкаПроката);
  
        Результат=Запрос.Выполнить();
        Износ = Результат.Выбрать().Количество();
        Возврат Износ;


Однако все время получаю значение 1. Что я делаю неверно? И как сделать, чтоб заработало?
alex040269
Цитата(kasya @ 31.01.12, 15:43) необходимо зарегистрироваться для просмотра ссылки
сделала следующим образом
Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    ОстаткиОбъектовПрокатаПредприятия.Регистратор,
        |    ОстаткиОбъектовПрокатаПредприятия.ОбъектПроката,
        |    ОстаткиОбъектовПрокатаПредприятия.ТочкаПроката,
        |    ОстаткиОбъектовПрокатаПредприятия.Количество
        |ИЗ
        |    РегистрНакопления.ОстаткиОбъектовПрокатаПредприятия КАК ОстаткиОбъектовПрокатаПредприятия
        |ГДЕ
        |   Регистратор ССЫЛКА Документ.ВозвратОбъектаИзПроката";
    Запрос.УстановитьПараметр("ОбъектПроката", ОбъектПроката);
    Запрос.УстановитьПараметр("ТочкаПроката", ТочкаПроката);
  
        Результат=Запрос.Выполнить();
        Износ = Результат.Выбрать().Количество();
        Возврат Износ;


Однако все время получаю значение 1. Что я делаю неверно? И как сделать, чтоб заработало?

Нужно обращаться к виртуальной таблице Остатки
Vofka
alex040269, а вы уверены, что это остаточный регистр? smile.gif

kasya, это курсовая? Какой курс?
kasya
Цитата(Vofka @ 31.01.12, 16:56) необходимо зарегистрироваться для просмотра ссылки
kasya, это курсовая? Какой курс?
не курсовая. по заданию и книгам сама разбираюсь в 1С.
Домовик
регистр сведений - не желательно... к примеру, перепроводим документ прошедшим числом, и нам нужно знать значение счетчика на это прошедшее число - регистр остатков сразу покажет.

и вообще, если по одному объекту, то, думаю, лучше обращаться через объекты. доставать остаток через объект.
Vofka
Создайте оборотный регистр и при проведении "Документ передачи в прокат" добавляйте туда запись. А потом по этому регистру по виртуальной таблице Остатки выбирайте износ.
Домовик
если делаете, по заданию, то лучше задание все же показать... smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.