Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.133.157.12] |
|
Сообщ.
#1
,
|
|
|
Необходимо найти значение в документах. Например нужно отыскать значение "КонецПериода" в документах таких как больничный лист и БухучетНачислений. Поиск должен быть как в табличной части так и в шапке. Кто нибудь с этим сталкивался?
|
Сообщ.
#2
,
|
|
|
Идея примерно такая
StartDate = '01.01.00'; EndDate = '31.12.04'; //Обход всех видов документов for i = 1 По Метаданные.Документ() Цикл AbstractDoc = Метаданные.Документ(i); message(Метаданные.Документ(i).Представление()); ADoc=createObject(Метаданные.Документ(i).ПолныйИдентификатор()); ADoc.SelectDocuments(StartDate,EndDate); //Обход всех документов данного вида While ADoc.GetDocument()>0 do message(" "+ADoc); //Обход всех реквизитов шапки документа данного вида for j = 1 to AbstractDoc.РеквизитШапки() do ParameterName = AbstractDoc.РеквизитШапки(j).Представление(); message (" " + ParameterName + " = " + Template("[ADoc."+ParameterName+"]") ); enddo; ADoc.SelectLines(); //Обход по каждой строке документа While ADoc.getline()>0 do //Обход всех реквизитов ТЧ документа данного вида for j = 1 to AbstractDoc.РеквизитТабличнойЧасти() do ParameterName = AbstractDoc.РеквизитТабличнойЧасти(j).Представление(); message (" " + ParameterName + " = " + Template("[ADoc."+ParameterName+"]") ); enddo; //Обход всех реквизитов ТЧ документа данного вида enddo; //Обход по каждой строке документа enddo; enddo; этот кусок кода распечатывае данные всех документов. это жутко медленно и жутко неэффективно, но иногда необходимо |
Сообщ.
#3
,
|
|
|
Спасибо
AbstractDoc.РеквизитШапки(j).Представление(); <> AbstractDoc.РеквизитТабличнойЧасти(j).Идентификатор |
Сообщ.
#4
,
|
|
|
точнее AbstractDoc.РеквизитШапки(j).Представление() <> AbstractDoc.РеквизитШапки(j).Идентификатор
|
Сообщ.
#5
,
|
|
|
Ну да это и имелось ввиду
|
Сообщ.
#6
,
|
|
|
привет
|