NickS писав:Да просто я забыл подключить таблицу DM2.TbTypeRestrict. Я думаю, Вы это и сами сможете.
Видимо вы переоцениваете мои скромные возможности ))) В данных отчета я васче такой таблицы не нашель
NickS писав:Да просто я забыл подключить таблицу DM2.TbTypeRestrict. Я думаю, Вы это и сами сможете.
Vetaley писав:NickS писав:Да просто я забыл подключить таблицу DM2.TbTypeRestrict. Я думаю, Вы это и сами сможете.
Видимо вы переоцениваете мои скромные возможности ))) В данных отчета я васче такой таблицы не нашель
Vetaley писав:Не подмогнете с кодом для экспликации? Под ФР3 такой не нашел, а мскофф на код не хватает
http://www.ex.ua/view_storage/474720859405
Код: Виділити все
sStr := <DM2.TbTypeLand."Name">;
Vetaley писав:Я ожидал только коды угодий, а получил названия.
отута оно былоКод: Виділити все
sStr := <DM2.TbTypeLand."Name">;
<DM2.TbTypeLand."Number">NickS писав:Vetaley писав:Я ожидал только коды угодий, а получил названия.
отута оно былоКод: Виділити все
sStr := <DM2.TbTypeLand."Name">;
Я не понял, что Вы ожидали, потому вставил название, ато иначе оно ничего не вставляло, а вставляло последнего смежника.
Можно легко перправить на номер, достаточно изменить это поле
Код: Виділити все
//Для всех отмеченных
NDecis := ''; //Документы подтверждающие право
NDecis1 := ''; //Документы подтверждающие право
NDecis2 := ''; //Документы подтверждающие право
NDecis11 := ''; //Документы подтверждающие право
NDecis22 := ''; //Документы подтверждающие право
NameTest := ''; //Владелец (для проверки повторяющихся)
OneObject := true; //Только один объект?
Kol := ''; //количество людей в списке
idObject := <DM1.QbObject."ID_Object">; //Присваиваем текущий указатель
FILTERDATA('DM1.QbObject', 'OK = ''ю'''); //Фильтруем по отмеченным
//Проверяем сколько отмечено участков и есть ли такие
If RecordCount('DM1.QbObject') > 0 then
begin
If RecordCount('DM1.QbObject') > 1 then
OneObject := false;
DATAFIRST( 'DM1.QbObject');
end
else
begin
FILTERDATA('DM1.QbObject', ''); //Снимаем фильтр
LOCATEDATA('DM1.QbObject', 'ID_Object', VarToStr(idObject)); //Возвращаем указатель на место
end;
// Начинаем цикл с участками
Repeat
//----------------
//Субьект права
QUERYSQL( 'Select * From UserRec Where (ID_Object = ' + IntToStr(<DM1.QbObject."ID_Object">) + ') And (DateFirst <= GETDATE()) And (DateLast Is Null Or DateLast > GETDATE()) Order By ID_People, ID_Firm');
DATAFIRST( 'DM1.QuerySQL');
g := 1;
While DATAEOF( 'DM1.QuerySQL') = False Do
begin
//----------------
//Владелец
If (LOCATEDATA( 'DM2.TbTypeOwner', 'ID_TypeOwner', GetValue('DM1.QuerySQL', 'ID_TypeOwner')) = True)
And (Pos(GetValue('DM1.QuerySQL', 'NameUser') + ', ', NameTest) = 0) Then
begin
NameTest := NameTest + GetValue('DM1.QuerySQL', 'NameUser') + ', ';
//----------------
//Документ подтверждающий право
If (LOCATEDATA( 'DM1.QbDecision', 'ID_Decision', GetValue('DM1.QuerySQL', 'ID_Decision')) = true)
and (Pos(IntToStr(GetValue('DM1.QuerySQL', 'ID_Decision')) + ', ', DecTest) = 0) Then
Begin
//1
If Length(Trim(NDecis)) > 0 then
NDecis1 := NDecis1 + ', ';
NDecis2 := NDecis2 + ', ';
NDecis1 := Copy(NDecis1, 0, LENGTH(NDecis1)-2); //Удаляем последнюю запятую
NDecis2 := Copy(NDecis2, 0, LENGTH(NDecis2)-2); //Удаляем последнюю запятую
if Pos('ішення ', <DM1.QbDecision."Name">) > 0 then
NDecis11 :='рішень ' + COPY(TRIM(<DM1.QbDecision."Name">), POS('iшення ', Trim(<DM1.QbDecision."Name">)) + 9, LENGTH(Trim(<DM1.QbDecision."Name">)));
if Pos('ішення ', <DM1.QbDecision."Name">) > 0 then
If Length( <DM1.QbDecision."Dec_Num">) > 0 Then
NDecis1 := NDecis1 +' за №' +<DM1.QbDecision."Dec_Num">;
if Pos('ішення ', <DM1.QbDecision."Name">) > 0 then
If <DM1.QbDecision."Dec_Date"> > 0 Then
NDecis1 := NDecis1 +' від ' + DateTimeToStr(<DM1.QbDecision."Dec_Date">) + ' року';
//2
if Pos('озпорядження ', <DM1.QbDecision."Name">) > 0 then
NDecis22 := 'розпорядження ' + COPY(TRIM(<DM1.QbDecision."Name">), POS('озпорядження ', Trim(<DM1.QbDecision."Name">)) + 13, LENGTH(Trim(<DM1.QbDecision."Name">)));
if Pos('озпорядження ', <DM1.QbDecision."Name">) > 0 then
If Length( <DM1.QbDecision."Dec_Num">) > 0 Then
NDecis2 := NDecis2 +' за №' +<DM1.QbDecision."Dec_Num">;
if Pos('озпорядження ', <DM1.QbDecision."Name">) > 0 then
If <DM1.QbDecision."Dec_Date"> > 0 Then
NDecis2 := NDecis2 +' від ' + DateTimeToStr(<DM1.QbDecision."Dec_Date">) + ' року';
End;
If GetValue('DM1.QuerySQL', 'ID_Decision') <> null then
DecTest := DecTest + IntToStr(GetValue('DM1.QuerySQL', 'ID_Decision')) + ', ';
g := g +1;
DATANEXT( 'DM1.QuerySQL');
NDecis := NDecis11 + NDecis1 + NDecis22 + NDecis2;
end;
...
Код: Виділити все
//----------------
//Документ подтверждающий право
If (LOCATEDATA( 'DM1.QbDecision', 'ID_Decision', GetValue('DM1.QuerySQL', 'ID_Decision')) = true)
and (Pos(IntToStr(GetValue('DM1.QuerySQL', 'ID_Decision')) + ', ', DecTest) = 0) Then
Begin
If Length(Trim(NDecis)) > 0 then
NDecis1 := NDecis1 + ', ';
NDecis2 := NDecis2 + ', ';
NDecis1 := Copy(NDecis1, 0, LENGTH(NDecis1)-2); //Удаляем последнюю запятую
NDecis2 := Copy(NDecis2, 0, LENGTH(NDecis2)-2); //Удаляем последнюю запятую
begin
if Pos('ішення ', <DM1.QbDecision."Name">) > 0 then
NDecis11 :='рішень ' + COPY(TRIM(<DM1.QbDecision."Name">), POS('iшення ', Trim(<DM1.QbDecision."Name">)) + 9, LENGTH(Trim(<DM1.QbDecision."Name">)))
else
NDecis22 := ' розпоряджень ' + COPY(TRIM(<DM1.QbDecision."Name">), POS('озпорядження ', Trim(<DM1.QbDecision."Name">)) + 15, LENGTH(Trim(<DM1.QbDecision."Name">)));
end;
If Length( <DM1.QbDecision."Dec_Num">) > 0 Then
if Pos('ішення ', <DM1.QbDecision."Name">) > 0 then
NDecis1 := NDecis1 +' за № ' +<DM1.QbDecision."Dec_Num">
else
NDecis2 := NDecis2 +' за № ' +<DM1.QbDecision."Dec_Num">;
If <DM1.QbDecision."Dec_Date"> > 0 Then
if Pos('ішення ', <DM1.QbDecision."Name">) > 0 then
NDecis1 := NDecis1 +' від ' + DateTimeToStr(<DM1.QbDecision."Dec_Date">) + ' року,'
else
NDecis2 := NDecis2 +' від ' + DateTimeToStr(<DM1.QbDecision."Dec_Date">) + ' року,';
End;
If GetValue('DM1.QuerySQL', 'ID_Decision') <> null then
DecTest := DecTest + IntToStr(GetValue('DM1.QuerySQL', 'ID_Decision')) + ', ';
g := g +1;
DATANEXT( 'DM1.QuerySQL');
NDecis := NDecis11 + NDecis1 + NDecis22 + NDecis2;
end;