1c:serial
// Имеем два атрибута, связанных с формой:
// Шаблон - фрагмент серийного номера для поиска;
// Список - таблица значений результатов поиска.
функция Выбрать_серийные_номера (тип_документа)
возврат "ВЫБРАТЬ
| СерийныйНомер.Представление КАК СерийныйНомер,
| Ссылка
|ИЗ
| Документ." + тип_документа + ".СерийныеНомера
|ГДЕ
| СерийныйНомер.Код ПОДОБНО &Шаблон";
конецфункции
// Поиск фрагмента серийного номера во всех документах,
// имеющих табличную часть "СерийныеНомера".
процедура Поиск (шаблон)
запрос = Новый Запрос;
запрос.УстановитьПараметр ("Шаблон", "%" + шаблон + "%");
запрос.Текст = Выбрать_серийные_номера ("АвансовыйОтчет") +
" ОБЪЕДИНИТЬ ВСЕ " + Выбрать_серийные_номера ("ВозвратТоваровОтПокупателя") +
" ОБЪЕДИНИТЬ ВСЕ " + Выбрать_серийные_номера ("ВозвратТоваровПоставщику") +
" ОБЪЕДИНИТЬ ВСЕ " + Выбрать_серийные_номера ("ВозвратТоваровПоставщикуИзНТТ") +
" ОБЪЕДИНИТЬ ВСЕ " + Выбрать_серийные_номера ("ОприходованиеТоваров") +
" ОБЪЕДИНИТЬ ВСЕ " + Выбрать_серийные_номера ("ОтчетКомиссионераОПродажах") +
" ОБЪЕДИНИТЬ ВСЕ " + Выбрать_серийные_номера ("ОтчетОРозничныхПродажах") +
" ОБЪЕДИНИТЬ ВСЕ " + Выбрать_серийные_номера ("ОтчетПроизводстваЗаСмену") +
" ОБЪЕДИНИТЬ ВСЕ " + Выбрать_серийные_номера ("ПоступлениеТоваровИзПереработки") +
" ОБЪЕДИНИТЬ ВСЕ " + Выбрать_серийные_номера ("ПоступлениеТоваровУслуг") +
" ОБЪЕДИНИТЬ ВСЕ " + Выбрать_серийные_номера ("ПоступлениеТоваровУслугВНТТ") +
" ОБЪЕДИНИТЬ ВСЕ " + Выбрать_серийные_номера ("РеализацияТоваровУслуг") +
" ОБЪЕДИНИТЬ ВСЕ " + Выбрать_серийные_номера ("ЧекККМ");
выборка = запрос.Выполнить().Выбрать();
пока выборка.Следующий() цикл
// Добавляем найденный документ в список отображения.
документ = выборка.Ссылка;
запись = Список.Добавить();
запись.СерийныйНомер = выборка.СерийныйНомер;
запись.Ссылка = документ;
запись.Документ = документ.Метаданные().Синоним;
запись.НомерДокумента = документ.Номер;
запись.Дата = документ.Дата;
конеццикла;
конецпроцедуры
// Нажата кнопка "Искать".
процедура Искать_нажатие (Элемент)
Список.Очистить();
ш = ВРег (СокрЛП (Шаблон));
если ш <> "" тогда
Поиск (ш);
конецесли;
конецпроцедуры
// Двойной щелчок на строке таблицы.
процедура Двойной_щелчок (элемент, строка, колонка, стандартная_обработка)
форма = строка.Ссылка.ПолучитьФорму();
форма.Открыть();
конецпроцедуры
// Нажата кнопка "Открыть документ".
процедура Открыть_документ (Кнопка)
строка = ЭлементыФормы.Список.ТекущаяСтрока;
если строка <> Неопределено тогда
форма = строка.Ссылка.ПолучитьФорму();
форма.Открыть();
конецесли;
конецпроцедуры
1c/serial.txt · Last modified: 2008/04/24 12:00 by 127.0.0.1