![]() |
1С ЗиК 7.7 Долго думает не в монопольном режиме. Здравствуйте. Подскажите пожалуйста. В нашей бухгалтерии есть 3 компьютера на которых установлена 1С Зарплата и Кадры 7.7. На одном из них хранится база, остальные подключены к ней по сети. Когда работает 2 и более пользователей одновременно, 1С начинает жутко тормозить. Обработка справочников при подборе сотрудников для расчета зарплаты и сам расчет зарплаты может занимать около трех-пяти минут. Хотя когда работает кто-то один, эти же действия занимают всего несколько секунд. Хотел бы узнать как с этим можно бороться. |
Терминал-сервер ставьте, или хотя-бы выделенный файловый сервер для базы. |
смонтировать любой дорступной прогой RAM-диск, определить на него каталог временных файлов для базы данных. пользователей базы естественно завести, чтобы каждый под собой работали |
+ тестирование и исправление с упаковкой провести (предварительно сделав резервную копию БД) |
2-Зелёный тролль > Вряд ли существенно поможет. Тормозит разделённый режим при работе в сети, особенно при обращении к справочникам с большим количеством реквизитов. Два варианта - терминальный режим и сокращение размера справочника сотрудников (свертка базы). |
(4) "[em]Вряд ли существенно поможет[/em]" - практически не поможет: "проблема второго пользователя" в классическом виде. Свертка ЗиК - то еще удовольствие, на большого любителя. Особенно с учетом, что как минимум два последних года надо оставить. Кроме терминала можно попробовать вот эту примочку: [url]http://www.wirth.ru/[/url], но сам я с ней дела не имел. |
0-Сергей Ведёхин > Для начала: сколько сотрудников находится в базе ЗиК? Примерно: до 500 человек? До 1000? До 2000? Больше? Вполне возможно, что по-настоящему, с БД "в режиме записи" работает только 1 расчетчик. Остальные составляют "своды". Несомненно, очень-очень нужные: вроде "Сколько уплатили НДФЛ сотрудники подразделения N". В таком случае эффективна "база вчерашнего дня". Создаваемая, разумеется, автоматически. Защищать ее содержимое от "правок", и манипулировать как-то правами, совсем не нужно :) P.S. Да, я специально подобрал пример бессмысленного и бесполезного отчета ;) |
4-GSokolov > 5-Ткачик > ну ещё можно удалить нафик колонку Состояние с формы ДляВыбора справочника Сотрудники. я вообще не понимаю, за каким она хреном рассчитывается для каждого сотрудника каждый раз, как форму списка справочника открываешь. (0) а для расчёта ЗП - монопольный режим помогает лучше всего, терминальный сервер навряд ли даст ощутимый эффект. |
0-Сергей Ведёхин > (Продолжение). Еще важна организация самого процесса. Перед закрытием периода: - проверить, у всех ли сотрудников, у которых есть хотя бы одно "ненулевое" начисление" или "удержание" запись в документе "Начисление заработной платы". Нет - всех таких собрать в новый документ (дабы не тревожить остальное большинство), провести, рассчитать весь список. После перехода на новый период: 1. Создать документ "Накопленная задолженность" (для всех). Заполнить автоматически. Удалить "пустые строки" (автоматически). Провести. 2. Создать документ "Начисление заработной платы. 3. В ЖЗ провести [b]только расчет "остаточного сальдо"[/b] (Обормотка "помошник по расчету..., первый лист, флажок "прочие") 3. Сверить начальное сальдо с конечным сальдо прошлого периода (есть такая обормотка для вылавливания "забытых"). Этого достаточно, чтобы лазанье в прошлые периоды изрядно минимизировать. Все вышесказанное можно собрать а одну обормотку пакет (бессовестно используя "штатные") для выдачи протокола по этапам. Дать этой обормотке отдельную кнопу (для удобства). Этот жесткий алгоритм существенно сократит возгласы "Ой". И время на исправление. Если еще чистить ЖЗ от неработающих и уволенных, у которых начальное сальдо (2 ВР) нулевое - существенно сократится время вообще всех расчетов с базой. Просто потому, что все модули перестанут считывать эти записи, проверять, сортировать, группировать, запсочивать в ТЗ и т.д. |
[quote=VZ;35794543] 0-Сергей Ведёхин > Для начала: сколько сотрудников находится в базе ЗиК? Примерно: до 500 человек? До 1000? До 2000? Больше? Вполне возможно, что по-настоящему, с БД "в режиме записи" работает только 1 расчетчик. Остальные составляют "своды". Несомненно, очень-очень нужные: вроде "Сколько уплатили НДФЛ сотрудники подразделения N". В таком случае эффективна "база вчерашнего дня". Создаваемая, разумеется, автоматически. Защищать ее содержимое от "правок", и манипулировать как-то правами, совсем не нужно :) P.S. Да, я специально подобрал пример бессмысленного и бесполезного отчета ;) [/quote] Человек в базе порядка 1000. С базой постоянно работает 1 расчетчик. Он делает все, что касается расчета зарплаты. Еще с базой время от времени работает человек из отдела кадров. Увольняет, принимает на работу и т.д. Третий пользователь - главный бухгалтер. Вот он в режиме записи не работает совсем. Во время начисления зарплаты расчетчик работает в монопольном режиме. И кадровику приходится часто дергать расчетчика с просьбой выйти, и дать ему возможность ввести кадровые документы. |
(9) "[em]Во время начисления зарплаты расчетчик работает в монопольном режиме[/em]" - а вот против этого средств нет: если кто-то вошел в базу монопольно, то никого больше 1С туда не пустит, несмотря ни на какие танцы с бубном. Так что не надо мешать мух с котлетами - монопольный режим и отключение сетевого кэширования ("проблема второго пользователя"). Кстати, при таких вопросах хорошим тоном считается озвучить ОС на компьютере, на котором лежит база. |
[quote=Сергей Ведёхин;35796955]Во время начисления зарплаты расчетчик работает в монопольном режиме. [/quote]Документ начисления зарплаты делать не на всех скопом, а по подразделениям или по группам сотрудников до 50-100 человек, тогда проводить-перепроводить для исправлений будет намного быстрее. То же и с расчетом. Базу - на компьютер расчетчика, главбуху - ежедневную [em]автокопию[/em] на её компьютер, там можно работать и монопольно. |
Странно то, что овер 1000 сотров - у вас нет денег на сервер терминалов. Базу когда-нить потерять СОВСЕМ не боитесь из-за какого-то сбоя на вашей машинёшке типа файл-сервере? |
9-Сергей Ведёхин > Плохо. Очень плохо: использовать в качестве файл-сервера рабочую станцию допустимо, если обрабатываются десятки человек. Когда идет обработка массива в несколько сотен, требуется отдельный файл-сервер. Настроенный на работу именно в режиме файл-сервера. И эти настройки освещены в сети. Тогда фактор "второго пользователя" достаточно зримо смягчается. Разумеется, не полностью, но становится легче дышать. Есть еще вариант "сетевого диска" (обращение по IP, Linux с набором софта для настройки и обслуживания), но этот вариант сам не юзал. Так что в вашем случае: Главбуху однозначно режим "вчерашнего дня" (для этого бэкап настроивается двойного действия: первое действие копирование из директория в директорию "по измененным файлам" (приемная директория становится "БД вчерашнего дня"), второе действие - БД "вчерашнего дня" упаковывается, назначается имя с yyyymmdd, укладывается на диск для архивов. Очень желательно наряду с архивированием наладить и принудительную переиндексацию: вызов 1cv7.exe config в пакетном режиме. Расчетчица и кадровичка должны работать в сетевом режиме, это ясно. Но! "Бутылочное горлышко" БД ЗиК - это Журнал Расчетов. Расчет любого ВР блокирует ЖЗ в транзакции, и это непреодолимо. Но! Кадровые документы к ЖЗ не обращаются. Но нередко натыкаются на блокировку констант (там переменные реквизиты), и общие справочники - а эти блокировки можно здорово смягчить чисткой ЖЗ в текущем периоде от неактуальных записей сотрудников. И технология (см.8), которая уменьшает количество транзакций. И да, совет (11) - вредный: большинство процедур начинается параметром Сотрудник, за которым прячется список. И начинает эта процедура с открытия множества ТЗ, СЗ для этой оравы. И время обработки этих ТЗ и СЗ частенько превышает время запросов. В целом, процедура обработки двух списков длится дольше обработки объединенного списка. Режим, и еще раз режим. И лютая борьба с "надо вот Сидорову за позапрошлый месяц премию добавить" - добавляйте текущим месяцем. Даты и комментарий могут быть и прошлогодними. Не надо прятать ляпы других сотрудников... Кстати, такая практика очень вредна для отчетности в ПФР. И лучше ее зарубить на корню, ибо трудно объяснять, почему во вторник заявку на "исправление" была взята, а в среду - "отчет в ПФР сдали". Не надо плодить недовольство ;) |
[quote=Ткачик;35797269] (9) "Во время начисления зарплаты расчетчик работает в монопольном режиме" - а вот против этого средств нет: если кто-то вошел в базу монопольно, то никого больше 1С туда не пустит, несмотря ни на какие танцы с бубном. Так что не надо мешать мух с котлетами - монопольный режим и отключение сетевого кэширования ("проблема второго пользователя"). Кстати, при таких вопросах хорошим тоном считается озвучить ОС на компьютере, на котором лежит база. [/quote] Я прекрасно понимаю, что если кто-то вошел монопольно, то никто больше войти не сможет. |
[quote=GSokolov;35798101] Цитата: Сообщение от Сергей Ведёхин Во время начисления зарплаты расчетчик работает в монопольном режиме. Документ начисления зарплаты делать не на всех скопом, а по подразделениям или по группам сотрудников до 50-100 человек, тогда проводить-перепроводить для исправлений будет намного быстрее. То же и с расчетом. Базу - на компьютер расчетчика, главбуху - ежедневную автокопию на её компьютер, там можно работать и монопольно. [/quote] Сотрудники разбиты по подразделениям. Получается от 2х до где-то 50-60 человек в подразделении. |
[quote=DeiMos;35798540] Странно то, что овер 1000 сотров - у вас нет денег на сервер терминалов. Базу когда-нить потерять СОВСЕМ не боитесь из-за какого-то сбоя на вашей машинёшке типа файл-сервере? [/quote] Почему же денег нет. Если это решит проблему, мы готовы купить все необходимое. Подсказал бы кто. Постоянно делаем резервные копии базы. |
[quote=Ткачик;35797269] (9) "Во время начисления зарплаты расчетчик работает в монопольном режиме" - а вот против этого средств нет: если кто-то вошел в базу монопольно, то никого больше 1С туда не пустит, несмотря ни на какие танцы с бубном. Так что не надо мешать мух с котлетами - монопольный режим и отключение сетевого кэширования ("проблема второго пользователя"). Кстати, при таких вопросах хорошим тоном считается озвучить ОС на компьютере, на котором лежит база. [/quote] База на Windows XP лежит. |
[quote=Сергей Ведёхин;35800228] Цитата: Сообщение от GSokolov Цитата: Сообщение от Сергей Ведёхин Во время начисления зарплаты расчетчик работает в монопольном режиме. Документ начисления зарплаты делать не на всех скопом, а по подразделениям или по группам сотрудников до 50-100 человек, тогда проводить-перепроводить для исправлений будет намного быстрее. То же и с расчетом. Базу - на компьютер расчетчика, главбуху - ежедневную автокопию на её компьютер, там можно работать и монопольно. Сотрудники разбиты по подразделениям. Получается от 2х до где-то 50-60 человек в подразделении. [/quote] Я наверно неправильно указал количество сотрудников в базе. В ней с момента начала ведения учета в 1С не удаляли уволенных сотрудников. Поэтому накопилось порядка 1000 человек. А так. в среднем, всегда работает около 100 человек. |
16-Сергей Ведёхин > [url]http://bit.ly/1owCncI[/url] |
(17) Почему-то я так и думал. [url]http://viterminal.ru/[/url] - бюджетное решение именно для таких случаев, я его неоднократно применял. |
20-Ткачик > ...что не отменяет настройку "недосервера" ;) |
(21) А какая особенная настройка должна быть у компа в режиме [b]терминального сервера[/b]? |
22-Ткачик > Да хоть буфер IO расширить полезно. Приоритет дать служебным задачам. Службы пошерстить... Вроде ничего военного, но скачет бодрее :) Кстати, SP2 будет гораздо лучшее. |
Текущее время: 08:59. Часовой пояс GMT +3. |