7.7 Вопрос по методу ОчиститьДвижения()

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Herby, 10 дек 2013.

  1. TopicStarter Overlay
    Herby
    Offline

    Herby Опытный в 1С

    Регистрация:
    21 фев 2013
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    Ни разу не пользовался методом ОчиститьДвижения(), возникла необходимость.... но все таки сомневаюсь правильно ли я его использую.

    Идея такая: есть документ "Счет", в котором 5000 товарных позиций, который каждый день перепроводится и надолго блокирует
    базу. Хотелось бы чтобы перепроведение было только по тем позициям, по которым необходимо.

    Т.е. изменилось количество резерва только по одной позиции (Товар № 1), в этом случае:


    1) я не очищаю движения (т.е. не выполняю метод ОчиститьДвижения)
    2) по позиции Товар №1 определяю прошлое движение (Приход) и сторнирую его противоположным движением (расход)
    3) создаю новое движение приход для позиции Товар № 1 с новым количеством резерва.

    Во всех остальных случаях (проведение нового, перепроведение по всем позициям) вызываю метод ОчиститьДвижения().

    ps: галку "Автоматическое удаление движения" снял.


    Правильно я все делаю? или криво? На автомате очищать старые движения только по конкретному товару никак нельзя?
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Все криво. По одному и тому же регистру выборочно очистить движения нельзя.
    + как вы определите предыдущее движение при многократном перепроведении?
    + А при восстановлении последовательности? Ведь ТЕКУЩИЕ движения не актуальны ибо ТА еще не на документе!

    Конкретизируйте проблему. Зачем вам это нужно?
  3. TopicStarter Overlay
    Herby
    Offline

    Herby Опытный в 1С

    Регистрация:
    21 фев 2013
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    ды вот я сразу и подумал что криво.

    отобрать все движения приход и расход по конкретному товару, и на их разницу сделать сторнировочное движение расход

    последовательность не используем.

    текущие движения, в смысле новые?

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


    В общем, я так понял ОчиститьДвижения() имеет смысл использовать, если документ делает движения по нескольким регистрам,
    когда по каким нибудь регистрам не требуется перепроведение.
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    ну чисто гипотетически представьте что вбили 2 строчки с одинаковым товаром.... Как будите отличать?

    только замедлите.. Ибо время на сторнирование/новое вычисление гараздо больше уйдет, чем на удалить движение средствами платформы и новое проведение.. ну если у вас в документе не 100 и более строк...
  5. TopicStarter Overlay
    Herby
    Offline

    Herby Опытный в 1С

    Регистрация:
    21 фев 2013
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    5000-7000 строк в документе. перепроведение 2-3 минуты.
    с моим кривым решением перепроводится за пару секунд.
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Я бы вам все же НАСТОЯТЕЛЬНО рекомендовал оставить типовой механизм. Ваше решение крайне не надежно. Пример уже привел.
    + А если, кстати, не просто меняли количество, а добавляли или удаляли строки? Или меняли не количество, а номенклатуру?
  7. TopicStarter Overlay
    Herby
    Offline

    Herby Опытный в 1С

    Регистрация:
    21 фев 2013
    Сообщения:
    95
    Симпатии:
    0
    Баллы:
    26
    добавленных точно не будет, а удаленные товары я храню и передаю параметром в модуль проведения. ну в общем все эти моменты хоть и опасны но решаемы,
    но в любом случае наверное последую вашей рекомендации и не буду плодить кривокод )
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    очень хорошо, что вы объективно оцениваете реальность))))))

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