Обратил внимание, что стандартный отчет Движение товаров в Бухгалтерии 3.0 берет остатки конечной даты на 0:00:00, а надо 23:59:59, написан на скд с выводом в форму...

Подскажите как можно исправить ?
---
пробуйте.
Проверить не на чем.

ps. Изменения не сохранились. Прикрепил новый.
---
Так у вас реквизит отчета "КонецПериода" имеет состав только Дата.
---
и? не работает все равно
---
у вас бывают движения в первую секунду дня - возьмите следующий день и не парьтесь
---
Сомнительная рекомендация...
---
а если сравнение делать не меньше или равно а просто меньше))
---
Это параметры запроса. Конкретно - виртуальных таблиц. Там не бывает больше-меньше, там всегда строго равно ) Аналог - МЕЖДУ
---
Два варианта:
1. В запросах заменить &КонецПериода на КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
2. Сделать свой параметр "КонецПериода1" типа дата, а параметр, доставшийся от СКД выразить через него аналогичным образом: КОНЕЦПЕРИОДА(&КонецПериода, "День"). Ну естественно, родной параметр сделать недоступным
---
1. Делал не работает 0:00:00
2. Делал не работает 0:00:00
---
Чего-то не так делаете, значит. Перепроверьте, везде ли параметр заменили, он у вас там как минимум восемь раз встречается. Ну и в п.2 я забыл указать, что тип параметра надо менять на Дата+Время.
---
откройте для себя СтандартныйПериод.
---
Подскажите как можно исправить ?

Если малой кровью, то надо в наборах данных, во всех запросах заменить

```1c
    &КонецПериода
```

на

```1c
    КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
```
---
была такая проблема https://forum.infostart.ru/forum9/topic117511/
решение

```1c
    Дата МЕЖДУ НачалоПериода(&НачПериода, День) И КонецПериода(&КонПериода, День
```
)
---
А еще можно запилить указание периода через свой параметр. Пример прикладываю
---
(13) (12)

все это уже делал и в коде поменял Отчет.КонецПериода на Отчет.Период.ДатаОкончания

