Список форумов BOSSForum.RU - Форум. БОСС-Кадровик
Независимый форум, посвященный системе БОСС-Кадровик
и всему, что с ней связано
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Список в диалоге

 
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык
Предыдущая тема :: Следующая тема  
Автор Сообщение
tveritin



Зарегистрирован: 26.01.2016
Сообщения: 191
Откуда: Санкт-Петербург

СообщениеДобавлено: Ср Мар 19, 2025 12:23    Заголовок сообщения: Список в диалоге Ответить с цитатой

Есть такая конструкция.
Код:
alias _dlgresource={
        (0,0,770,400,0);
      e,(20,30,70,20, 0x28),'С даты:',(90,30,70,20, 0x100),1;
      e,(190,30,70,20, 0x28),'По дату:',(260,30,70,20, 0x100),2;
      c,(20,70,200,70,0x0),'~',(20,70,260,60,0x4050),3,{ суммировать с табелем по подработкам },'';
  E,(20, 100, 196, 20, 0x0),"Подразделение",(236, 100, 292, 20, 0x4),4,{hrvw_structs_firm_look},0,2,1,"";
  B,(20, 125, 605, 135, 0x0),{@XList SELECT
distinct replace(replace(pr_group_value.str1,char(13),''),char(10),'') num_tab, (select full_name from card where auto_card in (select Auto_Card from people where num_tab=replace(replace(pr_group_value.str1,char(13),''),char(10),'') and @@d_from between in_date and out_date))[%x]"ФИО"
FROM pr_group_value _HINTBROWSER
INNER JOIN pr_group  ON pr_group.id = pr_group_value.id_group
    AND pr_group.reference = 'PEOPLE' and pr_group.sname = 'Line manager'
LEFT  JOIN pr_group_type  ON pr_group_type.id_pr_group_type = pr_group.id_pr_group_type
INNER JOIN (SELECT id_rec FROM dbo.ADFN_RoleList_Acc(user_name(),'pr_group')) as acc ON acc.id_rec = pr_group.id
WHERE     pr_group_value.id_ref in (select pid from tb_emps where st=CURSTATION)
and @@d_from between pr_group_value.FromD and pr_group_value.tod};

Список сделан для того, чтоб в нём выбрать нужные записи.
Записи-то выбираются. А вот как обработать этот список? Как получить значения выбранных записей?
`SCAN @XList` говорит, что "Отсутствует или неверное имя sTable @XList".
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
tveritin



Зарегистрирован: 26.01.2016
Сообщения: 191
Откуда: Санкт-Петербург

СообщениеДобавлено: Ср Мар 19, 2025 13:54    Заголовок сообщения: Ответить с цитатой

Вспомнил, что ставил подобный вопрос http://bossforum.ru/forum/viewtopic.php?t=3011
Спасибо NewAge
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
tveritin



Зарегистрирован: 26.01.2016
Сообщения: 191
Откуда: Санкт-Петербург

СообщениеДобавлено: Чт Мар 20, 2025 00:47    Заголовок сообщения: Ответить с цитатой

Сохраню здесь для истории. Да и может пригодится кому.

Код:
-- рисуем диалог для инициализации параметров отчета ----------------------------------------
STABLE @XName SELECT CONVERT(datetime,FirstDayOfMonth) as TabelFromDate, -- табель с даты
         CONVERT(datetime,LastDayOfMonth) as TabelToDate, -- табель по дату
                     1 as SumTabel, -- суммировать с табелем по подработкам
@@struct_code['] as struct_code;

------------------------
$If(Object_Id('TempDB..#Test') Is Not Null) Drop Table [#Test];

$SELECT
distinct replace(replace(pr_group_value.str1,char(13),''),char(10),'') as num_tab,
(select full_name from card where auto_card in (select Auto_Card from people where num_tab=replace(replace(pr_group_value.str1,char(13),''),char(10),'') and @@d_from between in_date and out_date)) as full_name,
0 as checked
Into "#Test"
FROM pr_group_value
INNER JOIN pr_group  ON pr_group.id = pr_group_value.id_group
    AND pr_group.reference = 'PEOPLE' and pr_group.sname = 'Line manager'
LEFT  JOIN pr_group_type  ON pr_group_type.id_pr_group_type = pr_group.id_pr_group_type
INNER JOIN (SELECT id_rec FROM dbo.ADFN_RoleList_Acc(user_name(),'pr_group')) as acc ON acc.id_rec = pr_group.id
WHERE     pr_group_value.id_ref in (select pid from tb_emps where st=CURSTATION)
and @@d_from between pr_group_value.FromD and pr_group_value.tod;



alias _dlgresource={
        (0,0,770,400,0);
   ver = 4011;
   1, {
      If(@@xWindow(@xBrw, Check, 0x0040) == 0 Then {
         Update "#Test" Set checked = 1 Where num_tab = @xBrw:num_tab;
      } Else {
         Scan -1 @xBrw
         Execute{
            Update "#Test" Set checked = 1 Where num_tab = @xBrw:num_tab;
         };
      };
   };
      e,(20,30,70,20, 0x28),'С даты:',(90,30,70,20, 0x100),1;
      e,(190,30,70,20, 0x28),'По дату:',(260,30,70,20, 0x100),2;
      c,(20,70,200,70,0x0),'~',(20,70,260,60,0x4050),3,{ суммировать с табелем по подработкам },'';
  E,(20, 100, 196, 20, 0x0),"Подразделение",(236, 100, 292, 20, 0x4),4,{hrvw_structs_firm_look},0,2,1,"";
  /*B,(20, 125, 605, 135, 0x0),{@XList};*/
   B,(20, 125, 605, 135, 0x000c), {
      Alias _BrwResource = {
         (1, 0, 0, 0, 0x0003), 0x0000, 0x0000,,,, 0, {};
         C, {
            "Таб.№", 0x0000, 20;
            "ФИО", 0x0000, 64;
         };
      };
      @xBrw
      Select num_tab, full_name
      From "#Test"
      Order By num_tab;
   };

};
DIALOG @XName,,'~Рассылка табеля отработанного времени';

if _Result <> 10 then {DESTROY @XName; ERROR;}; -- отказ -> выход

--пользуемся результатами
Browser {
   Select num_tab, full_name
   From "#Test"
   Where checked = 1
   Order By num_tab
};
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
tveritin



Зарегистрирован: 26.01.2016
Сообщения: 191
Откуда: Санкт-Петербург

СообщениеДобавлено: Чт Мар 20, 2025 11:38    Заголовок сообщения: Ответить с цитатой

Вот бы еще разобраться как установить при создании диалога все галки в списке. Ведь по-умолчанию все сброшены, а надо, чтоб все включенные были.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Pоwerеd by рhpВB © 2001, 2005 рhpВB Grouр
Русская поддержка phрВB
Rambler's Top100 Рейтинг@Mail.ru Список форумов BOSSForum.RU