8.х Многопоточный код

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Ivan2014, 5 ноя 2015.

  1. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    Главное что бы измерения не пересикались.
    Допустим у тебя в РС измерения Склад и Номенклатура. так вот логично вэтом случае сделать как миниму 2 файлика в которых будут различные склады. что бы при закгрузке у тебя измереняи не пересеклись.
  2. TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.756
    Симпатии:
    147
    Баллы:
    104
    Склады разные. Каждый файл это отдельный магазин.

    Так я же буду писать в одну таблицу.... с 3х потоков.
  3. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    Ну почитай мой 5й пост - там практически та же задача только там не РС, а справочник.
  4. antares
    Offline

    antares Опытный в 1С

    Регистрация:
    30 ноя 2006
    Сообщения:
    340
    Симпатии:
    7
    Баллы:
    29
    нет, не будет; механизм манипуляции с данными организован на уровне транзакций, и на сколько я понимаю за это отвечает платформа 1С, а не инструментарий работы с базой данных; этот механизм тот же, что при одновременной работе нескольких пользователей, очередность определяется временной блокировкой транзакций; более подробно читай тут и тут
  5. TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.756
    Симпатии:
    147
    Баллы:
    104
    У меня оказывается режим управления блокировками стоит "управляемый", а я думал что автоматический....

    Видимо нужно просто установить управляемую блокировку по магазину.... или я что то не так понял....
  6. antares
    Offline

    antares Опытный в 1С

    Регистрация:
    30 ноя 2006
    Сообщения:
    340
    Симпатии:
    7
    Баллы:
    29
    как видно из таблички, при файловом доступе к данным, способ управления блокировками на характер работы с ними никак не влияет, это отличие только в клиент-серверном варианте; вобщем, если база файловая, то не грузись, платформа все разрулит; если серверная, то автоматический режим блокировок - более надежен, управляемый - более быстр, но в нем надо ручками поработать; но и там, и там, механизм работы самих транзакций один и тот же, и определен на уровне платформы
  7. TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.756
    Симпатии:
    147
    Баллы:
    104
    В том то и дело что база клиент-серверная. И писать буду в один регистр. Который регистратору не подчинён.
    Так бы заполнил бы документ. Потом проводил бы.
    А тут не получится ли так что два потока пишут одновременно в один регистр и один из них отваливается по таймауту....?
  8. antares
    Offline

    antares Опытный в 1С

    Регистрация:
    30 ноя 2006
    Сообщения:
    340
    Симпатии:
    7
    Баллы:
    29
    в описании ни слова про тайминг при работе на уровне транзакций, но там говорится о автоматической блокировке работы с набором записей регистров со стороны платформы при необходимости;
    думаю, тот же механизм существует и для записи
  9. TopicStarter Overlay
    Ivan2014
    Offline

    Ivan2014 Опытный в 1С

    Регистрация:
    10 апр 2014
    Сообщения:
    384
    Симпатии:
    2
    Баллы:
    29
    Спасибо.
    Однако у меня серверный код не начинает выполняться. Возможно все-таки что-то с галочками не так.
  10. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    Если при записи будет установлен отбор по магазину и количество записей в одной транзакции будет меньше примерно 10000, то потоки спокойно отработают параллельно. Если записей больше - нужно проверять, есть вероятность нарваться на эскалацию блокировки на всю таблицу
  11. TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.756
    Симпатии:
    147
    Баллы:
    104
    У меня записей получится больше.
    Там в каждом документе по устанавливается цена на 3000 позиций товара. Но есть ещё и те что в отборе? А там цены за разные даты.

    Или накладывать отбор ещё и по периоду?
  12. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    чем более селективный отбор, тем лучше. если пишешь только конкретную дату - ставь отбор еще и по дате

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