|
Как убрать из Отчёта обращение к серверу?? | ☑ | ||
---|---|---|---|---|
0
M-comp
01.08.14
✎
17:07
|
Помогите плиз! Есть Форма Отчёт ДвижениеТовараПоШтрихкоду, зачем то эта форма обращается к серверу(в Модуле прописано что надо обращатся к SQL серверу) как от этого избавиться? Как сделать что бы этот отчёт обращался к этой базе?
|
|||
1
Wobland
01.08.14
✎
17:07
|
взять и переписать
|
|||
2
mikecool
01.08.14
✎
17:07
|
Запрос.ИспользоватьSQL(0)
|
|||
3
Лефмихалыч
01.08.14
✎
17:10
|
в каком-то дятлоинкубаторе выпускной
|
|||
4
H A D G E H O G s
01.08.14
✎
17:11
|
Дятлы встануть на крыло...
|
|||
5
H A D G E H O G s
01.08.14
✎
17:13
|
(0) В макет выводиться Ссылка, а не ее представление, все просто.
Если же УправляемаяФорма - то он обращается к серверу 1С за новыми порциями живительного XDTO куска, как говорит Малышева - это нормально! |
|||
6
M-comp
01.08.14
✎
17:16
|
я вообще нигде не учился,сам учусь,так бы не спрашивал!У вас всё просто ,а мне сложно
|
|||
7
ДенисЧ
01.08.14
✎
17:17
|
(3) (4) Не.. Не надо обижать...
Эту благородную птицу... |
|||
8
Franchiser
гуру
01.08.14
✎
17:18
|
Это пятничная ветка?
|
|||
9
Franchiser
гуру
01.08.14
✎
17:19
|
"в Модуле прописано что надо обращатся к SQL серверу" так прямо и прописано???
|
|||
10
M-comp
01.08.14
✎
17:19
|
Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнить(Кнопка)
Перем ТбТаб,ТбКонтрагенты,ТбПериоды; Если не ЗначениеЗаполнено(ВыбНоменклатура) и не ЗначениеЗаполнено(ВыбШтрихкод) Тогда Предупреждение("Не указан штриход или Номенклатура"); Возврат; КонецЕсли; ТбБаза=новый ТаблицаЗначений; ТбБаза.Колонки.Добавить("code"); ТбБаза.Колонки.Добавить("doc"); ТбБаза.Колонки.Добавить("contr"); ТбБаза.Колонки.Добавить("sklad"); ТбБаза.Колонки.Добавить("codenom"); Тб=новый ТаблицаЗначений; Тб.Колонки.Добавить("СерийныйНомер"); Тб.Колонки.Добавить("Дат"); Тб.Колонки.Добавить("Прим"); Тб.Колонки.Добавить("Период"); Тб.Колонки.Добавить("Контрагент"); Тб.Колонки.Добавить("Товар"); Тб.Колонки.Добавить("Сумма"); ИмяСервера="main"; ИмяБазы=?(ФЛПрипейд,"pri","bas"); стрПодключения = "driver={SQL Server};server=main;User Id='sa';Password='19216801sql';database="+ИмяБазы+";trusted_connection=no"; АДОДБКоннект = Новый COMОбъект("ADODB.Connection"); АДОДБКоннект.ConnectionTimeOut =300; АДОДБКоннект.CursorLocation = 2; //adUseServer Попытка АДОДБКоннект.Open(стрПодключения); //Сообщить("Соединение с SQL-сервером " + ИмяСервера + " осуществлено в "+ТекущаяДата()); Исключение Предупреждение("Невозможно установить соединение с SQL-сервером " + ИмяСервера+ ОписаниеОшибки()); АДОДБКоннект.Close(); Возврат; КонецПопытки; Command = Новый COMОбъект("ADODB.Command"); Command.ActiveConnection = АДОДБКоннект; _us=ИмяПользователя(); //*---- удалить врем данные ТекстЗапроса = "delete from uscode where us='"+_us+"'"; Command.CommandText = ТекстЗапроса; RecordSet = Command.Execute(); ТекстЗапроса = "SELECT * FROM sn where CHARINDEX(SUBSTRING(doc,9,2),'ПО/ПЕ/РЕ')>0 "; Если ЗначениеЗаполнено(ВыбНоменклатура) Тогда Если ВыбНоменклатура.ЭтоГруппа Тогда //ТекстЗапроса=ТекстЗапроса+" and ([codenom]='"+СокрЛП(ВыбНоменклатура.Код)+"' )"; Иначе ТекстЗапроса=ТекстЗапроса+" and ([codenom]='"+СокрЛП(ВыбНоменклатура.Код)+"' )"; КонецЕсли КонецЕсли; //*---- удалить врем данные Если ЗначениеЗаполнено(ВыбШтрихкод) Тогда текст = Новый ТекстовыйДокумент; _СерийнНомер=СокрЛП(ВыбШтрихкод); _Строка=""; _Строка=_Строка+СтрЗаменить(_us,";","")+";"; _Строка=_Строка+СтрЗаменить(_СерийнНомер,";",""); Текст.ДобавитьСтроку(_Строка); ИмяCSV=КаталогВременныхФайлов()+_us+".csv"; Текст.Записать(ИмяCSV,КодировкаТекста.OEM); Состояние("Выполняется SQL запрос ....."); ТекстЗапросаУдаление = "BULK INSERT uscode FROM '"+ИмяCSV+"' WITH (CHECK_CONSTRAINTS,DATAFILETYPE='widechar',FIELDTERMINATOR=';', ROWTERMINATOR='\n',KEEPIDENTITY,TABLOCK);"; Command.CommandText = ТекстЗапросаУдаление; RecordSet = Command.Execute(); ТекстЗапроса=ТекстЗапроса+" and ([code] in (select [code] from ["+ИмяБазы+"].[dbo].[uscode] where us='"+_us+"'))"; //ТекстЗапроса = "SELECT * FROM sn where CHARINDEX(SUBSTRING(doc,9,2),'ПО/ПЕ/РЕ')>0 and ([code] in (select [code] from ["+ИмяБазы+"].[dbo].[uscode] where us='"+_us+"')) order by code"; Конецесли; ТекстЗапроса=ТекстЗапроса+" order by code"; Command.CommandText = ТекстЗапроса; RecordSet = Command.Execute(); УдалитьФайлы(КаталогВременныхФайлов(),_us+".csv"); Состояние("Выполняется обработка SQL запроса ....."); пока не RecordSet.eof Цикл ОбработкаПрерыванияПользователя(); Если ФлПеремещения или ФлРеализация или ФлПоступления Тогда _ок=Ложь; Если ФлПеремещения и Сред(RecordSet.fields("Doc").value,9,2)="ПЕ" Тогда _ок=Истина; Если ЗначениеЗаполнено(ВыбСкладКому) Тогда Если Найти(ВРЕГ(RecordSet.fields("Contr").value),ВРЕГ(ВыбСкладКому.Наименование))=0 Тогда _ок=Ложь; КонецЕсли; КонецЕсли; КонецЕсли; Если ФлРеализация и Сред(RecordSet.fields("Doc").value,9,2)="РЕ" Тогда _ок=Истина; Если ЗначениеЗаполнено(ВыбКонтрагент) Тогда Если Найти(ВРЕГ(RecordSet.fields("Contr").value),ВРЕГ(ВыбКонтрагент.Наименование))=0 Тогда _ок=Ложь; КонецЕсли; КонецЕсли; КонецЕсли; Если ФлПоступления и Сред(RecordSet.fields("Doc").value,9,2)="ПО" Тогда _ок=Истина; Если ЗначениеЗаполнено(ВыбПоставщик) Тогда Если Найти(ВРЕГ(RecordSet.fields("Contr").value),ВРЕГ(ВыбПоставщик.Наименование))=0 Тогда _ок=Ложь; КонецЕсли; КонецЕсли; КонецЕсли; Если не _ок Тогда RecordSet.movenext(); Продолжить; КонецЕсли; КонецЕсли; Тбстр=ТбБаза.Добавить(); Тбстр.code=RecordSet.fields("code").value; Тбстр.doc=RecordSet.fields("Doc").value; Тбстр.Contr=RecordSet.fields("Contr").value; Тбстр.Sklad=RecordSet.fields("Sklad").value; Тбстр.codenom=RecordSet.fields("codenom").value; RecordSet.movenext(); КонецЦикла; ТбБаза.Сортировать("code"); ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); // печать производится на языке, указанном в настройках пользователя КодЯзыкаПечать = Локализация.ПолучитьЯзыкФормированияПечатныхФорм(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "РежимФормированияПечатныхФорм")); Макет.КодЯзыкаМакета = КодЯзыкаПечать; // Заголовок ВыбДокумент=""; ВыбСклад=""; Область=Макет.ПолучитьОбласть("Заголовок"); Область.Параметры.ПечНоменклатура=ВыбНоменклатура; Область.Параметры.ПечШтрихкод=ВыбШтрихкод; Область.Параметры.ПечДок=ВыбДокумент; Область.Параметры.ПечСклад=ВыбСклад; Область.Параметры.НачДата=Формат(НачПериода,"ДФ=dd.MM.yyyy"); Область.Параметры.КонДата=Формат(КонПериода,"ДФ=dd.MM.yyyy"); ТабДок.Вывести(Область); Ном=0; Для Каждого СтрТбСтр из ТбБаза Цикл Ном=Ном+1; Состояние("Вывод таблицы: "+Ном+" из "+ТбБаза.Количество()+" строк ....."); ОбработкаПрерыванияПользователя(); НоменклатураСсылка=Справочники.Номенклатура.НайтиПоКоду(СтрТбСтр.codenom); Если НоменклатураСсылка=Справочники.Номенклатура.ПустаяСсылка() Тогда Сообщить("Не найден товар с кодом :"+СтрТбСтр.codenom); КонецЕсли; ВидДок=""; Если Сред(СтрТбСтр.doc,9,2)="ПО" Тогда ВидДок="Поступление"; ИначеЕсли Сред(СтрТбСтр.doc,9,2)="ПЕ" Тогда ВидДок="Перемещение"; ИначеЕсли Сред(СтрТбСтр.doc,9,2)="РЕ" Тогда ВидДок="Реализация"; КонецЕсли; НомерДок=Сред(СтрТбСтр.doc,11); ДатаДокСтр=Сред(СтрТбСтр.doc,7,2)+"."+Сред(СтрТбСтр.doc,5,2)+"."+Сред(СтрТбСтр.doc,1,4); ДатаДок=Дата(Прав(ДатаДокСтр,4)+Сред(ДатаДокСтр,4,2)+Сред(ДатаДокСтр,1,2)); ПечДокумент=ВидДок+" № "+НомерДок+" от "+ДатаДокСтр; ДокОбъект=0; Если Сред(СтрТбСтр.doc,9,2)="ПО" Тогда ДокОбъект=Документы.ПоступлениеТоваровУслуг.НайтиПоНомеру(НомерДок,ДатаДок); ИначеЕсли Сред(СтрТбСтр.doc,9,2)="ПЕ" Тогда ДокОбъект=Документы.ПеремещениеТоваров.НайтиПоНомеру(НомерДок,ДатаДок); ИначеЕсли Сред(СтрТбСтр.doc,9,2)="РЕ" Тогда ДокОбъект=Документы.РеализацияТоваровУслуг.НайтиПоНомеру(НомерДок,ДатаДок); КонецЕсли; Область=Макет.ПолучитьОбласть("Строка"); Область.Параметры.ПечНоменклатура=НоменклатураСсылка; Область.Параметры.ПечШтрихкод=СтрТбСтр.code; Область.Параметры.ПечДокумент=ПечДокумент; Область.Параметры.ПечОтКуда=СтрТбСтр.Sklad; Область.Параметры.ПечКуда=СтрТбСтр.Contr; Область.Параметры.Расшифровка=ДокОбъект.Ссылка; ТабДок.Вывести(Область); КонецЦикла; ТабДок.ОтображатьСетку = Ложь; ТабДок.Защита = Ложь; ТабДок.ТолькоПросмотр = Истина; ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.АвтоМасштаб = Истина; ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; ТабДок.Показать("Движения по штрихкоду",""); КонецПроцедуры |
|||
11
Franchiser
гуру
01.08.14
✎
17:20
|
так это самописка?!
|
|||
12
ДенисЧ
01.08.14
✎
17:21
|
Ну и зачем это, спрашивается, убирать, если он берёт данные не из 1с, а из другой какой-то базы?
|
|||
13
_fvadim
01.08.14
✎
17:22
|
в свете (10) ответ на (0) - никак
|
|||
14
_fvadim
01.08.14
✎
17:22
|
оно оттуда данные для отчёта берёт
|
|||
15
M-comp
01.08.14
✎
17:22
|
самописка,но не моя,мне писали для другой базы,а теперь я хочу для своей применить,но что бы она у моей базы спрашивала,или это надо всё заного писать?
|
|||
16
Wobland
01.08.14
✎
17:22
|
(12) всё просто: в другую базу данные попадают из этой
|
|||
17
Franchiser
гуру
01.08.14
✎
17:23
|
Поздравляю, теперь все знают пароли твоей базы
|
|||
18
ДенисЧ
01.08.14
✎
17:23
|
(15) Да.
(16) неа. |
|||
19
M-comp
01.08.14
✎
17:24
|
пусть знают,если им от этого легче))
|
|||
20
M-comp
01.08.14
✎
17:24
|
это не пароли ,а ерунда никому не нужная
|
|||
21
Franchiser
гуру
01.08.14
✎
17:25
|
(19) ну, поменяй логин и пароль в строке подключения, может взлетит
|
|||
22
M-comp
01.08.14
✎
17:25
|
(21)на какой?))
|
|||
23
hhhh
01.08.14
✎
17:26
|
(20) ну, выкинь этот отчет. Ты его где-то стырил, что ли?
|
|||
24
M-comp
01.08.14
✎
17:26
|
на пароль от чего?
|
|||
25
M-comp
01.08.14
✎
17:27
|
(23)взял с другой базы
мне нужен он ,я бы не парился,мне надо что бы я мог отслеживать по штрихам что и куда уходит |
|||
26
_fvadim
01.08.14
✎
17:29
|
в базе походу штрихкоды к номенклатуре хранятся, и, походу, ещё обновляются из csv файла перед формированием отчёта.
|
|||
27
hhhh
01.08.14
✎
17:29
|
(25) зачем вам нужен отчет по SQL-ной базе? Совсем головы нет что ли?
|
|||
28
Franchiser
гуру
01.08.14
✎
17:30
|
ну у тебя 1с в клиент-серверном режиме? тогда ты должен знать пароль на SQL если в файловом режиме - не взлетит.
|
|||
29
M-comp
01.08.14
✎
17:31
|
(28)не ,не в серверном,обычная 1с
|
|||
30
Franchiser
гуру
01.08.14
✎
17:31
|
где ты это взял, в сети?
|
|||
31
Franchiser
гуру
01.08.14
✎
17:31
|
Минимум тебе нужно установить sql сервер
|
|||
32
M-comp
01.08.14
✎
17:32
|
(25) мне не нужен отчёт по SQL базе, мне нужен отчёт для моей самой обычной базе, я всего лишь хочу по штрихкоду отслеживать движение товара
|
|||
33
Wobland
01.08.14
✎
17:32
|
(32) и поэтому ты решил угостить нас каким-то левым кодом, да?
|
|||
34
_fvadim
01.08.14
✎
17:32
|
(32) шк в 1с хранятся?
|
|||
35
_fvadim
01.08.14
✎
17:33
|
(31) а потом обо**ать и сжечь.
|
|||
36
M-comp
01.08.14
✎
17:33
|
(33) я не сильно шарю,можно сказать что вообще не шарю,я переписываю всякие лёгкости под себя,думал что и тут получится легко,но не тут то было...
|
|||
37
M-comp
01.08.14
✎
17:33
|
(34) да
|
|||
38
_fvadim
01.08.14
✎
17:34
|
(37) Тебе придётся писать отчёт с нуля. Этот для болванки не годится.
|
|||
39
_fvadim
01.08.14
✎
17:35
|
там всё завязано на данных, получаемых с левого sql-сервера
|
|||
40
M-comp
01.08.14
✎
17:36
|
(39) Спасибо,ясный и чёткий ответ
Тема закрыта,всем СПАСИБО |
|||
41
Franchiser
гуру
01.08.14
✎
17:36
|
Попробуй отчет "конструктор отчета" или "конструктор запроса", он больше тебе подходит.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |