8.х Пересчет табличных данных в форме списка

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Johndoe144, 4 фев 2016.

  1. TopicStarter Overlay
    Johndoe144
    Offline

    Johndoe144

    Регистрация:
    4 фев 2016
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Добрый день, прошу помочь по мере возможности в решении возникшей задачи.
    Есть самостоятельно разрабатываемая конфигурация на базе Платформы 1С 8.3.
    В конфигурации есть справочник "Номенклатура"
    В справочнике содержатся данные о продуктах (реквизит "Наименование") с табличной частью, в для каждого продукта перечислены возможные вариации и для каждой вариации установлена цена за единицу. Цена вводится в одной из валют (рубли, доллары, евро).

    Есть периодический регистр сведений "Курсы валют", в который вводится информация об изменениях курса той или иной валюты.

    При создании очередного элемента справочника, все цены для элементов табличной части пересчитываются исходя из последнего установленного курса соответствующей валюты.

    Вопрос (задача): как сделать так, чтобы при вводе обновленного курса валюты автоматически пересчитались все цены элементов, которые были введены ранее (ДО внесения этого курса)? Например, повесить этот пересчет на кнопку "Обновить все цены" или чтобы пересчет включался сразу после обновления курса в периодическом регистре. Иными словами, как обновить все цены, не открывая поочередно все элементы справочника (в этом случае автоматический пересчет работает) после обновления курса.

    Заранее благодарю за посильную помощь.
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.577
    Симпатии:
    717
    Баллы:
    204
    В алгоритме обновления курсов валют, после регистрации очередных значений курсов, обновлять данные в справочнике номенклатура.
  3. TopicStarter Overlay
    Johndoe144
    Offline

    Johndoe144

    Регистрация:
    4 фев 2016
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Спасибо,
    1. Я же в данный момент просто добавляю в форме записи данные для регистра сведений. Добавить событие "ПриИзменении" для поля, в который вносятся новые данные о курсе? Можно Вас попросить более подробно описать необходимые изменения в конфигурации?
    2. Если данных много, пересчет может отнимать время. А если все-таки вешать на кнопку, чтобы делать обновление "по мере необходимости"? Это слишком сложно (для меня, как "полного" новичка)? :)
  4. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.577
    Симпатии:
    717
    Баллы:
    204
    Советую, начать с чего-то более простого в реализации, решение именно этой задачи отложить, т.к. правильное решение требует изменения принципов регистрации и хранения цен.

    Советую, поразбиратся с тем, как это все реализовано в типовой конфигурации Управление Торговлей 10.3/11.х. Так же советую почитать книги Радченко по разработке.

    Необходимо избавится совсем от программирования формы и работать с объектами напрямую.

    Я не знаю ваш уровень квалификации, но по вопросам вижу, что не высокий.
    Предложенные вами спососбы реализации функционала равнозначны по практичности, т.к. обусловлены существующующей архитектурой БД, необходимо кардинально ее менять. Как минимум хранить константные значения цен в регистре сведений, а динамические - не хранить вообще, а расчитывать их "налету" там, где они нужны в текущий момент времени.

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