Помогите написать простой отчет, позволяющий увидеть какие документы внесены в базе за определенный период, я так понимаю штатными средствами этого посмотреть нельзя? УТ 11.4. В 7.7 написала бы за минуту, а тут знаний не хватает. Нужно просто увидеть какие документы внесены, можно просто сообщением внизу.
По теме из базы знаний
- Универсальный журнал документов с фильтром по организации
- Быстрое перепроведение всех документов за период. Управляемые формы
- Перенос документов по зарплате из ЗУП 3.1 в УНФ 3.0
- Выгрузка и загрузка данных XML 8.2 (2.1.6) с автовыбором созданных за период видов документов
- Универсальное групповое копирование документов из периода в период
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
как запихнуть результат с таблицу, надеюсь разберетесь
Для каждого Док из Метаданные.Документы Цикл
Запрос.Текст =
"ВЫБРАТЬ
| АвансовыйОтчет.Ссылка
|ИЗ
| Документ.АвансовыйОтчет КАК АвансовыйОтчет
|ГДЕ
| АвансовыйОтчет.Дата >= &Дата1 И АвансовыйОтчет.Дата <= &Дата2" ;
Запрос.Текст = СтрЗаменить(Запрос.Текст,"АвансовыйОтчет",Док.Имя);
Запрос.УстановитьПараметр("Дата1", НачалоДня(Дата1));
Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2));
РезультатЗапроса = Запрос.Выполнить().выбрать();
пока РезультатЗапроса .Следующий() цикл
сообщить (РезультатЗапроса.Ссылка);
КонецЦикла;
КонецЦикла;
Показатькак запихнуть результат с таблицу, надеюсь разберетесь
ТекстЗапросаПоДокументу = "
|ВЫБРАТЬ
| Документ.Ссылка
|ИЗ
| Документ.ТипДокумента КАК Документ
|ГДЕ
| Документ.Дата МЕЖДУ &ДатаНач И &ДатаКон
|";
ТекстЗапроса = "";
Для Каждого Документ Из Метаданные.Документы Цикл
ТекстЗапроса = ТекстЗапроса + ?(ПустаяСтрока(ТекстЗапроса), "", "
|ОБЪЕДИНИТЬ ВСЕ
|")
+ СтрЗаменить(ТекстЗапросаПоДокументу, "ТипДокумента", Документ.Имя);
КонецЦикла;
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
Запрос.УстановитьПараметр("ДатаКон", ДатаКон);
результат = Запрос.Выполнить();
Показать
(4)
Для упорядочения:
Для упорядочения:
ТекстЗапросаПоДокументу = "
|ВЫБРАТЬ
| Документ.Ссылка,
| Документ.МоментВремени КАК МоментВремени
|ИЗ
| Документ.ТипДокумента КАК Документ
|ГДЕ
| Документ.Дата МЕЖДУ &ДатаНач И &ДатаКон
|";
ТекстЗапроса = "";
Для Каждого Документ Из Метаданные.Документы Цикл
ТекстЗапроса = ТекстЗапроса + ?(ПустаяСтрока(ТекстЗапроса), "", "
|ОБЪЕДИНИТЬ ВСЕ
|")
+ СтрЗаменить(ТекстЗапросаПоДокументу, "ТипДокумента", Документ.Имя);
КонецЦикла;
ТекстЗапроса = ТекстЗапроса + "
|
|УПОРЯДОЧИТЬ ПО
| МоментВремени";
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
Запрос.УстановитьПараметр("ДатаКон", ДатаКон);
Результат = Запрос.Выполнить();
Показать
Рабочий код для выборки "Создателей контрагентов" из журнала регистрации
Вместо
Заполнить нужными документами
P.S. В моем браузере не работает вставить код на форуме. Сори!
ИмяВыходногоФайла = ПолучитьИмяВременногоФайла(".xml");
Фильтр = Новый Структура;
Фильтр.Вставить("ДатаНачала", НачалоДня(НачПериода));
Фильтр.Вставить("ДатаОкончания", КонецДня(КонПериода));
МассивСобытий = Новый Массив;
МассивСобытий.Добавить("_$Data$_.New");
Фильтр.Вставить("Событие", МассивСобытий);
МассивМетаданных = Новый Массив;
МассивМетаданных.Добавить(Метаданные.Справочники.Контрагенты);
Фильтр.Вставить("Метаданные", МассивМетаданных);
СтрокаКолонокЖурналаРегистрации = "Дата, ИмяПользователя, Компьютер, Данные";
ВыгрузитьЖурналРегистрации(ИмяВыходногоФайла, Фильтр, СтрокаКолонокЖурналаРегистрации);
МассивТиповДанных = Новый Массив;
Для Каждого МетаданныеДанных Из МассивМетаданных Цикл
МассивТиповДанных.Добавить(Тип("СправочникСсылка." + МетаданныеДанных.Имя));
КонецЦикла;
ТаблицаСобытий = Новый ТаблицаЗначений;
ТаблицаСобытий.Колонки.Добавить("Data", Новый ОписаниеТипов(МассивТиповДанных));
ЗагрузитьЖурналРегистрацииВТаблицу(ИмяВыходногоФайла, ТаблицаСобытий, СтрокаКолонокЖурналаРегистрации);
УдалитьФайлы(ИмяВыходногоФайла);
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТаблицаСобытий", ТаблицаСобытий);
Запрос.Текст =
"ВЫБРАТЬ
| ВЫРАЗИТЬ(т.Данные КАК Справочник.Контрагенты) КАК Контрагент,
| т.Дата,
| т.ИмяПользователя КАК Пользователь,
| т.Компьютер
|ПОМЕСТИТЬ втТаблицаСобытий
|ИЗ
| &ТаблицаСобытий КАК т
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| т.Контрагент,
| т.Контрагент.Представление,
| т.Дата,
| т.Пользователь,
| т.Компьютер
|ИЗ
| втТаблицаСобытий КАК т";
Результат = Запрос.Выполнить();
ТабДок = ЭлементыФормы.ТабДок;
ПоказатьВместо
МассивМетаданных = Новый Массив;
МассивМетаданных.Добавить(Метаданные.Справочники.Контрагенты);
Фильтр.Вставить("Метаданные", МассивМетаданных);
МассивМетаданных.Добавить(Метаданные.Справочники.Контрагенты);
Фильтр.Вставить("Метаданные", МассивМетаданных);
Заполнить нужными документами
P.S. В моем браузере не работает вставить код на форуме. Сори!
Недавно применял такой способ:
Д1 = '20240220';
Д2 = '20240331';
ТекПодразделение = Получить.ЭтотУзел().Подразделение();
Сообщить(ТекПодразделение);
Для каждого МД из Метаданные.Документы Цикл
Если МД.Реквизиты.Найти("Подразделение") = Неопределено Тогда
Продолжить;
КонецЕсли;
Выборка = Документы[МД.Имя].Выбрать(Д1, Д2);
Пока Выборка.Следующий() Цикл
ОбрабатываемыйОбъект = Выборка.Ссылка.ПолучитьОбъект();
Если ОбрабатываемыйОбъект.Подразделение <> ТекПодразделение Тогда
Продолжить;
КонецЕсли;
Сообщить(ОбрабатываемыйОбъект);
ОбрабатываемыйОбъект.Записать();
Для Каждого НЗ ИЗ ОбрабатываемыйОбъект.Движения Цикл
НЗ.Прочитать();
Сообщить(" " + НЗ + ": " + НЗ.Количество());
НЗ.Записать();
КонецЦикла;
КонецЦикла;
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот