«Быстрый» выбор периода в журнале
Всего одна функция глобального модуля и у вас в каждом журнале появиться возможность в 2 клика выбрать любой месяц.
- Описание
- Подробнее
Описание
Бывает пользователь хочет мне показать документ. Открывает журнал и начинает выбирать период. Я стою и смотрю и жду и трачу время лишь на то, чтобы дождаться пока пользователем будет выбран период журнала.
В итоге решил упростить процесс выбора периода.
Технология оказалось простой:
1. Функция глобального модуля
2. Кнопка на форме журнала.
Вот собственно сама функция:
Функция глВыбратьПериод(Конт) Экспорт
Перем Выбор;
Перем Позиция;
СЗ=СоздатьОбъект(«СписокЗначений»);
СЗ.ДобавитьЗначение(«2008»);
СЗ.ДобавитьЗначение(«2009»);
СЗ.ДобавитьЗначение(«2010»);
СЗ.ДобавитьЗначение(«»);
Для НомерМесяца=1 По 12 Цикл
СЗ.ДобавитьЗначение(«2009.»+Формат(Дата(2009,НомерМесяца,1),«ДММММ»));
КонецЦикла;
СЗ.ДобавитьЗначение(«»);
Для НомерМесяца=1 По 12 Цикл
СЗ.ДобавитьЗначение(«2010.»+Формат(Дата(2010,НомерМесяца,1),«ДММММ»));
КонецЦикла;
рез=СЗ.ВыбратьЗначение(Выбор,«»,Позиция,100,1);
Если Рез=1 Тогда
Если Позиция<=3 Тогда
ДатаНачала =»01.01.»+Выбор;
ДатаКонца =«31.12.»+Выбор;
ИначеЕсли (Позиция>4)и(Позиция<17) Тогда
ДатаНачала =НачМесяца(«01.»+?(СтрДлина(Строка(Позиция—4))>1,Строка(Позиция—4),«0»+Строка(Позиция—4))+«.2009»);
ДатаКонца =КонМесяца(ДатаНачала);
ИначеЕсли (Позиция>17) Тогда
ДатаНачала =НачМесяца(«01.»+?(СтрДлина(Строка(Позиция—17))>1,Строка(Позиция—17),«0»+Строка(Позиция—17))+«.2010»);
ДатаКонца =КонМесяца(ДатаНачала);
КонецЕсли;
Конт.УстановитьИнтервал(ДатаНачала,ДатаКонца,1);
Иначе
Возврат «»;
КонецЕсли;
КонецФункции
Теперь просто кидаем кнопку на форму любого журнала и в формуле кнопки прописываем вызов нашей функции:
глВыбратьПериод(Контекст)
И все.
