Отбор в журнале документов ( обычное приложение )
По теме из базы знаний
- Метаданные ++ (для 1С 8.2 обычное приложение)
- 1С:Предприятие Бухгалтерия переход с редакции 2.0 на 3.0. Практика перевода информационной базы для работы в управляемом приложении.
- Обработка для замены ссылок (дублей) без перепроведения в "1С:Предприятие 8" для любых конфигураций (обычное приложение)
- Количество элементов (справочники, документы, регистры, журналы) в базе
- Версионирование справочников, документов и регистров сведений на SQL-сервере
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
"короче нужен новый отбор сделать". Да, коротко и грамотно писать ты умеешь.
Самый простой вариант - добавить в документ реквизит "ДатаЧегоТо" (врожденная лаконичность не позволила тебе объяснить, что это за дата).
Затем подумать над тем, чтобы это дата заполнялась. Если люди сами вносят - замечательно, только придумать удобный способ заполнения. А если ее можно вычислить ("запрос получает оплату"), то как-то программно вписать в документ.
Более сложный вариант: Сделать свой журнал. Точнее форму с большой табличной частью. И она имитирует журнал. Таких наработок много, и это хлопотно.
Самый простой вариант - добавить в документ реквизит "ДатаЧегоТо" (врожденная лаконичность не позволила тебе объяснить, что это за дата).
Затем подумать над тем, чтобы это дата заполнялась. Если люди сами вносят - замечательно, только придумать удобный способ заполнения. А если ее можно вычислить ("запрос получает оплату"), то как-то программно вписать в документ.
Более сложный вариант: Сделать свой журнал. Точнее форму с большой табличной частью. И она имитирует журнал. Таких наработок много, и это хлопотно.
В форме списка делал кнопку или переключатели, на событие формы списка "ПриПолученииДанных" делал следующий код это УПП пиленная.
Запрос = Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ
| VS_СтатусыЗаказовСрезПоследних.Документ,
| VS_СтатусыЗаказовСрезПоследних.Статус
|ИЗ
| РегистрСведений.VS_СтатусыЗаказов.СрезПоследних(&Период, Документ = &СписокДокументов) КАК VS_СтатусыЗаказовСрезПоследних";
Запрос.УстановитьПараметр("Период", ТекущаяДата());
Для Каждого Строка из ОформленияСтрок Цикл
Запрос.УстановитьПараметр("СписокДокументов", Строка.ДанныеСтроки.Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
Если ТипЗнч(Строка.ДанныеСтроки.Ссылка.ДокументОснование) = Тип("ДокументСсылка.VS_ЗаявкаНаПополнениеСклада") Тогда
Если Выборка.Статус = Перечисления.VS_СтатусыЗаказаПокупателя.Закрыт Тогда
Строка.ЦветФона = WebЦвета.Розовый;
Иначе
Строка.ЦветФона = WebЦвета.СеребристоСерый;
КонецЕсли;
Иначе
Если Выборка.Статус = Перечисления.VS_СтатусыЗаказаПокупателя.ОтданВОтгрузку Тогда
Строка.ЦветФона = WebЦвета.БледноЗеленый;
ИначеЕсли Выборка.Статус = Перечисления.VS_СтатусыЗаказаПокупателя.Закрыт Тогда
Строка.ЦветФона = WebЦвета.Розовый;
ИначеЕсли Выборка.Статус = Перечисления.VS_СтатусыЗаказаПокупателя.Формируется Тогда
Строка.ЦветФона = WebЦвета.ТопленоеМолоко;
КонецЕсли;
КонецЕсли;
Строка.Ячейки.ДатаДоговора.Значение = ?(ЗначениеЗаполнено(Строка.ДанныеСтроки.Ссылка),Строка.ДанныеСтроки.Ссылка.ДоговорКонтрагента.Дата,"");
КонецЦикла;
Показать
вот нашел пример но не оптимальный
Процедура ДействияФормыДействиеОтобратьПодписанные(Кнопка)
СписокОтбора = Новый СписокЗначений;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Статус", Перечисления.СтатусыДокументовРеализации.Подписан);
Запрос.УстановитьПараметр("ДатаНачала", ?(ЗначениеЗаполнено(ЭлементыФормы.Список.Значение.Отбор.Дата.ЗначениеС),ЭлементыФормы.Список.Значение.Отбор.Дата.ЗначениеС, Дата(1980,1,1)));
Запрос.УстановитьПараметр("ДатаОкончания", ?(ЗначениеЗаполнено(ЭлементыФормы.Список.Значение.Отбор.Дата.ЗначениеПо),ЭлементыФормы.Список.Значение.Отбор.Дата.ЗначениеПо, ТекущаяДата()));
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| СтатусыДокументов.Документ,
| СтатусыДокументов.Статус
|ИЗ
| РегистрСведений.СтатусыДокументов КАК СтатусыДокументов
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
| ПО СтатусыДокументов.Документ = РеализацияТоваровУслуг.Ссылка
|ГДЕ
| СтатусыДокументов.Статус = &Статус
| И РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания";
Выборка = Запрос.Выполнить().Выгрузить();
СписокОтбора.ЗагрузитьЗначения(Выборка.ВыгрузитьКолонку("Документ"));
ЭлементыФормы.Список.Значение.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
ЭлементыФормы.Список.Значение.Отбор.Ссылка.Значение = СписокОтбора;
ЭлементыФормы.Список.Значение.Отбор.Ссылка.Использование = Истина;
КонецПроцедуры
Показать
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)