```1c
    &НаКлиенте
    Перем ПараметрыОбработчикаОжидания;

    &НаКлиенте
    Перем ПараметрыОбработчикаОжиданияАктуализации Экспорт;

    ////////////////////////////////////////////////////////////­////////////////////
    // ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ

    &НаСервере
    Процедура ЗаполнитьНастройкамиПоУмолчанию(ЗаполняемыеНастройки)

    Если ЗаполняемыеНастройки.Свойство("Показатели") И ЗаполняемыеНастройки.Показатели Тогда
    // Управление показателями
    Отчет.ПоказательСумма = Истина;
    Отчет.ПоказательКоличество = Ложь;
    КонецЕсли;

    Если ЗаполняемыеНастройки.Свойство("Группировка") И ЗаполняемыеНастройки.Группировка Тогда

    Отчет.ВертикальнаяГруппировкаПоСкладам = ИспользуетсяНесколькоСкладов;

    Отчет.Группировка.Очистить();

    Если ИспользуетсяНесколькоСкладов Тогда
    НоваяГруппировка = Отчет.Группировка.Добавить();
    НоваяГруппировка.Поле = "Склад";
    НоваяГруппировка.Представление = "Склад";
    НоваяГруппировка.Использование = Ложь;
    НоваяГруппировка.ТипГруппировки = 0;
    КонецЕсли;

    НоваяГруппировка = Отчет.Группировка.Добавить();
    НоваяГруппировка.Поле = "Номенклатура";
    НоваяГруппировка.Представление = "Номенклатура";
    НоваяГруппировка.Использование = Истина;
    НоваяГруппировка.ТипГруппировки = 0;

    НоваяГруппировка = Отчет.Группировка.Добавить();
    НоваяГруппировка.Поле = "Регистратор";
    НоваяГруппировка.Представление = "Документ";
    НоваяГруппировка.Использование = Ложь;
    НоваяГруппировка.ТипГруппировки = 0;

    КонецЕсли;

    КонецПроцедуры

    ////////////////////////////////////////////////////////////­////////////////////
    // ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ

    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    БухгалтерскиеОтчетыВызовСервера.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);

    ОтправкаПочтовыхСообщений.ПриСозданииОтчетаНаСервере(ЭтаФорма, Элементы.ОсновнаяКоманднаяПанель.Имя, ,
    Элементы.ГруппаДополнительнаяКоманднаяПанель.Имя, Элементы.СохранитьВариант.Имя);

    УстановитьПараметрыВыбораСчета();

    ИспользуетсяНесколькоСкладов = Справочники.Склады.ИспользуетсяНесколькоСкладов();

    УправлениеФормой(ЭтаФорма);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПриОткрытии(Отказ)

    ОбновитьТекстЗаголовка(ЭтаФорма);

    Если НЕ ИнформационнаяБазаФайловая Тогда

    Если ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
    ДлительныеОперацииКлиент.ИнициализироватьПараметрыОбработчикаОжидания(ПараметрыОбработчикаОжидания);
    ПодключитьОбработчикОжидания("Подключаемый_ПроверитьВыполнениеЗадания", ПараметрыОбработчикаОжидания.ТекущийИнтервал, Истина);
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "ФормированиеОтчета");
    ИначеЕсли Отчет.РежимРасшифровки Тогда
    БухгалтерскийУчетКлиентПереопределяемый.ПроверитьАктуальность(ЭтотОбъект, Отчет.Организация, КонецДня(Отчет.Период.ДатаОкончания));
    Иначе
    ПодключитьОбработчикОжидания("Подключаемый_СформироватьПриОткрытии", БухгалтерскиеОтчетыКлиент.ИнтервалЗапускаФормированияОтчетаПриОткрытии(), Истина);
    КонецЕсли;

    КонецЕсли;

    БухгалтерскиеОтчетыКлиент.ПриОткрытии(ЭтаФорма, Отказ);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)

    БухгалтерскиеОтчетыКлиент.ПередЗакрытием(ЭтаФорма, Отказ, СтандартнаяОбработка);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПриЗакрытии()

    БухгалтерскиеОтчетыКлиент.ПриЗакрытии(ЭтаФорма);

    КонецПроцедуры

    &НаСервере
    Процедура ПриСохраненииПользовательскихНастроекНаСервере(Настройки)

    БухгалтерскиеОтчетыВызовСервера.ПриСохраненииПользовательскихНастроекНаСервере(ЭтаФорма, Настройки);

    КонецПроцедуры

    &НаСервере
    Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(Настройки)

    БухгалтерскиеОтчетыВызовСервера.ПриЗагрузкеПользовательскихНастроекНаСервере(ЭтаФорма, Настройки);

    ОбновитьТекстЗаголовка(ЭтаФорма);

    УправлениеФормой(ЭтаФорма);

    Если ИнформационнаяБазаФайловая Тогда
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеАктуальность");
    Иначе
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "ФормированиеОтчета");
    КонецЕсли;

    КонецПроцедуры

    &НаСервере
    Процедура ПриЗагрузкеВариантаНаСервере(Настройки)

    ЗаполнитьНастройкамиПоУмолчанию(Новый Структура("Показатели, Группировка", Истина, Истина));

    КонецПроцедуры

    &НаКлиенте
    Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)

    БухгалтерскийУчетКлиентПереопределяемый.ОбработкаОповещенияАктуализации(ЭтотОбъект, Отчет.Организация, Отчет.Период.ДатаОкончания, ИмяСобытия, Параметр, Источник);

    КонецПроцедуры

    ////////////////////////////////////////////////////////////­////////////////////
    // ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ГРУППЫ ПЕРИОД

    &НаКлиенте
    Процедура ВыбратьПериод(Команда)

    ПараметрыВыбора = Новый Структура("Период", Отчет.Период.ДатаНачала, Отчет.Период.ДатаОкончания);
    ОписаниеОповещения = Новый ОписаниеОповещения("ВыбратьПериодЗавершение", ЭтотОбъект);
    ОткрытьФорму("ОбщаяФорма.ВыборСтандартногоПериода", ПараметрыВыбора, Элементы.ВыбратьПериод, , , , ОписаниеОповещения);

    КонецПроцедуры

    &НаКлиенте
    Процедура ВыбратьПериодЗавершение(РезультатВыбора, ДопПараметры) Экспорт

    Если РезультатВыбора = Неопределено Тогда
    Возврат;
    КонецЕсли;
    ЗаполнитьЗначенияСвойств(Отчет, РезультатВыбора, "Период");

    ОбновитьТекстЗаголовка(ЭтаФорма);
    Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеАктуальность");
    КонецЕсли;

    БухгалтерскийУчетКлиентПереопределяемый.СкрытьПанельАктуализацииАвтоматически(ЭтотОбъект);

    КонецПроцедуры

    &НаКлиенте
    Процедура НачалоПериодаПриИзменении(Элемент)
    ОбновитьТекстЗаголовка(ЭтаФорма);
    Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеАктуальность");
    КонецЕсли;

    БухгалтерскийУчетКлиентПереопределяемый.СкрытьПанельАктуализацииАвтоматически(ЭтотОбъект);
    КонецПроцедуры

    &НаКлиенте
    Процедура КонецПериодаПриИзменении(Элемент)
    ОбновитьТекстЗаголовка(ЭтаФорма);
    Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеАктуальность");
    КонецЕсли;
    Отчет.Период.ДатаОкончания = КонецДня(Отчет.Период.ДатаОкончания);
    БухгалтерскийУчетКлиентПереопределяемый.СкрытьПанельАктуализацииАвтоматически(ЭтотОбъект);
    КонецПроцедуры

    ////////////////////////////////////////////////////////////­////////////////////
    // ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ШАПКИ ФОРМЫ

    &НаКлиенте
    Процедура ПолеОрганизацияПриИзменении(Элемент)

    ОбщегоНазначенияБПКлиент.ПолеОрганизацияПриИзменении(Элемент, ПолеОрганизация,
    Отчет.Организация, Отчет.ВключатьОбособленныеПодразделения);

    ОбновитьТекстЗаголовка(ЭтаФорма);

    Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеАктуальность");
    КонецЕсли;

    БухгалтерскиеОтчетыКлиент.ОрганизацияПриИзменении(ЭтаФорма, Элемент);

    БухгалтерскийУчетКлиентПереопределяемый.СкрытьПанельАктуализацииАвтоматически(ЭтотОбъект);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПолеОрганизацияОткрытие(Элемент, СтандартнаяОбработка)

    ОбщегоНазначенияБПКлиент.ПолеОрганизацияОткрытие(Элемент, СтандартнаяОбработка,
    ПолеОрганизация, СоответствиеОрганизаций);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПолеОрганизацияОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

    ОбщегоНазначенияБПКлиент.ПолеОрганизацияОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка,
    СоответствиеОрганизаций, Отчет.Организация, Отчет.ВключатьОбособленныеПодразделения);

    КонецПроцедуры

    ////////////////////////////////////////////////////////////­/////////////////////
    // ОБРАБОТЧИКИ СОБЫТИЙ ПОЛЯ РЕЗУЛЬТАТА

    &НаКлиенте
    Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)

    БухгалтерскиеОтчетыКлиент.ОбработкаРасшифровкиСтандартногоОтчета(ЭтаФорма, Элемент, Расшифровка, СтандартнаяОбработка);

    КонецПроцедуры

    &НаКлиенте
    Процедура РезультатОбработкаДополнительнойРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)

    // Не будем обрабатывать нажатие на правую кнопку мыши.
    // Покажем стандартное контекстное меню ячейки табличного документа.
    Расшифровка = Неопределено;

    КонецПроцедуры

    &НаКлиенте
    Процедура РезультатПриАктивизацииОбласти(Элемент)

    Если ТипЗнч(Результат.ВыделенныеОбласти) = Тип("ВыделенныеОбластиТабличногоДокумента") Тогда
    ИнтервалОжидания = ?(ПолучитьСкоростьКлиентскогоСоединения() = СкоростьКлиентскогоСоединения.Низкая, 1, 0.2);
    ПодключитьОбработчикОжидания("Подключаемый_РезультатПриАктивизацииОбластиПодключаемый", ИнтервалОжидания, Истина);
    КонецЕсли;

    КонецПроцедуры

    ////////////////////////////////////////////////////////////­////////////////////
    // ОБРАБОТЧИКИ СОБЫТИЙ ГРУППЫ ГРУППИРОВКА

    &НаКлиенте
    Процедура ГруппировкаПриИзменении(Элемент)

    Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеАктуальность");
    КонецЕсли;

    КонецПроцедуры

    &НаКлиенте
    Процедура ГруппировкаПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)

    БухгалтерскиеОтчетыКлиент.ГруппировкаПередНачаломДобавления(ЭтаФорма, Элемент, Отказ, Копирование, Родитель, Группа);

    КонецПроцедуры

    &НаКлиенте
    Процедура ГруппировкаПередНачаломИзменения(Элемент, Отказ)

    БухгалтерскиеОтчетыКлиент.ГруппировкаПередНачаломИзменения(ЭтаФорма, Элемент, Отказ);

    КонецПроцедуры

    &НаКлиенте
    Процедура ГруппировкаСнятьФлажки(Команда)

    Для Каждого СтрокаТаблицы Из Отчет.Группировка Цикл
    СтрокаТаблицы.Использование = Ложь;
    СтрокаТаблицы.ИспользованиеВДиаграмме = Ложь;
    КонецЦикла;

    Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеАктуальность");
    КонецЕсли;

    КонецПроцедуры

    &НаКлиенте
    Процедура ГруппировкаУстановитьФлажки(Команда)

    Для Каждого СтрокаТаблицы Из Отчет.Группировка Цикл
    СтрокаТаблицы.Использование = Истина;
    СтрокаТаблицы.ИспользованиеВДиаграмме = Истина;
    КонецЦикла;

    Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеАктуальность");
    КонецЕсли;

    КонецПроцедуры

    ////////////////////////////////////////////////////////////­////////////////////
    // ОБРАБОТЧИКИ СОБЫТИЙ ГРУППЫ ОТБОРЫ

    &НаКлиенте
    Процедура ОтборыПриИзменении(Элемент)

    БухгалтерскиеОтчетыКлиент.ОтборыПриИзменении(ЭтаФорма, Элемент, Ложь);

    ОбновитьТекстЗаголовка(ЭтаФорма);

    КонецПроцедуры

    &НаКлиенте
    Процедура ОтборыПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)

    БухгалтерскиеОтчетыКлиент.ОтборыПередНачаломДобавления(ЭтаФорма, Элемент, Отказ, Копирование, Родитель, Группа);

    КонецПроцедуры

    &НаКлиенте
    Процедура ОтборыПередНачаломИзменения(Элемент, Отказ)

    БухгалтерскиеОтчетыКлиент.ОтборыПередНачаломИзменения(ЭтаФорма, Элемент, Отказ);

    КонецПроцедуры

    &НаКлиенте
    Процедура ОтборыПравоеЗначениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

    ЛевоеЗначение = ЭтаФорма.Элементы.Отборы.ТекущиеДанные.ЛевоеЗначение;
    ТекущийВидСравнения = ЭтаФорма.Элементы.Отборы.ТекущиеДанные.ВидСравнения;

    ПолеКомпоновкиДанныхСчет = Новый ПолеКомпоновкиДанных("Счет");

    Если ЛевоеЗначение = ПолеКомпоновкиДанныхСчет
    И (ТекущийВидСравнения <> ВидСравненияКомпоновкиДанных.ВСписке
    И ТекущийВидСравнения <> ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии
    И ТекущийВидСравнения <> ВидСравненияКомпоновкиДанных.НеВСпискеПоИерархии
    И ТекущийВидСравнения <> ВидСравненияКомпоновкиДанных.НеВСписке) Тогда

    СтандартнаяОбработка = Ложь;

    ФормаВыбораСчета = ПолучитьФорму("ПланСчетов.Хозрасчетный.ФормаВыбора",,Элемент);
    ФормаВыбораСчета.РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;

    БухгалтерскиеОтчетыКлиентСервер.ДобавитьОтбор(ФормаВыбораСчета.Список.Отбор,"Ссылка", СписокСчетов, ВидСравненияКомпоновкиДанных.ВСписке);

    ФормаВыбораСчета.Открыть();

    Иначе

    СписокПараметров = ПолучитьПараметрыВыбораЗначенияОтбора();
    БухгалтерскиеОтчетыКлиент.ОтборыПравоеЗначениеНачалоВыбора(ЭтаФорма, Элемент, ДанныеВыбора, СтандартнаяОбработка, СписокПараметров);

    КонецЕсли;

    КонецПроцедуры

    ////////////////////////////////////////////////////////////­////////////////////
    // ОБРАБОТЧИКИ СОБЫТИЙ ГРУППЫ ДОПОЛНИТЕЛЬНЫЕ ПОЛЯ

    &НаКлиенте
    Процедура РазмещениеДополнительныхПолейПриИзменении(Элемент)

    Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеАктуальность");
    КонецЕсли;

    КонецПроцедуры

    &НаКлиенте
    Процедура ДополнительныеПоляПриИзменении(Элемент)

    Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеАктуальность");
    КонецЕсли;

    КонецПроцедуры

    &НаКлиенте
    Процедура ДополнительныеПоляПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)

    БухгалтерскиеОтчетыКлиент.ДополнительныеПоляПередНачаломДобавления(ЭтаФорма, Элемент, Отказ, Копирование, Родитель, Группа);

    КонецПроцедуры

    &НаКлиенте
    Процедура ДополнительныеПоляПередНачаломИзменения(Элемент, Отказ)

    БухгалтерскиеОтчетыКлиент.ДополнительныеПоляПередНачаломИзменения(ЭтаФорма, Элемент, Отказ);

    КонецПроцедуры

    &НаКлиенте
    Процедура ДополнительныеПоляСнятьФлажки(Команда)

    Для Каждого СтрокаТаблицы Из Отчет.ДополнительныеПоля Цикл
    СтрокаТаблицы.Использование = Ложь;
    КонецЦикла;

    Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеАктуальность");
    КонецЕсли;

    КонецПроцедуры

    &НаКлиенте
    Процедура ДополнительныеПоляУстановитьФлажки(Команда)

    Для Каждого СтрокаТаблицы Из Отчет.ДополнительныеПоля Цикл
    СтрокаТаблицы.Использование = Истина;
    КонецЦикла;

    Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеАктуальность");
    КонецЕсли;

    КонецПроцедуры

    ////////////////////////////////////////////////////////////­////////////////////
    // ОБРАБОТЧИКИ СОБЫТИЙ ГРУППЫ СОРТИРОВКА

    &НаКлиенте
    Процедура СортировкаПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)

    БухгалтерскиеОтчетыКлиент.СортировкаПередНачаломДобавления(ЭтаФорма, Элемент, Отказ, Копирование, Родитель, Группа);

    КонецПроцедуры

    &НаКлиенте
    Процедура СортировкаПередНачаломИзменения(Элемент, Отказ)

    БухгалтерскиеОтчетыКлиент.СортировкаПередНачаломИзменения(ЭтаФорма, Элемент, Отказ);

    КонецПроцедуры

    ////////////////////////////////////////////////////////////­////////////////////
    // ОБРАБОТЧИКИ СОБЫТИЙ ГРУППЫ ОФОРМЛЕНИЕ

    &НаКлиенте
    Процедура МакетОформленияПриИзменении(Элемент)

    БухгалтерскиеОтчетыКлиентСервер.УстановитьПараметрВывода(Отчет.КомпоновщикНастроек.Настройки, "МакетОформления", МакетОформления);

    Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеАктуальность");
    КонецЕсли;

    КонецПроцедуры

    &НаКлиенте
    Процедура ВыводитьЗаголовокПриИзменении(Элемент)

    Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеАктуальность");
    КонецЕсли;

    КонецПроцедуры

    &НаКлиенте
    Процедура ВыводитьПодвалПриИзменении(Элемент)

    Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеАктуальность");
    КонецЕсли;

    КонецПроцедуры

    ////////////////////////////////////////////////////////////­////////////////////
    // ОБРАБОТЧИКИ КОМАНД ФОРМЫ

    &НаКлиенте
    Процедура СформироватьОтчет(Команда)

    ЗапуститьФормированиеОтчета();

    КонецПроцедуры

    &НаКлиенте
    Процедура Подключаемый_ПроверитьАктуальность()

    БухгалтерскийУчетКлиентПереопределяемый.ПроверитьАктуальность(ЭтотОбъект, Отчет.Организация, Отчет.Период.ДатаОкончания);

    КонецПроцедуры

    &НаКлиенте
    Процедура Подключаемый_ОбработатьРезультатПроверкиАктуальности()

    БухгалтерскийУчетКлиентПереопределяемый.ПроверитьВыполнениеПроверкиАктуальностиОтчета(ЭтотОбъект);

    КонецПроцедуры

    &НаКлиенте
    Процедура Актуализировать(Команда)

    БухгалтерскийУчетКлиентПереопределяемый.Актуализировать(ЭтотОбъект, Отчет.Организация, Отчет.Период.ДатаОкончания);

    КонецПроцедуры

    &НаКлиенте
    Процедура Подключаемый_ПроверитьВыполнениеАктуализации()

    БухгалтерскийУчетКлиентПереопределяемый.ПроверитьВыполнениеАктуализацииОтчета(ЭтотОбъект, Отчет.Организация, Отчет.Период.ДатаОкончания);

    КонецПроцедуры

    &НаКлиенте
    Процедура ОтменитьАктуализацию(Команда)

    БухгалтерскийУчетКлиентПереопределяемый.ОтменитьАктуализацию(ЭтотОбъект, Отчет.Организация, Отчет.Период.ДатаОкончания);

    КонецПроцедуры

    &НаКлиенте
    Процедура СкрытьНажатие(Элемент)

    БухгалтерскийУчетКлиентПереопределяемый.СкрытьПанельАктуализации(ЭтотОбъект);

    КонецПроцедуры

    &НаКлиенте
    Процедура Подключаемый_ПроверитьЗавершениеАктуализации()

    БухгалтерскийУчетКлиентПереопределяемый.ПроверитьЗавершениеАктуализации(ЭтотОбъект, Отчет.Организация, Отчет.Период.ДатаОкончания);

    КонецПроцедуры

    &НаКлиенте
    Процедура ЗакрытьНастройки(Команда)

    Элементы.СформироватьОтчет.КнопкаПоУмолчанию = Истина;
    ПодключитьОбработчикОжидания("Подключаемый_ЗакрытьНастройки", 0.1, Истина);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПоказатьНастройки(Команда)
    Элементы.ПрименитьНастройки.КнопкаПоУмолчанию = Истина;
    ПодключитьОбработчикОжидания("Подключаемый_ОткрытьНастройки", 0.1, Истина);
    КонецПроцедуры

    ////////////////////////////////////////////////////////////­////////////////////
    // СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ

    &НаСервере
    Процедура УстановитьПараметрыВыбораСчета()

    СписокСчетов.ЗагрузитьЗначения(Отчеты.ДвижениеТоваров.СчетаУчетаТоваров());

    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция ЗаданиеВыполнено(ИдентификаторЗадания)

    Возврат ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторЗадания);

    КонецФункции

    &НаСервере
    Функция ПодготовитьПараметрыОтчетаНаСервере()

    ПараметрыОтчета = Новый Структура;
    ПараметрыОтчета.Вставить("Организация" , Отчет.Организация);
    ПараметрыОтчета.Вставить("НачалоПериода" , Отчет.Период.ДатаНачала);
    ПараметрыОтчета.Вставить("КонецПериода" , КонецДня(Отчет.Период.ДатаОкончания));
    ПараметрыОтчета.Вставить("ВключатьОбособленныеПодразделения", Отчет.ВключатьОбособленныеПодразделения);
    ПараметрыОтчета.Вставить("РазмещениеДополнительныхПолей" , Отчет.РазмещениеДополнительныхПолей);
    ПараметрыОтчета.Вставить("Группировка" , Отчет.Группировка.Выгрузить());
    ПараметрыОтчета.Вставить("ДополнительныеПоля" , Отчет.ДополнительныеПоля.Выгрузить());
    ПараметрыОтчета.Вставить("РежимРасшифровки" , Отчет.РежимРасшифровки);
    ПараметрыОтчета.Вставить("ВыводитьЗаголовок" , ВыводитьЗаголовок);
    ПараметрыОтчета.Вставить("ВыводитьПодвал" , ВыводитьПодвал);
    ПараметрыОтчета.Вставить("ДанныеРасшифровки" , ДанныеРасшифровки);
    ПараметрыОтчета.Вставить("МакетОформления" , МакетОформления);
    ПараметрыОтчета.Вставить("СхемаКомпоновкиДанных" , ПолучитьИзВременногоХранилища(СхемаКомпоновкиДанных));
    ПараметрыОтчета.Вставить("ИдентификаторОтчета" , БухгалтерскиеОтчетыКлиентСервер.ПолучитьИдентификаторОбъекта(ЭтаФорма));
    ПараметрыОтчета.Вставить("НастройкиКомпоновкиДанных" , Отчет.КомпоновщикНастроек.ПолучитьНастройки());
    ПараметрыОтчета.Вставить("ВертикальнаяГруппировкаПоСкладам" , Отчет.ВертикальнаяГруппировкаПоСкладам);
    ПараметрыОтчета.Вставить("НаборПоказателей" , Отчеты[ПараметрыОтчета.ИдентификаторОтчета].ПолучитьНаборПоказателей());
    ПараметрыОтчета.Вставить("ПоказательСумма" , Отчет.ПоказательСумма);
    ПараметрыОтчета.Вставить("ПоказательКоличество" , Отчет.ПоказательКоличество);

    Возврат ПараметрыОтчета;

    КонецФункции

    &НаКлиентеНаСервереБезКонтекста
    Процедура ОбновитьТекстЗаголовка(Форма)

    Отчет = Форма.Отчет;

    Если ЗначениеЗаполнено(Отчет.Организация) И Форма.ИспользуетсяНесколькоОрганизаций Тогда
    ЗаголовокОтчета = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Движение товаров %1 %2'"),
    БухгалтерскиеОтчетыКлиентСервер.ПолучитьПредставлениеПериода(Отчет.Период.ДатаНачала, Отчет.Период.ДатаОкончания),
    БухгалтерскиеОтчетыВызовСервераПовтИсп.ПолучитьТекстОрганизация(Отчет.Организация, Отчет.ВключатьОбособленныеПодразделения));
    Иначе
    ЗаголовокОтчета = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Движение товаров %1'"),
    БухгалтерскиеОтчетыКлиентСервер.ПолучитьПредставлениеПериода(Отчет.Период.ДатаНачала, Отчет.Период.ДатаОкончания));
    КонецЕсли;

    Форма.Заголовок = ЗаголовокОтчета;

    КонецПроцедуры

    &НаКлиенте
    Функция ПолучитьЗапрещенныеПоля(Режим = ") Экспорт

    СписокПолей = Новый Массив;

    СписокПолей.Добавить("UserFields");
    СписокПолей.Добавить("DataParameters");
    СписокПолей.Добавить("SystemFields");
    СписокПолей.Добавить("Показатели");
    СписокПолей.Добавить("Период");

    Если НЕ ИспользуетсяНесколькоСкладов Тогда
    СписокПолей.Добавить("Склад");
    КонецЕсли;

    Если Режим = "Выбор" Тогда
    Для Каждого ДоступноеПоле Из Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляВыбора.Элементы Цикл
    Если ДоступноеПоле.Ресурс Тогда
    СписокПолей.Добавить(Строка(ДоступноеПоле.Поле));
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;

    Если Режим = "Группировка" ИЛИ Режим = "Выбор" ИЛИ Режим = "Отбор" Тогда
    БухгалтерскиеОтчетыКлиент.ДобавитьПоляРесурсовВЗапрещенныеПоля(ЭтаФорма, СписокПолей);
    КонецЕсли;

    Возврат Новый ФиксированныйМассив(СписокПолей);

    КонецФункции

    &НаСервере
    Функция СформироватьОтчетНаСервере() Экспорт

    Если Не ПроверитьЗаполнение() Тогда
    Возврат Новый Структура("ЗаданиеВыполнено, ОтказПроверкиЗаполнения", Истина, Истина);
    КонецЕсли;

    ДлительныеОперации.ОтменитьВыполнениеЗадания(ИдентификаторЗадания);

    ИдентификаторЗадания = Неопределено;

    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеИспользовать");

    Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("ВыводитьЗаголовок", ВыводитьЗаголовок);
    Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("ВыводитьПодвал" , ВыводитьПодвал);

    ПараметрыОтчета = ПодготовитьПараметрыОтчетаНаСервере();

    Если ИнформационнаяБазаФайловая Тогда
    АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
    БухгалтерскиеОтчетыВызовСервера.СформироватьОтчет(ПараметрыОтчета, АдресХранилища);
    РезультатВыполнения = Новый Структура("ЗаданиеВыполнено", Истина);
    Иначе
    РезультатВыполнения = ДлительныеОперации.ЗапуститьВыполнениеВФоне(
    УникальныйИдентификатор,
    "БухгалтерскиеОтчетыВызовСервера.СформироватьОтчет",
    ПараметрыОтчета,
    БухгалтерскиеОтчетыКлиентСервер.ПолучитьНаименованиеЗаданияВыполненияОтчета(ЭтаФорма));

    АдресХранилища = РезультатВыполнения.АдресХранилища;
    ИдентификаторЗадания = РезультатВыполнения.ИдентификаторЗадания;
    КонецЕсли;

    Если РезультатВыполнения.ЗаданиеВыполнено Тогда
    ЗагрузитьПодготовленныеДанныеНаСервере();
    КонецЕсли;

    Элементы.СформироватьОтчет.КнопкаПоУмолчанию = Истина;

    Возврат РезультатВыполнения;

    КонецФункции

    &НаКлиентеНаСервереБезКонтекста
    Процедура УправлениеФормой(Форма)

    Форма.Элементы.ВертикальнаяГруппировкаПоСкладам.Видимость = Форма.ИспользуетсяНесколькоСкладов;

    КонецПроцедуры

    &НаСервере
    Процедура ЗагрузитьПодготовленныеДанныеНаСервере()

    РезультатВыполнения = ПолучитьИзВременногоХранилища(АдресХранилища);
    Результат = РезультатВыполнения.Результат;
    ДанныеРасшифровки = РезультатВыполнения.ДанныеРасшифровки;

    ИдентификаторЗадания = Неопределено;

    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеИспользовать");

    ДополнительныеСвойства = Отчет.КомпоновщикНастроек.Настройки.ДополнительныеСвойства;

    КонецПроцедуры

    &НаКлиенте
    Процедура Подключаемый_ПроверитьВыполнениеЗадания()

    Попытка
    Если ЗаданиеВыполнено(ИдентификаторЗадания) Тогда
    ЗагрузитьПодготовленныеДанныеНаСервере();
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеИспользовать");

    БухгалтерскийУчетКлиентПереопределяемый.ПроверитьАктуальность(ЭтотОбъект, Отчет.Организация, Отчет.Период.ДатаОкончания);
    Иначе
    ДлительныеОперацииКлиент.ОбновитьПараметрыОбработчикаОжидания(ПараметрыОбработчикаОжидания);
    ПодключитьОбработчикОжидания(
    "Подключаемый_ПроверитьВыполнениеЗадания",
    ПараметрыОбработчикаОжидания.ТекущийИнтервал,
    Истина);
    КонецЕсли;
    Исключение
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "НеИспользовать");
    ВызватьИсключение;
    КонецПопытки;

    КонецПроцедуры

    &НаСервере
    Процедура ВычислитьСуммуВыделенныхЯчеекТабличногоДокументаВКонтекстеНа­Сервере()

    ПолеСумма = БухгалтерскиеОтчетыВызовСервера.ВычислитьСуммуВыделенныхЯчеекТабличногоДокумента(
    Результат, КэшВыделеннойОбласти);

    КонецПроцедуры

    &НаКлиенте
    Процедура Подключаемый_РезультатПриАктивизацииОбластиПодключаемый()

    НеобходимоВычислятьНаСервере = Ложь;
    БухгалтерскиеОтчетыКлиент.ВычислитьСуммуВыделенныхЯчеекТабличногоДокумента(
    ПолеСумма, Результат, КэшВыделеннойОбласти, НеобходимоВычислятьНаСервере);

    Если НеобходимоВычислятьНаСервере Тогда
    ВычислитьСуммуВыделенныхЯчеекТабличногоДокументаВКонтекстеНа­Сервере();
    КонецЕсли;

    ОтключитьОбработчикОжидания("Подключаемый_РезультатПриАктивизацииОбластиПодключаемый");

    КонецПроцедуры

    &НаКлиенте
    Процедура Подключаемый_ОткрытьНастройки()
    Элементы.РазделыОтчета.ТекущаяСтраница = Элементы.НастройкиОтчета;
    КонецПроцедуры

    &НаКлиенте
    Процедура Подключаемый_ЗакрытьНастройки()

    Элементы.РазделыОтчета.ТекущаяСтраница = Элементы.Отчет;

    КонецПроцедуры

    &НаКлиенте
    Функция ПолучитьПараметрыВыбораЗначенияОтбора()

    СписокПараметров = Новый Структура;
    СписокПараметров.Вставить("Организация" , Отчет.Организация);

    Возврат СписокПараметров;

    КонецФункции

    &НаКлиенте
    Процедура Подключаемый_ВыполнитьКомандуОтправки()

    ОтправкаПочтовыхСообщенийКлиент.ОтправитьОтчет(ЭтотОбъект);

    КонецПроцедуры

    &НаКлиенте
    Процедура Подключаемый_СформироватьПриОткрытии()

    ЗапуститьФормированиеОтчета();

    КонецПроцедуры

    &НаКлиенте
    Процедура ЗапуститьФормированиеОтчета()

    ОчиститьСообщения();

    ОтключитьОбработчикОжидания("Подключаемый_ПроверитьВыполнениеЗадания");

    РезультатВыполнения = СформироватьОтчетНаСервере();
    Если Не РезультатВыполнения.ЗаданиеВыполнено Тогда
    ДлительныеОперацииКлиент.ИнициализироватьПараметрыОбработчикаОжидания(ПараметрыОбработчикаОжидания);
    ПодключитьОбработчикОжидания("Подключаемый_ПроверитьВыполнениеЗадания", ПараметрыОбработчикаОжидания.ТекущийИнтервал, Истина);
    ОбщегоНазначенияКлиентСервер.УстановитьСостояниеПоляТабличногоДокумента(Элементы.Результат, "ФормированиеОтчета");

    Иначе

    Если НЕ РезультатВыполнения.Свойство("ОтказПроверкиЗаполнения") Тогда
    БухгалтерскийУчетКлиентПереопределяемый.ПодключитьПроверкуАктуальности(ЭтотОбъект);
    КонецЕсли;

    КонецЕсли;

    Если РезультатВыполнения.Свойство("ОтказПроверкиЗаполнения") Тогда
    ПоказатьНастройки(");
    Иначе
    ПодключитьОбработчикОжидания("Подключаемый_ЗакрытьНастройки", 0.1, Истина);
    КонецЕсли;

    КонецПроцедуры
```

