#0
by ВежливаяТварь
Добрый день. Столкнулся с весьма интересной проблемой. Есть сторонняя программа (SalesWork) данные она тянет из Microsoft SQL 2005 Express. В этой программе есть один отчет. Причем сам текст запроса с помощью которого формируется отчет хранится в таблице в этой же Sql-базе. Вопрос: я же могу точно так же использовать этот запрос, но из 1с? И если могу то, пожалуйста, опишите основные шаги.
#2
by shuhard
[опишите основные шаги] - извлечь текст запроса - выполнить на стороне сервера - убедиться в абсурдности данных - перейти к пункту 1
#8
by shuhard
бессодержательный вопрос мы не видели ни текста запроса, ни структуры данных, ни передаваемых параметров в общем случае - да, не сможешь
#9
by ВежливаяТварь
CREATE PROCEDURE swra_Sales_Desktop SET @l = (SELECT CONVERT(INT, PrefValue) FROM tblGlobalSettings WHERE Pref_id = 52) DECLARE @Products TABLE (Product_id INT) JOIN tblProductTypes ON tblProductTypes.ProductType_Id = tblProducts.ProductType_Id JOIN tblProductGroups ON tblProductGroups.ProdGroup_ID = tblProductTypes.ProdGroup_Id JOIN tblProductCategory ON tblProductCategory.ProdCategory_ID = tblProductGroups.ProdCategory_ID SET DATEFORMAT DMY SET QUOTED_IDENTIFIER OFF Sales.Price + Sales.Price/100*Sales.VAT [Накл, прод. цена с НДС], Sales.Price * Sales.Product_Qty [Накл, сумма без НДС], LEFT JOIN tblSalOutD ON tblSaloutH.Invoice_id = tblSaloutD.Invoice_id AND @l = 0 LEFT JOIN tblSalOutLocalD ON tblSaloutH.Invoice_id = tblSalOutLocalD.Invoice_id AND @l = 1 WHERE (tblSalOutD.Invoice_id IS NOT NULL AND @l = 0) OR (tblSalOutLocalD.Invoice_id IS NOT NULL AND @l = 1) ) Sales CROSS JOIN tblCustomers LEFT JOIN tblDistributors ON tblDistributors.Distr_id = tblCustomers.Cust_id LEFT JOIN tblWarehouses ON tblWarehouses.w_id = Sales.W_id LEFT JOIN tblDocTypes ON tblDocTypes.Doc_Type = Sales.Doc_Type LEFT JOIN tblGlobalLookup ON TableName='tblSaloutH' AND FieldName='Status' AND tblGlobalLookup.Status=2 AND tblGlobalLookup.LKey = Sales.status LEFT JOIN tblOutlets ON tblOutlets.Ol_id = Sales.Ol_id LEFT JOIN tblMerchandisers ON Sales.Merch_id = tblMerchandisers.Merch_id LEFT JOIN tblSupervisors ON tblSupervisors.Supervisor_id = tblMerchandisers.Supervisor_id LEFT JOIN tblCustomerSupervisors ON tblCustomerSupervisors.Supervisor_id = tblSupervisors.Supervisor_id LEFT JOIN tblOutletSubTypes ON tblOutletSubTypes.OLSubType_id = tblOutlets.OlSubType_id LEFT JOIN tblOutLetTypes ON tblOutLetTypes.OLtype_id = tblOutletSubTypes.OLType_ID LEFT JOIN tblOutLetGroups ON tblOutletGroups.OLGroup_id = tblOutLetTypes.OLGroup_id LEFT JOIN tblNetworks ON tblNetworks.Network_id = tblOutlets.Network_ID LEFT JOIN tblAreas ON tblAreas.Area_id = tblOutlets.Area_ID LEFT JOIN tblCities ON tblCities.City_id = tblAreas.City_id LEFT JOIN tblDistricts ON tblDistricts.District_id = tblCities.District_id LEFT JOIN tblRegions ON tblRegions.Region_id = tblDistricts.Region_id LEFT JOIN tblCountry ON tblCountry.Country_id = tblRegions.Country_id LEFT JOIN tblLocalProducts ON tblLocalProducts.LocalProductCode = Sales.LocalProductCode LEFT JOIN tblProducts ON tblProducts.Product_id = COALESCE(Sales.Product_id, tblLocalProducts.Product_id) LEFT JOIN tblProductTypes ON tblProductTypes.ProductType_id = tblProducts.ProductType_id LEFT JOIN tblProductGroups ON tblProductGroups.ProdGroup_ID = tblProductTypes.ProdGroup_ID LEFT JOIN tblProductCategory ON tblProductCategory.ProdCategory_ID = tblProductGroups.ProdCategory_ID WHERE AND Sales.Date BETWEEN @Date_From AND @Date_To
#11
by ВежливаяТварь
мне баланс нравится. Такой вопрос: я так понимаю мне нужно установить связь с sql, передать этот запрос, считать результат. А я смогу сделать как эта программа делает- передать не сам текст запроса а место в таблице где он хранится?
#15
by Rie
Передаёшь текст запроса. Получаешь результат запроса (recordset). И делаешь с ним, что хочешь. Не забывай только, что в SQL элементы справочников, документы и т.п. представлены своими UIDами.
#16
by 774816
это хранимая процедура которая возвращает набор данных, сам запрос хп не надо писать, нужно вызвать эту хп с параметрами, для этого тебе нужно ADODB.Command + ADODB.Recordset юзать
#20
by ВежливаяТварь
Добрый день. Ещё один вопрос возник. Сделал вот так: Текст запроса просто строка с запросом. А вот как педать парематеры в неё такие как @wtype_id @wtype_id @w_id @w_id Date_From @Date_To? Просто вписывать в строку? или есть более кошерные варианты?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Запуск 1С SQL на не MS SQL сервере ?
- Возможен ли такой автоматический запуск обработки при запуске прогркммы?
- 1cv8 SQL: Имя SQL сервера и имя SQL базы данных
- Запуск 1С:SQL под пользователем SQL но не SA ?
- Как можно инициировать запуск скрипта
- Запуск 1С-ки автоматом и автоматом запуск нужной обработки
- Запуск 1С-ки автоматом и автоматом запуск нужной обработки
- bat-файл. Запуск 1С 8.0 УТ - запуск обмена.
- SQL: Внешний запуск скрипта.
- Запуск обработки (внешней) при запуске 1с
- Запуск веб-клиента с параметрами запуска
- Запуск скрипта из 1с после закрытия 1с
В этой группе 1С
- COMConnector - разные версии предприятия
- Сдельная и повременная системы оплаты труда водителей по путевым листам ЗуП2.5
- Отчет "Ведомость по товарам на складах" в конфигурации Управление торговлей 10.3
- Управляемая форма: управление составом командной панели
- Преобразование значения к типу Число не может быть выполнено
- Невосстановимая ошибка
- Подключение графического планшета к 1С. (8.2 УТ 10.3, файловая)
- СКД вывод данных за разные периоды
- Железнодорожные накладные в 1С предприятие.
- Ammyy admin
- v7: Сетевая 7.7: 32-bit и 64-bit
- Заполнение надписи в документе word из 1с
- Как в 1С 8.2 в печатной форме отразит градус цельсия?
- УПП аналоги номенклатуры
- 1С:УПП согласование заявок
- Ошибка при создании начально образа
- Не работает аутентификация виндовс с веб сервером 1С
- как найти элемент справочника по владельцу
- Как можно заходит в 1С без ввода пароля?
- Запрос остатков на каждый день.