SELECT DISTINCT [ELMA].[dbo].[Contractor].[Name] AS [crm_management_contragent_name] ,[LF].[LongName] AS [crm_management_contragent_opf] ,[ELMA].[dbo].[ContractorType].[Name] AS [crm_management_contragent_type] ,[Site] AS [crm_management_contragent_url] ,[crm_management_contragent_email] = STUFF(( SELECT '|' + [ELMA].[dbo].[Email].[EmailString] FROM [ELMA].[dbo].[Contractor_Email] LEFT OUTER JOIN [ELMA].[dbo].[Email] ON [ELMA].[dbo].[Email].[Id] = [ELMA].[dbo].[Contractor_Email].[Email] WHERE [ELMA].[dbo].[Contractor_Email].[Contractor] = [ELMA].[dbo].[Contractor].[Id] FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'), 1, 1, '') ,[Fax] AS [crm_management_contragent_fax] ,[crm_management_contragent_phone] = STUFF(( SELECT '|' + [ELMA].[dbo].[Phone].[PhoneString] FROM [ELMA].[dbo].[Contractor_Phone] LEFT OUTER JOIN [ELMA].[dbo].[Phone] ON [ELMA].[dbo].[Phone].[Id] = [ELMA].[dbo].[Contractor_Phone].[Phone] WHERE [ELMA].[dbo].[Contractor_Phone].[Contractor] = [ELMA].[dbo].[Contractor].[Id] FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'), 1, 1, '') ,[LAC].[Name] AS [crm_management_contragent_legal_country] ,[LA].[Region] AS [crm_management_contragent_legal_region] ,[LA].[District] AS [crm_management_contragent_legal_district] ,[LA].[City] AS [crm_management_contragent_legal_city] ,[LA].[Locality] AS [crm_management_contragent_legal_locality] ,[LA].[Street] AS [crm_management_contragent_legal_street] ,[LA].[Building] AS [crm_management_contragent_legal_house] ,[LA].[Stroenie] AS [crm_management_contragent_legal_building] ,[LA].[Korpus] AS [crm_management_contragent_legal_corp] ,[LA].[Appartment] AS [crm_management_contragent_legal_apartment] ,[LA].[Zip] AS [crm_management_contragent_legal_postcode] ,[PAC].[Name] AS [crm_management_contragent_post_country] ,[PA].[Region] AS [crm_management_contragent_post_region] ,[PA].[District] AS [crm_management_contragent_post_district] ,[PA].[City] AS [crm_management_contragent_post_city] ,[PA].[Locality] AS [crm_management_contragent_post_locality] ,[PA].[Street] AS [crm_management_contragent_post_street] ,[PA].[Building] AS [crm_management_contragent_post_house] ,[PA].[Stroenie] AS [crm_management_contragent_post_building] ,[PA].[Korpus] AS [crm_management_contragent_post_corp] ,[PA].[Appartment] AS [crm_management_contragent_post_apartment] ,[PA].[Zip] AS [crm_management_contragent_post_postcode] ,[INN] AS [crm_management_contragent_inn] ,[ELMA].[dbo].[ContractorLegal].[KPP] AS [crm_management_contragent_kpp] ,[ELMA].[dbo].[ContractorLegal].[OGRN] AS [crm_management_contragent_ogrn] ,[ELMA].[dbo].[ContractorLegal].[BIK] AS [crm_management_contragent_bik] ,[ELMA].[dbo].[ContractorLegal].[BANK] AS [crm_management_contragent_bank] ,[ELMA].[dbo].[ContractorLegal].[KS] AS [crm_management_contragent_ks] ,[ELMA].[dbo].[ContractorLegal].[RS] AS [crm_management_contragent_rs] FROM [ELMA].[dbo].[Contractor] LEFT OUTER JOIN [ELMA].[dbo].[ContractorType] ON [ELMA].[dbo].[ContractorType].[Id] = [ELMA].[dbo].[Contractor].[Type] LEFT OUTER JOIN [ELMA].[dbo].[ContractorLegal] ON [ELMA].[dbo].[ContractorLegal].[Id] = [ELMA].[dbo].[Contractor].[Id] LEFT OUTER JOIN [ELMA].[dbo].[Address] AS [LA] ON [LA].[Id] = [ELMA].[dbo].[Contractor].[LegalAddress] LEFT OUTER JOIN [ELMA].[dbo].[Country] AS [LAC] ON [LAC].[Id] = [LA].[Country] LEFT OUTER JOIN [ELMA].[dbo].[Address] AS [PA] ON [PA].[Id] = [ELMA].[dbo].[Contractor].[PostalAddress] LEFT OUTER JOIN [ELMA].[dbo].[Country] AS [PAC] ON [PAC].[Id] = [PA].[Country] LEFT OUTER JOIN [ELMA].[dbo].[LegalForm] AS [LF] ON [LF].[Id] = [ELMA].[dbo].[ContractorLegal].[LegalForm] WHERE [ELMA].[dbo].[Contractor].[IsDeleted] = 0 AND [ELMA].[dbo].[Contractor].[Name] IS NOT NULL AND [ELMA].[dbo].[Contractor].[id] > 500
SELECT [Surname] AS [crm_management_contact_lastname] ,[Firstname] AS [crm_management_contact_firstname] ,[Middlename] AS [crm_management_contact_middlename] ,[ELMA].[dbo].[Contractor].[Name] AS [crm_management_contact_contragent] ,[Department] AS [cnt_management_contact_department] ,[Position] AS [cnt_management_contact_position] ,[crm_management_contact_email] = STUFF(( SELECT '|' + [ELMA].[dbo].[Email].[EmailString] FROM [ELMA].[dbo].[Contact_Email] LEFT OUTER JOIN [ELMA].[dbo].[Email] ON [ELMA].[dbo].[Email].[Id] = [ELMA].[dbo].[Contact_Email].[Email] WHERE [ELMA].[dbo].[Contact_Email].[Contact] = [ELMA].[dbo].[Contact].[Id] FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'), 1, 1, '') ,[crm_management_contact_phone] = STUFF(( SELECT '|' + [ELMA].[dbo].[Phone].[PhoneString] FROM [ELMA].[dbo].[Contact_Phone] LEFT OUTER JOIN [ELMA].[dbo].[Phone] ON [ELMA].[dbo].[Phone].[Id] = [ELMA].[dbo].[Contact_Phone].[Phone] WHERE [ELMA].[dbo].[Contact_Phone].[Contact] = [ELMA].[dbo].[Contact].[Id] FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'), 1, 1, '') ,CASE WHEN [Year] IS NULL THEN NULL ELSE CONVERT(varchar, [Birthday],104) END AS [crm_management_contact_birthday] ,[RAC].[Name] AS [crm_management_contact_country] ,[RA].[Region] AS [crm_management_contact_region] ,[RA].[District] AS [crm_management_contact_district] ,[RA].[City] AS [crm_management_contact_city] ,[RA].[Locality] AS [crm_management_contact_locality] ,[RA].[Street] AS [crm_management_contact_street] ,[RA].[Building] AS [crm_management_contact_house] ,[RA].[Stroenie] AS [crm_management_contact_building] ,[RA].[Korpus] AS [crm_management_contact_corp] ,[RA].[Appartment] AS [crm_management_contact_apartment] ,[RA].[Zip] AS [crm_management_contact_postcode] FROM [ELMA].[dbo].[Contact] LEFT OUTER JOIN [ELMA].[dbo].[Contractor] ON [ELMA].[dbo].[Contractor].[Id] = [ELMA].[dbo].[Contact].[Contractor] LEFT OUTER JOIN [ELMA].[dbo].[Address] AS [RA] ON [RA].[Id] = [ELMA].[dbo].[Contact].[RegistrationAddress] LEFT OUTER JOIN [ELMA].[dbo].[Country] AS [RAC] ON [RAC].[Id] = [RA].[Country] WHERE [ELMA].[dbo].[Contact].[Id] > 1919
SELECT [RegYear] AS [agr_management_contract_year] ,[RegNum] AS [agr_management_contract_num] ,[RegAppendixFront] AS [agr_management_contract_appendix_front] ,[RegAppendixBack] AS [agr_management_contract_appendix_back] ,[RegCode] ,[ELMA].[dbo].[Contractor].[Name] AS [agr_management_contract_contragent] ,'"'+REPLACE(REPLACE(REPLACE([Title],CHAR(10),''),CHAR(13),''),';',',')+'"' AS [agr_management_contract_title] ,CONVERT(varchar, [RegDate],104) AS [agr_management_contract_reg_date] ,CONVERT(varchar, [SignDate],104) AS [agr_management_contract_sign_date] ,[PM1].[EMail] AS [agr_management_contract_project_manager] ,[PM2].[EMail] AS [agr_management_contract_project_manager_helper] ,agr_management_contract_fields = STUFF(( SELECT '|' + [F1].[Title] FROM [ELMA].[dbo].[Project_Fields] LEFT OUTER JOIN [ELMA].[dbo].[Field] AS [F1] ON [F1].[Id] = [ELMA].[dbo].[Project_Fields].[Field] WHERE [ELMA].[dbo].[Project_Fields].[Parent] = [ELMA].[dbo].[Project].[Id] FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'), 1, 1, '') FROM [ELMA].[dbo].[Project] LEFT JOIN [ELMA].[dbo].[Contractor] ON [ELMA].[dbo].[Contractor].[Id] = [ELMA].[dbo].[Project].[Contragent] LEFT JOIN [ELMA].[dbo].[User] AS [PM1] ON [PM1].[Id] = [ELMA].[dbo].[Project].[ProjectManager] LEFT JOIN [ELMA].[dbo].[User] AS [PM2] ON [PM2].[Id] = [ELMA].[dbo].[Project].[ProjectManagerHelper]
SELECT CASE [DocMethod] WHEN 1 THEN '. ' WHEN 2 THEN ' ' WHEN 3 THEN '' WHEN 4 THEN ' ' END AS [crs_management_incoming_method] ,[ELMA].[dbo].[Contractor].[Name] AS [crs_management_incoming_contragent] ,[ELMA].[dbo].[Contact].[Surname] + ' ' + SUBSTRING([ELMA].[dbo].[Contact].[Firstname],1,1) + '.' + SUBSTRING([ELMA].[dbo].[Contact].[Middlename],1,1) + '.' AS [crs_management_incoming_contact] ,[crs_management_incoming_performers] = STUFF(( SELECT '|' + [C1].[Surname] + ' ' + SUBSTRING([C1].[Firstname],1,1) + '.' + SUBSTRING([C1].[Middlename],1,1) + '.' FROM [ELMA].[dbo].[IncomingDoc_Performers] LEFT OUTER JOIN [ELMA].[dbo].[Contact] AS [C1] ON [C1].[Id] = [ELMA].[dbo].[IncomingDoc_Performers].[Performer] WHERE [ELMA].[dbo].[IncomingDoc_Performers].[Parent] = [ELMA].[dbo].[IncomingDoc].[Id] FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'), 1, 1, '') ,CONVERT(varchar, [ELMA].[dbo].[IncomingDoc].[ContragentDate], 104) AS [crs_management_incoming_contragent_date] ,[ELMA].[dbo].[IncomingDoc].[ContragentRegNum] AS [crs_management_incoming_contragent_regnum] ,CONVERT(VARCHAR,[ELMA].[dbo].[IncomingDoc].[ReceiveDate],20) AS [crs_management_incoming_receive_date] ,[ELMA].[dbo].[IncomingDoc].[ReceiveOriginalDate] AS [crs_management_incoming_receive_original_date] ,[ReceiveOriginalDateFlag] AS [crs_management_incoming_receive_original_flag] ,[ELMA].[dbo].[IncomingDoc].[ReceiveRegNum] AS [crs_management_incoming_receive_regnum] ,REPLACE(REPLACE([ELMA].[dbo].[IncomingDoc].[Subj],CHAR(13),''),CHAR(10),'') AS [crs_management_incoming_subj] ,CASE [ELMA].[dbo].[IncomingDoc].[DocType] WHEN 0 THEN '' WHEN 1 THEN '' WHEN 2 THEN ' ' WHEN 3 THEN ' ' WHEN 4 THEN ' ' WHEN 5 THEN ' ' WHEN 6 THEN ' ' WHEN 7 THEN ' ' WHEN 8 THEN ' ' WHEN 9 THEN '' WHEN 13 THEN '' WHEN 14 THEN '' WHEN 17 THEN '' WHEN 15 THEN '' WHEN 10 THEN '' WHEN 18 THEN ' ' WHEN 11 THEN ' ' WHEN 12 THEN ' ' WHEN 16 THEN ' ' WHEN 99 THEN '' END AS [crs_management_incoming_content] ,[U1].[UserName]+'@sngp.ru' AS [crs_management_incoming_to] ,[U2].[UserName]+'@sngp.ru' AS [crs_management_incoming_forwardto] ,[ELMA].[dbo].[OutgoingDoc].[RegNum] AS [crs_management_incoming_outgoing] ,[ELMA].[dbo].[Project].[RegCode] AS [crs_management_incoming_contract] ,[crs_management_incoming_attachments] = STUFF(( SELECT '|' + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LTRIM(STR([F0].[Id]) + ' ' + [F0].[Name]),'«',''),'»',''),'–','-'),'.zip.zip','.zip'),'.docx','.docx'),' ',' ') FROM [ELMA].[dbo].[IncomingDoc_DocAttachments] LEFT OUTER JOIN [ELMA].[dbo].[FS_FILES] AS [F0] ON [F0].[Uid] = [ELMA].[dbo].[IncomingDoc_DocAttachments].[DocAttachment] WHERE [ELMA].[dbo].[IncomingDoc_DocAttachments].[Parent] = [ELMA].[dbo].[IncomingDoc].[Id] FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'), 1, 1, '') ,LTRIM(STR(ISNULL([F1].[Id],[F2].[Id]))) + REVERSE(SUBSTRING(REVERSE(ISNULL([F1].[Name],[F2].[Name])), 0, CHARINDEX('.',REVERSE(ISNULL([F1].[Name],[F2].[Name]))) + 1)) AS [crs_management_incoming_document] ,[S].[Name] AS [status] FROM [ELMA].[dbo].[IncomingDoc] LEFT OUTER JOIN [ELMA].[dbo].[Contractor] ON [ELMA].[dbo].[Contractor].[Id] = [ELMA].[dbo].[IncomingDoc].[Contragent] LEFT OUTER JOIN [ELMA].[dbo].[Contact] ON [ELMA].[dbo].[Contact].[Id] = [ELMA].[dbo].[IncomingDoc].[Contact] LEFT JOIN [ELMA].[dbo].[User] AS [U1] ON [U1].[Id] = [ELMA].[dbo].[IncomingDoc].[To] LEFT JOIN [ELMA].[dbo].[User] AS [U2] ON [U2].[Id] = [ELMA].[dbo].[IncomingDoc].[ForwardTo] LEFT JOIN [ELMA].[dbo].[Project] ON [ELMA].[dbo].[Project].[Id] = [ELMA].[dbo].[IncomingDoc].[Project] LEFT JOIN [ELMA].[dbo].[OutgoingDoc] ON [ELMA].[dbo].[OutgoingDoc].[Id] = [ELMA].[dbo].[IncomingDoc].[OutgoingDoc] LEFT JOIN [ELMA].[dbo].[DocumentVersion] AS [DV1] ON [DV1].[DocumentId] = [ELMA].[dbo].[IncomingDoc].[Id] AND [DV1].[Status] = 2 AND ISNUMERIC([DV1].[File]) = 1 LEFT JOIN [ELMA].[dbo].[DocumentVersion] AS [DV2] ON [DV2].[DocumentId] = [ELMA].[dbo].[IncomingDoc].[Id] AND [DV2].[Status] = 2 AND ISNUMERIC([DV1].[File]) = 0 LEFT JOIN [ELMA].[dbo].[FS_FILES] AS [F1] ON [F1].[Id] = [DV1].[File] LEFT JOIN [ELMA].[dbo].[FS_FILES] AS [F2] ON [F2].[Uid] = [DV2].[File] LEFT JOIN [ELMA].[dbo].[Document] ON [ELMA].[dbo].[Document].[Id] = [ELMA].[dbo].[IncomingDoc].[Id] LEFT JOIN [ELMA].[dbo].[LifeCycleStatus] AS [S] ON [S].[Id] = [ELMA].[dbo].[Document].[Status] WHERE --[ELMA].[dbo].[IncomingDoc].[Subj] NOT LIKE '%' AND [ELMA].[dbo].[IncomingDoc].[Subj] NOT LIKE 'test%' [ELMA].[dbo].[IncomingDoc].[Id] > 12193 ORDER BY [ELMA].[dbo].[IncomingDoc].[ReceiveDate]
SELECT 'copy "\\ssv11\c$\ELMA3-Standart.cfg\UserConfig\Files\' + [FNAME] + '" "c:\temp\elma\incoming\' + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(ISNULL([ENDNAME],[FNAME]),'«',''),'»',''),'–','-'),'.zip.zip','.zip'),'.docx','.docx'),' ',' ') + '"' FROM ( SELECT [ELMA].[dbo].[IncomingDoc].[Id] AS [Id], [ELMA].[dbo].[IncomingDoc].[Subj] AS [Subj], [ELMA].[dbo].[IncomingDoc].[ReceiveDate] AS [RD], LTRIM(STR([F0].[Id])) + REVERSE(SUBSTRING(REVERSE([F0].[Name]), 0, CHARINDEX('.',REVERSE([F0].[Name])) + 1)) AS [FNAME], LTRIM(STR([F0].[Id]) + ' ' + [Name]) AS [ENDNAME] FROM [ELMA].[dbo].[IncomingDoc] LEFT JOIN [ELMA].[dbo].[IncomingDoc_DocAttachments] ON [ELMA].[dbo].[IncomingDoc_DocAttachments].[Parent] = [ELMA].[dbo].[IncomingDoc].[Id] LEFT OUTER JOIN [ELMA].[dbo].[FS_FILES] AS [F0] ON [F0].[Uid] = [ELMA].[dbo].[IncomingDoc_DocAttachments].[DocAttachment] UNION SELECT [ELMA].[dbo].[IncomingDoc].[Id] AS [Id], [ELMA].[dbo].[IncomingDoc].[Subj] AS [Subj], [ELMA].[dbo].[IncomingDoc].[ReceiveDate] AS [RD], LTRIM(STR(ISNULL([F1].[Id],[F2].[Id]))) + REVERSE(SUBSTRING(REVERSE(ISNULL([F1].[Name],[F2].[Name])), 0, CHARINDEX('.',REVERSE(ISNULL([F1].[Name],[F2].[Name]))) + 1)) AS [FNAME], NULL AS [ENDNAME] FROM [ELMA].[dbo].[IncomingDoc] LEFT JOIN [ELMA].[dbo].[DocumentVersion] AS [DV1] ON [DV1].[DocumentId] = [ELMA].[dbo].[IncomingDoc].[Id] AND [DV1].[Status] = 2 AND ISNUMERIC([DV1].[File]) = 1 LEFT JOIN [ELMA].[dbo].[DocumentVersion] AS [DV2] ON [DV2].[DocumentId] = [ELMA].[dbo].[IncomingDoc].[Id] AND [DV2].[Status] = 2 AND ISNUMERIC([DV1].[File]) = 0 LEFT JOIN [ELMA].[dbo].[FS_FILES] AS [F1] ON [F1].[Id] = [DV1].[File] LEFT JOIN [ELMA].[dbo].[FS_FILES] AS [F2] ON [F2].[Uid] = [DV2].[File] ) AS [F] WHERE [FNAME] IS NOT NULL ORDER BY [RD]
function updateAttachmentsFileName() { $files = cobjectref()->attributeref('crs_management_incoming_attachments')->availableFiles(); foreach ($files as $f) { $parts = explode(' ', $f->nowname, 2); if (count($parts) == 2) { $f->nowname = $parts[1]; $f->save(); } } }
function updateOutgoing() { if (empty(cobjectref()->attributeref('crs_management_incoming_outgoing')->value)) return; $outgoing_doc = selectAll( 'crs_management', 'crs_management_outgoing', array(), array('crs_management_outgoing_regnum'=>cobjectref()->attributeref('crs_management_incoming_outgoing')->value) ); if (empty($outgoing_doc)) return; cobjectref()->attributeref('crs_management_incoming_outgoing')->value = $outgoing_doc['id']; }
Source: https://habr.com/ru/post/282662/
All Articles