Поиск актов ОФ.
Скачать (rar-файл; Размер - 2713)Обсудить в форуме
Описание
Поиск актов ОФ.
При написании макроса печати актов ОФ и инвентарной карты в Excel мне понадобилось отладить свой макрос. Для облегчения этого этапа мне нужно было знать, у какой инвентарной карты содержиться тот или иной акт.
Так был написан сей макрос.
CyBear.
При написании макроса печати актов ОФ и инвентарной карты в Excel мне понадобилось отладить свой макрос. Для облегчения этого этапа мне нужно было знать, у какой инвентарной карты содержиться тот или иной акт.
Так был написан сей макрос.
CyBear.
Текст примера
Import name; File mvm ("movemean.dbt", "bsmeans.def") Key 0; Var NameOper = "Без описания", idoc = 0, Найдено = 0, MenuFindUse = -1; Array MenuFind; MenuFind (0) = " Переоценка (РП) "; MenuFind (1) = " Приемка-передача объекта (ПР) "; MenuFind (2) = " Передачи объекта (ПП) "; MenuFind (3) = " Сисание объекта (СП) "; MenuFind (4) = " Амортизация объекта (РА) "; MenuFind (5) = " Модернизация (МД) "; MenuFind (6) = " Передача объекта в МБП (МВ) "; MenuFind (7) = " Частичная ликвидация (ЧЛ) "; MenuFind (8) = " Расчета амортизации для НО (АН) "; MenuFind (9) = " Включение стоимости ОФ в МР (МР) "; Macro Печать_актов; ПОИСК_ОПЕРАЦИИ (mvm.DirectOper, mvm.CodeOper, NameOper); Message ("~Найден ", NameOper, " инвентарной карты №~ ", mvm.InvNumb); If (Найдено == 0) [┌───────────────────┬───────────────────────────────────────────────┬──────┐ │Инвентарная карта №│Описание │№ акта│]; Else [├───────────────────┼───────────────────────────────────────────────┼──────┤ │###################│###############################################│######│] (mvm.InvNumb, NameOper, mvm.Nstmt); End; Найдено = Найдено + 1; End; Macro Найти_выбранные_акты; MenuFindUse = Menu (MenuFind, "~Задайте критерий поиска актов инвентарных карт БУ~ ", " Поиск актов инвентарных карт БУ ", Null, Null, 0); If (MenuFindUse < 0) Exit (1); End; ReWind (mvm); InitProgress (NRecords (mvm), null, "Поиск актов:" + MenuFind (MenuFindUse)); While (Next (mvm)) // Ищем акты Message ("~Найдено актов:~ ", Найдено); If (MenuFindUse == 0) If ((mvm.DirectOper == 3) And (mvm.TypeGroup == 2)) // Переоценка (РП) Печать_актов; End Elif (MenuFindUse == 1) If ((mvm.DirectOper == 0) And (mvm.TypeGroup == 1)) // Приемка-передача объекта (ПР) Печать_актов; End Elif (MenuFindUse == 2) If ((mvm.DirectOper == 2) And (mvm.TypeGroup == 1)) // Передачи объекта (ПП) Печать_актов; End Elif (MenuFindUse == 3) If ((mvm.DirectOper == 1) And (mvm.TypeGroup == 1)) // Сисание объекта (СП) Печать_актов; End Elif (MenuFindUse == 4) If ((mvm.DirectOper == 4) And (mvm.TypeGroup == 2)) // Амортизация объекта (РА) Печать_актов; End Elif (MenuFindUse == 5) If ((mvm.DirectOper == 5) And (mvm.TypeGroup == 1)) // Модернизация (МД) Печать_актов; End Elif (MenuFindUse == 6) If ((mvm.DirectOper == 6) And (mvm.TypeGroup == 1)) // Передача объекта в МБП (МВ) Печать_актов; End Elif (MenuFindUse == 7) If ((mvm.DirectOper == 7) And (mvm.TypeGroup == 1)) // Частичная ликвидация (ЧЛ) Печать_актов; End Elif (MenuFindUse == 8) If ((mvm.DirectOper == 13) And (mvm.TypeGroup == 6)) // Расчета амортизации для НО (АН) Печать_актов; End Elif (MenuFindUse == 9) If ((mvm.DirectOper == 12) And (mvm.TypeGroup == 5)) // Включение стоимости ОФ в МР (МР) Печать_актов; End End; UseProgress (idoc); idoc = idoc + 1; End; If (Найдено != 0) [└───────────────────┴───────────────────────────────────────────────┴──────┘]; End; [ Критерий поиска актов: # Найдено актов: #. ](MenuFind (MenuFindUse):l, Найдено:l); RemProgress (); End; Найти_выбранные_акты;