- где то чего не вижу или не понимаю...
---
Ну тогда шамана наймите, чтобы злых духов изгнал из вашего компьютера.
---
Прикрепите текущую версию отчета, погляжу
---
- чем изначальная из первого поста выгруженная из 1С бухгалтерия не нравиться - не пойму!?
---
посмотрел схему СКД. Там и обороты используются и остатки.
Для остатков конецДня это значение времени 23:59:59. Все что между этим временем и 00:00:00 следующего дня для остатков не учитывается. Но учитывается для оборотов.
Однозначного решения тут нет.
Как вариант, можно сделать два параметра конца периода:
ДатаОкончания1 - для оборотов
ДатаОкончания2 - для остатков.
ДатаОкончания2 расчитывать как ДатаОкончания1 + 1 секунда. Т.е. для остатков нужна дата начала следующего дня.
---
ДОБАВИТЬКДАТЕ(&КонецПериода, СЕКУНДА, 1)
---
формулы я знаю. Тут главное, что нельзя использовать это с одним параметром конца периода. Иначе обороты поплывут.
И эта формула не подойдет в вычисляемое выражение параметра по определению.
---
Я не в качестве просвещения ) Параметры в оборотных таблицах оставить как есть, а в таблицах остатков заменить на указанное выражение. Это решит проблему. Хотя у ТСа она пока совсем в другом )
---
- хоть кто то понимает суть...

поможете? - куда в пихнуть "ДатаОкончания2"

p/s
- странно что 1С не корректируют и не изменяют этот отчет видимо всех устраивает...
---
пробуйте.
Проверить не на чем.

ps. Изменения не сохранились. Прикрепил новый.
---
Благодарю! Урааа!