Дорабатываю в БП 3.0 отчет ОстаткиТоваров - мне нужно всего-навсего реализовать вывод остатков на складе с точностью до времени, т.е. не просто на конец дня 02.02.2019, а например на 02.02.2019 10:00:00.
Что я сделал:
- добавил в расширение этот отчет
- добавил новый реквизит отчета Расш1_КонецПериода
- переопределил в форме расширения процедуру ПодготовитьПараметрыОтчетаНаСервере()
и все равно, остатки отображаются на конец дня. Куда копать?
Что я сделал:
- добавил в расширение этот отчет
- добавил новый реквизит отчета Расш1_КонецПериода
- переопределил в форме расширения процедуру ПодготовитьПараметрыОтчетаНаСервере()
и все равно, остатки отображаются на конец дня. Куда копать?
По теме из базы знаний
- Остатки, дата последней закупки и продажи
- Перенос данных из БП 3.0 в УТ 11 / КА 2 / ERP 2. Переносятся начальные остатки, документы и справочники
- Перенос данных из УПП 1.3 / КА 1.1 в БП 3. Переносятся документы, справочники и начальные остатки
- Перенос данных и обмен из УТ 10.3 в УТ 11 / КА 2 / ERP 2. Переносятся документы, справочники и остатки
- Перенос остатков, документов и справочников из БП 3.0 в УТ 10.3. Переносятся остатки товаров, взаиморасчетов и денежных средств, а также документы и справочники
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
- это не мой отчет. Как я понял, это типовой отчет Бухгалтерии 3.0 - ОстаткиТоваров из подсистемы Склад.
- да именно, он. Вызываю старый отчет, расширение подключено и ошибок нет. На форме вижу, что мой добавленный реквизит отображается, в отладчике вижу, что программа заходит в доработанную функцию и параметры в структуре меняются
Переставил параметры - для проверки сделал - на день назад. Отрабатывает! Показывает остатки на вчера.
* А Ваш отчет работает правильно?
- это не мой отчет. Как я понял, это типовой отчет Бухгалтерии 3.0 - ОстаткиТоваров из подсистемы Склад.
* А вызывается именно он ? Вставить какое-то сообщение.
- да именно, он. Вызываю старый отчет, расширение подключено и ошибок нет. На форме вижу, что мой добавленный реквизит отображается, в отладчике вижу, что программа заходит в доработанную функцию и параметры в структуре меняются
* А что изменил? Если только параметры, то сам запрос работаем по-старому
Переставил параметры - для проверки сделал - на день назад. Отрабатывает! Показывает остатки на вчера.
&НаСервере
&Вместо("ПодготовитьПараметрыОтчетаНаСервере")
Функция Расш1_ПодготовитьПараметрыОтчетаНаСервере()
МенеджерОтчета = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ЭтотОбъект.ИмяФормы);
ПараметрыОтчета = МенеджерОтчета.ПустыеПараметрыКомпоновкиОтчета();
// Моя вставка Крынецкий 02.02.19. Начало, Конец периода заменяем на наш параметр
ПараметрыОтчета.НачалоПериода = Отчет.Расш1_КонецПериода - 86400;
ПараметрыОтчета.КонецПериода = Отчет.Расш1_КонецПериода - 86400;
// Конец моей вставки
ПараметрыОтчета.Организация = Отчет.Организация;
ПараметрыОтчета.ВключатьОбособленныеПодразделения = Отчет.ВключатьОбособленныеПодразделения;
ПараметрыОтчета.РазмещениеДополнительныхПолей = Отчет.РазмещениеДополнительныхПолей;
ПараметрыОтчета.Группировка = Отчет.Группировка.Выгрузить();
ПараметрыОтчета.ДополнительныеПоля = Отчет.ДополнительныеПоля.Выгрузить();
ПараметрыОтчета.ВыводитьЗаголовок = ВыводитьЗаголовок;
ПараметрыОтчета.ВыводитьПодвал = ВыводитьПодвал;
ПараметрыОтчета.МакетОформления = МакетОформления;
ПараметрыОтчета.РежимРасшифровки = Отчет.РежимРасшифровки;
ПараметрыОтчета.ДанныеРасшифровки = ДанныеРасшифровки;
ПараметрыОтчета.СхемаКомпоновкиДанных = ПолучитьИзВременногоХранилища(СхемаКомпоновкиДанных);
ПараметрыОтчета.ИдентификаторОтчета = БухгалтерскиеОтчетыКлиентСервер.ПолучитьИдентификаторОбъекта(ЭтотОбъект);
БухгалтерскиеОтчетыКлиентСервер.УдалитьИдентификаторПользовательскойНастройкиИзОтбора(Отчет.КомпоновщикНастроек);
ПараметрыОтчета.НастройкиКомпоновкиДанных = Отчет.КомпоновщикНастроек.ПолучитьНастройки();
Возврат ПараметрыОтчета;
КонецФункции
Показать
так если в запрос передавалась только дата, а результаты на конец дня, может в запросе этот параметр используется с функцией КонецПериода(Дата,день) тогда без исправления запроса не обойтись одним изменением параметра.
(3) Вот запрос из схемы:
Схему тоже прикладываю. Как видно - какую дату-время передаем, такая и встает в параметры. Но, увы, где-то эта дата преобразовывается
ВЫБРАТЬ
ХозрасчетныйОстатки_КонОст.Счет КАК Счет,
ХозрасчетныйОстатки_КонОст.Субконто1 КАК Номенклатура,
ХозрасчетныйОстатки_КонОст.СуммаОстаток КАК Сумма,
ХозрасчетныйОстатки_КонОст.КоличествоОстаток КАК Количество,
ХозрасчетныйОстатки_КонОст.Субконто2 КАК Склад,
ХозрасчетныйОстатки_КонОст.Организация КАК Организация,
ХозрасчетныйОстатки_КонОст.Подразделение КАК Подразделение
{ВЫБРАТЬ
Счет.*,
Номенклатура.*,
Сумма,
Количество,
Склад.*,
Организация.*,
Подразделение.*}
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&КонецПериода, Счет В (&СчетаУчетаСкладИНоменклатура) {(Счет).*}, &СубконтоНоменклатураИСклад, {(Организация).* КАК Организация, (Субконто1).* КАК Номенклатура, (Субконто2).* КАК Склад, (Подразделение).* КАК Подразделение}) КАК ХозрасчетныйОстатки_КонОст
{ГДЕ
ХозрасчетныйОстатки_КонОст.СуммаОстаток КАК Сумма,
ХозрасчетныйОстатки_КонОст.КоличествоОстаток КАК Количество}
ПоказатьСхему тоже прикладываю. Как видно - какую дату-время передаем, такая и встает в параметры. Но, увы, где-то эта дата преобразовывается
Прикрепленные файлы:
Схема.xml
Если кому интересно, я пошел по пути упрощения:
Просто создал новый отчет без форм, вставил туда одну только схему. В настройках схемы указал какие поля, какие параметры отображать на форме. Параметры в схеме прописал вручную, благо там только ссылки на предопределенные счета БУ. Оно работает, но вопрос по отчетам БП 3.0 остается открытым - как передать в параметры Дату+Время?
Просто создал новый отчет без форм, вставил туда одну только схему. В настройках схемы указал какие поля, какие параметры отображать на форме. Параметры в схеме прописал вручную, благо там только ссылки на предопределенные счета БУ. Оно работает, но вопрос по отчетам БП 3.0 остается открытым - как передать в параметры Дату+Время?
(9) Выше приводил код функции Функция Расш1_ПодготовитьПараметрыОтчетаНаСервере()
Здесь видно что параметры НачалоПериода, КонецПериода устанавливается отдельно в структуре
&НаСервере
&Вместо("ПодготовитьПараметрыОтчетаНаСервере")
Функция Расш1_ПодготовитьПараметрыОтчетаНаСервере()
МенеджерОтчета = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ЭтотОбъект.ИмяФормы);
ПараметрыОтчета = МенеджерОтчета.ПустыеПараметрыКомпоновкиОтчета();
// Моя вставка Крынецкий 02.02.19. Начало, Конец периода заменяем на наш параметр
ПараметрыОтчета.НачалоПериода = Отчет.Расш1_КонецПериода - 86400;
ПараметрыОтчета.КонецПериода = Отчет.Расш1_КонецПериода - 86400;
// Конец моей вставки
ПараметрыОтчета.Организация = Отчет.Организация;
ПараметрыОтчета.ВключатьОбособленныеПодразделения = Отчет.ВключатьОбособленныеПодразделения;
ПараметрыОтчета.РазмещениеДополнительныхПолей = Отчет.РазмещениеДополнительныхПолей;
ПараметрыОтчета.Группировка = Отчет.Группировка.Выгрузить();
ПараметрыОтчета.ДополнительныеПоля = Отчет.ДополнительныеПоля.Выгрузить();
ПараметрыОтчета.ВыводитьЗаголовок = ВыводитьЗаголовок;
ПараметрыОтчета.ВыводитьПодвал = ВыводитьПодвал;
ПараметрыОтчета.МакетОформления = МакетОформления;
ПараметрыОтчета.РежимРасшифровки = Отчет.РежимРасшифровки;
ПараметрыОтчета.ДанныеРасшифровки = ДанныеРасшифровки;
ПараметрыОтчета.СхемаКомпоновкиДанных = ПолучитьИзВременногоХранилища(СхемаКомпоновкиДанных);
ПараметрыОтчета.ИдентификаторОтчета = БухгалтерскиеОтчетыКлиентСервер.ПолучитьИдентификаторОбъекта(ЭтотОбъект);
БухгалтерскиеОтчетыКлиентСервер.УдалитьИдентификаторПользовательскойНастройкиИзОтбора(Отчет.КомпоновщикНастроек);
ПараметрыОтчета.НастройкиКомпоновкиДанных = Отчет.КомпоновщикНастроек.ПолучитьНастройки();
Возврат ПараметрыОтчета;
КонецФункции
ПоказатьЗдесь видно что параметры НачалоПериода, КонецПериода устанавливается отдельно в структуре
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот