Бывает пользователь хочет мне показать документ. Открывает журнал и начинает выбирать период. Я стою и смотрю и жду и трачу время лишь на то, чтобы дождаться пока пользователем будет выбран период журнала.
В итоге решил упростить процесс выбора периода.
Технология оказалось простой:
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);
Иначе
Возврат "";
КонецЕсли;
КонецФункции
Теперь просто кидаем кнопку на форму любого журнала и в формуле кнопки прописываем вызов нашей функции:
глВыбратьПериод(Контекст)
И все.