|
v7: 1С Запрос на sql базе собирает неправильные данные | ☑ | ||
---|---|---|---|---|
0
1CNov
02.02.12
✎
14:33
|
День добрый!
Есть вот такая проблемка... самописная база на 7.7, висит на sql2000 В конфигурации есть документ, у него есть реквизиты шапки "Получатель" и "Поставщик" типа Справочник.Контрагенты. Пишу отчет - реестр документов. Данные собираю запросом. Запрос простенький, выбирает текущий документ, покупатель и поставщик. Запускаю запрос на sql ной базе, выгружаю запрос в таблицу значений... В колонке "Поставщик" данные верные, а в колонке "Покупатель" - данные не о покупателе а о поставщике :) Причем на dbf-ной базе, именно этой же, выгруженной из sql-ной запрос отрабатывает правильно.... Что за ? никогда с таким не сталкивался :) |
|||
1
Ёпрст
02.02.12
✎
14:35
|
реиндекс базы сделай + обновление статистики
|
|||
2
Ёпрст
02.02.12
✎
14:36
|
+ нам отсюда не видно твой текст запроса и как ты потом его смотришь
|
|||
3
1CNov
02.02.12
✎
14:43
|
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Обрабатывать НеПомеченныеНаУдаление; |Поставщик = Документ.Приход.Поставщик; |Получатель = Документ.Приход.Получатель; |ТекущийДокумент = Документ.Приход.ТекущийДокумент; |Группировка ТекущийДокумент; |Группировка Поставщик без групп; |Группировка Получатель без групп; |"//}}ЗАПРОС ; |
|||
4
1CNov
02.02.12
✎
14:49
|
и как бы я его не смотрел, хоть выгрузкой в ТЗ, хоть перебором.
На dbf все нормально, на sql криво |
|||
5
Voronve
02.02.12
✎
14:49
|
(0)
Запрос = СоздатьОбъект("Запрос"); Запрос.ВключитьSQL(0); но скорость упадет сильно |
|||
6
Ёпрст
02.02.12
✎
14:52
|
|Группировка Поставщик без групп;
|Группировка Получатель без групп сильно |
|||
7
Ёпрст
02.02.12
✎
14:52
|
выкини эти группировки и смотри
|
|||
8
1CNov
02.02.12
✎
14:54
|
(6) Да это пример :)
в оригинале группровка ТекущийДокумент потом выгрузить в ТЗ Это уж просто я пробовал конструктором в новой обработке... думал мож че изменится |
|||
9
1CNov
02.02.12
✎
14:54
|
(7) тоже не работает, в оригинале без них
|
|||
10
Mikeware
02.02.12
✎
14:55
|
Блин, я их так и не выучил :-((
|
|||
11
Ёпрст
02.02.12
✎
14:58
|
(8) я тебе не верю.
ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Поставщик = Документ.Приход.Поставщик; |Получатель = Документ.Приход.Получатель; |ТекущийДокумент = Документ.Приход.ТекущийДокумент; |Группировка ТекущийДокумент; |"//}}ЗАПРОС ; Запрос.Выполнить (ТекстЗапроса); ТЗ = СоздатьОбъект("ТаблицаЗначений"); Запрос.Выгрузить(ТЗ,1,0); ТЗ.ВыбратьСтроку(); Сюда кидай скриншот того, что кажет |
|||
12
1CNov
02.02.12
✎
16:01
|
(11) я и сам себе не верю, но это факт :) у меня на другом объекте такое, не смогу сейчас показать скрин из sql ной , базу надо
но вот код ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Обрабатывать НеПомеченныеНаУдаление; |Без итогов; |НомерПрихДок = Документ.Приход.НомерПрихДок; |Контрагент = Документ.Приход.Поставщик.Наименование; |ДатаСФ = Документ.Приход.ДатаСФ; |НомерСФ = Документ.Приход.НомерСФ; |Ставка = Документ.Приход.ВариантРасчетаНалогов.СтавкаНДС.Ставка; |СтавкаСуммаВключаетНДС = Документ.Приход.ВариантРасчетаНалогов.СуммаВключаетНДС; |ДокументНДСвключатьВСтоимость = Документ.Приход.НДСвключатьВСтоимость; |ПриходнаяНакладная = Документ.Приход.ТекущийДокумент; |ДатаДок = Документ.Приход.ДатаДок; |НомерДок = Документ.Приход.НомерДок; |Склад = Документ.Приход.Получатель.Код; |Группировка ПриходнаяНакладная; |"//}}ЗАПРОС ; Запрос = СоздатьОбъект("Запрос"); ТЗ = СоздатьОбъект("ТаблицаЗначений"); Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда сообщить("Ошибка при выполнении запроса!"); КонецЕсли; Запрос.Выгрузить(ТЗ,1,0); ОткрытьФормуМодально("Отчет",ТЗ,"C:\РедакторТЗ.ert"); |
|||
13
1CNov
02.02.12
✎
16:03
|
косячные поля запроса Склад и Контрагент
у них один тип, может в этом дело.... я первый раз сам такое вижу :) движок кстати 25ый |
|||
14
Ёпрст
02.02.12
✎
16:05
|
(12)
Это кто тебя так учил писать ? Контрагент = Документ.Приход.Поставщик.Наименование; Склад = Документ.Приход.Получатель.Код; ? |
|||
15
Ёпрст
02.02.12
✎
16:05
|
и это, жду ответа на (11)
|
|||
16
Ёпрст
02.02.12
✎
16:05
|
И это.. неизвестно, что еще твой редакторТЗ.ert делает
|
|||
17
Дядя Васька
02.02.12
✎
16:06
|
(12) Нафига код и наименование, а не ссылки?
|
|||
18
1CNov
02.02.12
✎
16:07
|
+(12) реально в таблице вот так:
из скуля №пп | Контрагент | Склад | ПриходнаяНакладная 1 | Иванов | Иванов| Документ №1 1 | Петров | Петров| Документ №1 из dbf этой же базы выгруженной из sql №пп | Контрагент | Склад | ПриходнаяНакладная 1 | Иванов | Склад1| Документ №1 1 | Петров | Склад2| Документ №1 |
|||
19
Дядя Васька
02.02.12
✎
16:07
|
(16) +1 после Запрос.Выгрузить(ТЗ,1,0); напиши ТЗ.ВыбратьСтроку(); а ну как в ТЗ-то все правильно
|
|||
20
Дядя Васька
02.02.12
✎
16:08
|
(18) Твой запрос такое вернуть не может. Ошибка во внешнем отчете.
|
|||
21
1CNov
02.02.12
✎
16:13
|
(14),(17) выкидываю ТЗ в текстовик, оттуда потом загрузка в бухгалтерию, в чем беда? Меня ломает потом писать ТЗ.НоваяКолонка("Код") и проч... если я сразу с запроса могу это взять
(16) он не мой, сто лет обработке этой, ей куча народа пользуется (19)(20) ща vpn поставлю, подключусь |
|||
22
Дядя Васька
02.02.12
✎
16:15
|
(21) В таблице-то у тебя Склад1, Склад2, а не код никакой. Походу ссылка и нужна.
|
|||
23
1CNov
02.02.12
✎
16:26
|
(22) блин..... да пример это для наглядности :)
ща будет скрин |
|||
24
1CNov
02.02.12
✎
16:34
|
http://imageshack.us/photo/my-images/692/sqlug.png/
http://imageshack.us/photo/my-images/855/dbf.png/ вот... хелп)) я всю башню сломал уже :) |
|||
25
1CNov
02.02.12
✎
16:35
|
вот этим куском кода
ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Обрабатывать НеПомеченныеНаУдаление; |Без итогов; |НомерПрихДок = Документ.Приход.НомерПрихДок; |Контрагент = Документ.Приход.Поставщик.Наименование; |ПриходнаяНакладная = Документ.Приход.ТекущийДокумент; |Склад = Документ.Приход.Получатель.Код; |Группировка ПриходнаяНакладная; |"//}}ЗАПРОС ; Запрос = СоздатьОбъект("Запрос"); ТЗ = СоздатьОбъект("ТаблицаЗначений"); Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда сообщить("Ошибка при выполнении запроса!"); КонецЕсли; Запрос.Выгрузить(ТЗ,1,0); ТЗ.ВыбратьСтроку(); |
|||
26
Ёпрст
02.02.12
✎
16:40
|
(25) Мот чернички поешь ?
И где у тебя там Контрагент равен Складу ???!!! |
|||
27
Ёпрст
02.02.12
✎
16:41
|
+26 на этих картинках
|
|||
28
1CNov
02.02.12
✎
16:43
|
равен равен - это просто наименование и код
Поставщик.Наименование = .... Мясокомбинат Поставщик.Код = СМК |
|||
29
1CNov
02.02.12
✎
16:43
|
в одну графу идет код во вторую наименование от одного и тог же элемента, хотя в dbf видно что в склад попадает уже склад
|
|||
30
Ёпрст
02.02.12
✎
16:45
|
(28) :))))))))))))))))))))))))))))))))))))))))))))))))
п..................ц |
|||
31
1CNov
02.02.12
✎
16:45
|
(30) ??????
|
|||
32
1CNov
02.02.12
✎
16:46
|
блин могу без кода/наименования просто ссылки собрать и показать
|
|||
33
Ёпрст
02.02.12
✎
16:46
|
ладно, для начала, что кажет (11) ?
|
|||
34
1CNov
02.02.12
✎
16:46
|
суть то от этого не поменяется
|
|||
35
Ёпрст
02.02.12
✎
16:47
|
(34) :))))))))))))))))
|
|||
36
Ёпрст
02.02.12
✎
16:48
|
ты будешь спорить ? Или всё же сделаешь ?
|
|||
37
1CNov
02.02.12
✎
16:54
|
все сделал (
епть... а почему так??? если с твоего запроса собираю ссылку - все ништяк если дописываю туда .Код и .Наименование получаю их от контрагента только... |
|||
38
1CNov
02.02.12
✎
16:55
|
всегда ж работало... или мне за столько лет первый раз попалось 2 реквизита одинакового типа.. в чем физика то??
|
|||
39
1CNov
02.02.12
✎
16:56
|
почему низя собрать запросом код и наименование?
|
|||
40
Ёпрст
02.02.12
✎
17:03
|
(5) нк сделай как в (5) - будет работать, только меееедленно.
А так, любое получение значения через "." - это присоединение еще одной таблички.. Да и .. открой профайлер, да посмотри сам, какой запрорс в скуль летит |
|||
41
Дядя Васька
02.02.12
✎
17:06
|
(40) Ты взорвешь ему мозк :)
|
|||
42
Дядя Васька
02.02.12
✎
17:08
|
Вообще интересно, что это за приход такой где поставщик и получатель одного типа... Ну ладно бы там перемещение, я бы понял.
|
|||
43
1CNov
02.02.12
✎
17:10
|
это дибильная конфа "самописная" от "капитана" - комбинат питания :)
там и получатель и поставщик и склад - все одного типа(справочник.получатели), мало того у справочника.получатели еще и реквизит есть справочник.получатели :) |
|||
44
1CNov
02.02.12
✎
17:16
|
(40) и не думай что я настолько туп :) у тебя у самого чтоль не было ни разу ситуации когда что-то работает не так как ты привык и на то есть причина?
хочешь поумничать - покажи мне место в желтой книжке где написано что в sql ной базе запрос вот так работает.. |
|||
45
Ёпрст
02.02.12
✎
17:20
|
(44) че ?
ты (5) проверил ? |
|||
46
1CNov
02.02.12
✎
17:21
|
блин не (40) а (41) не то написал
А (40) - большое спасибо! |
|||
47
1CNov
02.02.12
✎
17:22
|
(45) в (44) очепятка)) это я Дядю Ваську дуюсь ))
|
|||
48
1CNov
02.02.12
✎
17:23
|
умничает он просто :) мозк не мозк... зашел попостить и самоутвердиться
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |