# XX_SHIFT_DODO Перевод смены в ночном аудите до актуальной даты процедурой

## Установка текущей даты в качестве даты ночного аудита.

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

<p class="callout warning">**ВАЖНО! Ни в коем случае не применять на рабочей базе объекта без проверки на копии базы!** </p>

<p class="callout warning">**Перевод смены на завтрашний день вызовет затруднения при работе в продолжение текущего дня. Операция перевода смены не обратима!** </p>

<p class="callout info">**Процедура выполняется долго! Чем старее у вас смена в ночном аудите, тем дольше будет применяться процедура ее перевода до актуальной.**</p>

  
Для этого можно использовать специализированную процедуру **XX\_SHIFT\_DODO**

Добавляете процедуру в базу в IBExpert (SQL editor):

```
create procedure XX_SHIFT_DODO (PARAMSTR varchar(1024))
as
declare variable XINFO varchar(1024);
declare variable SHIFT integer;
declare variable SUCCESS smallint;
declare variable WORKSHIFT double precision; declare variable CURRSHIFT double precision; begin
  xinfo = paramstr;
  xinfo =
SetNamedParam(xinfo,'hotel',getnamedparamdefnum(paramstr,'hotel',1));
  shift = 0;
  CURRSHIFT = floor(d2dbl('now'));
  select WORKSHIFT from sp_get_workshift(:xinfo) into :WORKSHIFT;
  WORKSHIFT = snn(WORKSHIFT);
  while (WORKSHIFT < CURRSHIFT) do
  begin
    select SUCCESS from sp_workshift_change(:shift,1,:xinfo) into :SUCCESS;
    if (SUCCESS<> 1) then break;
    select WORKSHIFT from sp_get_workshift(:xinfo) into :WORKSHIFT;
    WORKSHIFT = snn(WORKSHIFT);
  end
end
```

**Commit** [![image.png](https://docs.shelter.ru/uploads/images/gallery/2025-12/scaled-1680-/HxXimage.png)](https://docs.shelter.ru/uploads/images/gallery/2025-12/HxXimage.png)

После чего находим данную процедуру в базе, открываем ее и жмем **Compile procedure** [![image.png](https://docs.shelter.ru/uploads/images/gallery/2025-12/scaled-1680-/Mspimage.png)](https://docs.shelter.ru/uploads/images/gallery/2025-12/Mspimage.png)

**Далее Commit.**

[![image.png](https://docs.shelter.ru/uploads/images/gallery/2025-12/scaled-1680-/JuZimage.png)](https://docs.shelter.ru/uploads/images/gallery/2025-12/JuZimage.png)

После закрытия окна компиляции выполняем **Execute procedure <u>(</u>с параметром ' ' ):**

[![image.png](https://docs.shelter.ru/uploads/images/gallery/2025-12/scaled-1680-/v1Kimage.png)](https://docs.shelter.ru/uploads/images/gallery/2025-12/v1Kimage.png)

После выполнения процедуры не забываем нажать **commit** [![image.png](https://docs.shelter.ru/uploads/images/gallery/2025-12/scaled-1680-/4Qkimage.png)](https://docs.shelter.ru/uploads/images/gallery/2025-12/4Qkimage.png)

<u>Итог</u>: Дата ночного аудита соответствует календарной.