7.7 Медленно работает функция Записать

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

  1. TopicStarter Overlay
    learlo2631
    Offline

    learlo2631

    Регистрация:
    1 апр 2010
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Подскажите пожалуйста почему медленно работает функция "Записать()" :unsure:
    в модуле как только закрываю функцию Записать справочник открывается сразу а так занимает около трех секунд.
    Да и в справочника где то 40 элементов, а это точно не проблема
    Высылаю код который работает при открытии списка справочника. Помогите пожалуйста :smile:

    Посмотреть вложение 3852

    Вложения:

    • untitled.JPG
      untitled.JPG
      Размер файла:
      72,5 КБ
      Просмотров:
      69
  2. GalFord
    Offline

    GalFord Опытный в 1С

    Регистрация:
    4 май 2008
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Потому что перезаписывается несколько раз попробуй условия составить так чтобы Записать() было как можно меньше
  3. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1) Записать должна быть всего одна в конце цикла
    2) Используй временные переменные
    3) Применяй Продолжить если условие не выполнено и справочник не нужно записывать
  4. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    А если планируется использовать несколько элементов для записи - используй транзакции.
  5. TopicStarter Overlay
    learlo2631
    Offline

    learlo2631

    Регистрация:
    1 апр 2010
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Я разделил функцию записать() именно для того что бы оно использовалось как можно меньше и перед каждой функцией вставил условие.
    Ну скажем так, если функция записать, так или иначе работает медленно и это нельзя как-то изменить, то прошу скажите об этом и я подумаю как обойти эту функцию
  6. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    ТРАНЗАКЦИИ
  7. TopicStarter Overlay
    learlo2631
    Offline

    learlo2631

    Регистрация:
    1 апр 2010
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Спасибо, я попробую использовать транзакции, посмотрим что выйдет :unsure:
  8. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    PS Посмотрел код..... :unsure:
    Рекомендую изучить методы объектов ИБ, в частности НайтиПоКоду().

    И в целом, если задача этого кода просто отсортировать или отобразить определенные элементы - то применение В КОРНЕ не правильное.
  9. TopicStarter Overlay
    learlo2631
    Offline

    learlo2631

    Регистрация:
    1 апр 2010
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Я Не могу использовать финкцию НайтиПоКоду потому что у меня несколько элементов под номером 1
    а по поводу втарого обзаца при открытии мой модуль должен сравнить несколько эелементов а уж потом только фильтровать
  10. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Тогда все равно не правильно. Нужно использовать подчиненный справочник...
  11. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    выше предоставленный код все-равно найдет только первый элемент, поэтому не вижу разницы.

    сравнивать можно сколько угодно. сам механизм отображения элементов неправильный.

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