|
v7: 1с++ файловая. Итоги и временные таблицы | ☑ | ||
---|---|---|---|---|
0
zling
28.10.12
✎
21:48
|
через OLEDBData. У кого есть пример? Скиньте пож-та
|
|||
1
zling
28.10.12
✎
21:50
|
у меня на предложение "TOTALS SUM(Себест), SUM(ПродСтоимость), SUM(Количество), SUM(СебестВ), SUM(ПродСтоимостьВ), SUM(КоличествоВ)
BY Фирма, Покупатель, Поставщик, Номенклатура" ругается |
3 109 148 |
||
2
КонецЦикла
28.10.12
✎
22:14
|
group by
|
3 |
||
3
zling
28.10.12
✎
22:16
|
||||
4
КонецЦикла
28.10.12
✎
22:18
|
Подсчет итога по себестоимости
select sum(себестоимость) , товар from ... group by товар |
48 |
||
5
zling
28.10.12
✎
22:20
|
ты предлагаешь объединения делать с основным запросом? Это не оч. удобно
|
|||
6
zling
28.10.12
✎
22:20
|
я как раз и хотел от этого отойти
|
|||
7
КонецЦикла
28.10.12
✎
22:21
|
Я не вижу запрос, вот старый отчет для примера:
http://www.itland.ru/forum/index.php?showtopic=13339&st=15 |
8 |
||
8
zling
28.10.12
✎
23:18
|
(7) сенк, конечно, но не то, что я хотел :( Видимо на фоксе TOTALS нету
|
9 |
||
9
КонецЦикла
28.10.12
✎
23:22
|
||||
10
kiruha
28.10.12
✎
23:26
|
||||
11
zling
28.10.12
✎
23:33
|
делаю
EXECSCRIPT('SELECT * INTO CURSOR TmpTable1 NOFILTER from ( SELECT SUM(РегПродажа_04_4.SP2222) as Себест, SUM(РегПродажа_04_4.SP2223) as ПродСтоимость, SUM(РегПродажа_04_4.SP2224) as Количество, SUM(РегПродажа_04_4.SP2225) as СебестВ, SUM(РегПродажа_04_4.SP2226) as ПродСтоимостьВ, SUM(РегПродажа_04_4.SP2227) as КоличествоВ, СпрФирмы_04_4.DESCR as Фирма, СпрКонтр_04_4.DESCR as Покупатель, СпрКонтрП_04_4.DESCR as Поставщик, СпрНомен_04_4.DESCR as Номенклатура FROM _RA2228_04 as РегПродажа_04_4 LEFT JOIN _1SJOURN_04 as Журн_04_4 ON РегПродажа_04_4.IDDOC = Журн_04_4.IDDOC LEFT JOIN _SC156_04 as СпрНомен_04_4 ON РегПродажа_04_4.SP2218 = СпрНомен_04_4.ID LEFT JOIN _SC134_04 as СпрКонтр_04_4 ON РегПродажа_04_4.SP2219 = СпрКонтр_04_4.ID LEFT JOIN _SC134_04 as СпрКонтрП_04_4 ON РегПродажа_04_4.SP2220 = СпрКонтрП_04_4.ID LEFT JOIN _SC331_04 as СпрФирмы_04_4 ON РегПродажа_04_4.SP2221 = СпрФирмы_04_4.ID WHERE Журн_04_4.DATE BETWEEN :НачДата~~ AND :КонДата~~ GROUP BY Фирма,Покупатель,Поставщик,Номенклатура UNION ALL SELECT SUM(РегПродажа_Old_4.SP2222) as Себест, SUM(РегПродажа_Old_4.SP2223) as ПродСтоимость, SUM(РегПродажа_Old_4.SP2224) as Количество, SUM(РегПродажа_Old_4.SP2225) as СебестВ, SUM(РегПродажа_Old_4.SP2226) as ПродСтоимостьВ, SUM(РегПродажа_Old_4.SP2227) as КоличествоВ, СпрФирмы_Old_4.DESCR as Фирма, СпрКонтр_Old_4.DESCR as Покупатель, СпрКонтрП_Old_4.DESCR as Поставщик, СпрНомен_Old_4.DESCR as Номенклатура FROM _RA2228_Old as РегПродажа_Old_4 LEFT JOIN _1SJOURN_Old as Журн_Old_4 ON РегПродажа_Old_4.IDDOC = Журн_Old_4.IDDOC LEFT JOIN _SC156_Old as СпрНомен_Old_4 ON РегПродажа_Old_4.SP2218 = СпрНомен_Old_4.ID LEFT JOIN _SC134_Old as СпрКонтр_Old_4 ON РегПродажа_Old_4.SP2219 = СпрКонтр_Old_4.ID LEFT JOIN _SC134_Old as СпрКонтрП_Old_4 ON РегПродажа_Old_4.SP2220 = СпрКонтрП_Old_4.ID LEFT JOIN _SC331_Old as СпрФирмы_Old_4 ON РегПродажа_Old_4.SP2221 = СпрФирмы_Old_4.ID WHERE Журн_Old_4.DATE BETWEEN :НачДата~~ AND :КонДата~~ GROUP BY Фирма,Покупатель,Поставщик,Номенклатура UNION ALL SELECT SUM(РегПродажа_4.SP2222) as Себест, SUM(РегПродажа_4.SP2223) as ПродСтоимость, SUM(РегПродажа_4.SP2224) as Количество, SUM(РегПродажа_4.SP2225) as СебестВ, SUM(РегПродажа_4.SP2226) as ПродСтоимостьВ, SUM(РегПродажа_4.SP2227) as КоличествоВ, СпрФирмы_4.DESCR as Фирма, СпрКонтр_4.DESCR as Покупатель, СпрКонтрП_4.DESCR as Поставщик, СпрНомен_4.DESCR as Номенклатура FROM RA2228 as РегПродажа_4 LEFT JOIN 1SJOURN as Журн_4 ON РегПродажа_4.IDDOC = Журн_4.IDDOC LEFT JOIN SC156 as СпрНомен_4 ON РегПродажа_4.SP2218 = СпрНомен_4.ID LEFT JOIN SC134 as СпрКонтр_4 ON РегПродажа_4.SP2219 = СпрКонтр_4.ID LEFT JOIN SC134 as СпрКонтрП_4 ON РегПродажа_4.SP2220 = СпрКонтрП_4.ID LEFT JOIN SC331 as СпрФирмы_4 ON РегПродажа_4.SP2221 = СпрФирмы_4.ID WHERE Журн_4.DATE BETWEEN :НачДата~~ AND :КонДата~~ GROUP BY Фирма,Покупатель,Поставщик,Номенклатура ORDER BY Фирма,Покупатель,Поставщик,Номенклатура,Количество DESC, КоличествоВ DESC )as WW ') Command contains unrecognized phrase/keyword |
|||
12
zling
28.10.12
✎
23:44
|
пардон
|
|||
13
zling
28.10.12
✎
23:45
|
я затупил. щас сделал по инструкции
// Знак "'" не поддерживается, поэтому заменяем на скобки Скобка="["; номпозиции=Найти(ТекстЗапроса,"'"); Пока номпозиции<>0 Цикл ТекстЗапроса=Лев(ТекстЗапроса,номпозиции-1)+Скобка+Сред(ТекстЗапроса,номпозиции+1); Если Скобка="[" Тогда Скобка="]" Иначе Скобка="[" КонецЕсли; номпозиции=Найти(ТекстЗапроса,"'"); КонецЦикла; // Знак """ не поддерживается, поэтому заменяем на скобки Скобка="["; номпозиции=Найти(ТекстЗапроса,""""); Пока номпозиции<>0 Цикл ТекстЗапроса=Лев(ТекстЗапроса,номпозиции-1)+Скобка+Сред(ТекстЗапроса,номпозиции+1); Если Скобка="[" Тогда Скобка="]" Иначе Скобка="[" КонецЕсли; номпозиции=Найти(ТекстЗапроса,""""); КонецЦикла; //Разделитель строк не поддерживается поэтому убираем, //строки больше 255 симолов не поддерживаются , поэтому удлиняем при помощи CHR(13) ВрТекстЗапроса=""; Для Счетчик=1 По СтрКоличествоСтрок(ТекстЗапроса) Цикл ТекСтрока=СтрПолучитьСтроку(ТекстЗапроса,Счетчик); ТекСтрока=" "+СокрЛП(ТекСтрока)+" "; Если Счетчик=1 Тогда ВрТекстЗапроса=ВрТекстЗапроса+ТекСтрока; Иначе Если СокрЛП(ТекСтрока)<>"" Тогда ПереносСтрокиФоксПро="'"+CHR(13)+"'"; ВрТекстЗапроса=ВрТекстЗапроса+ПереносСтрокиФоксПро+ТекСтрока; КонецЕсли; КонецЕсли; КонецЦикла; ТекстЗапроса = ВрТекстЗапроса; ВрТекстЗапроса = ""; //Даты с "'" и с "[" не поддерживаются номпозиции=Найти(ТекстЗапроса,"{d"); // {d [2006-01-01]} Пока номпозиции<>0 Цикл Начало=Лев(ТекстЗапроса,номпозиции-1); ДатаПар=Сред(ТекстЗапроса,номпозиции+4,10); Конец=Сред(ТекстЗапроса,номпозиции+16); ТекстЗапроса=Начало+"{^ "+ДатаПар+"}"+Конец; номпозиции=Найти(ТекстЗапроса,"{d"); КонецЦикла; |
13 37 51 |
||
14
zling
28.10.12
✎
23:46
|
получился такой текст
EXECSCRIPT('SELECT * INTO CURSOR TmpTable1 NOFILTER from ( ' ' SELECT ' ' SUM(РегПродажа_04_4.SP2222) as Себест, ' ' SUM(РегПродажа_04_4.SP2223) as ПродСтоимость, ' ' SUM(РегПродажа_04_4.SP2224) as Количество, ' ' SUM(РегПродажа_04_4.SP2225) as СебестВ, ' ' SUM(РегПродажа_04_4.SP2226) as ПродСтоимостьВ, ' ' SUM(РегПродажа_04_4.SP2227) as КоличествоВ, ' ' СпрФирмы_04_4.DESCR as Фирма, ' ' СпрКонтр_04_4.DESCR as Покупатель, ' ' СпрКонтрП_04_4.DESCR as Поставщик, ' ' СпрНомен_04_4.DESCR as Номенклатура ' ' FROM ' ' _RA2228_04 as РегПродажа_04_4 ' ' LEFT JOIN _1SJOURN_04 as Журн_04_4 ON РегПродажа_04_4.IDDOC = Журн_04_4.IDDOC ' ' LEFT JOIN _SC156_04 as СпрНомен_04_4 ON РегПродажа_04_4.SP2218 = СпрНомен_04_4.ID ' ' LEFT JOIN _SC134_04 as СпрКонтр_04_4 ON РегПродажа_04_4.SP2219 = СпрКонтр_04_4.ID ' ' LEFT JOIN _SC134_04 as СпрКонтрП_04_4 ON РегПродажа_04_4.SP2220 = СпрКонтрП_04_4.ID ' ' LEFT JOIN _SC331_04 as СпрФирмы_04_4 ON РегПродажа_04_4.SP2221 = СпрФирмы_04_4.ID ' ' WHERE Журн_04_4.DATE BETWEEN :НачДата~~ AND :КонДата~~ ' ' GROUP BY Фирма,Покупатель,Поставщик,Номенклатура ' ' UNION ALL ' ' SELECT ' ' SUM(РегПродажа_Old_4.SP2222) as Себест, ' ' SUM(РегПродажа_Old_4.SP2223) as ПродСтоимость, ' ' SUM(РегПродажа_Old_4.SP2224) as Количество, ' ' SUM(РегПродажа_Old_4.SP2225) as СебестВ, ' ' SUM(РегПродажа_Old_4.SP2226) as ПродСтоимостьВ, ' ' SUM(РегПродажа_Old_4.SP2227) as КоличествоВ, ' ' СпрФирмы_Old_4.DESCR as Фирма, ' ' СпрКонтр_Old_4.DESCR as Покупатель, ' ' СпрКонтрП_Old_4.DESCR as Поставщик, ' ' СпрНомен_Old_4.DESCR as Номенклатура ' ' FROM ' ' _RA2228_Old as РегПродажа_Old_4 ' ' LEFT JOIN _1SJOURN_Old as Журн_Old_4 ON РегПродажа_Old_4.IDDOC = Журн_Old_4.IDDOC ' ' LEFT JOIN _SC156_Old as СпрНомен_Old_4 ON РегПродажа_Old_4.SP2218 = СпрНомен_Old_4.ID ' ' LEFT JOIN _SC134_Old as СпрКонтр_Old_4 ON РегПродажа_Old_4.SP2219 = СпрКонтр_Old_4.ID ' ' LEFT JOIN _SC134_Old as СпрКонтрП_Old_4 ON РегПродажа_Old_4.SP2220 = СпрКонтрП_Old_4.ID ' ' LEFT JOIN _SC331_Old as СпрФирмы_Old_4 ON РегПродажа_Old_4.SP2221 = СпрФирмы_Old_4.ID ' ' WHERE Журн_Old_4.DATE BETWEEN :НачДата~~ AND :КонДата~~ ' ' GROUP BY Фирма,Покупатель,Поставщик,Номенклатура ' ' UNION ALL ' ' SELECT ' ' SUM(РегПродажа_4.SP2222) as Себест, ' ' SUM(РегПродажа_4.SP2223) as ПродСтоимость, ' ' SUM(РегПродажа_4.SP2224) as Количество, ' ' SUM(РегПродажа_4.SP2225) as СебестВ, ' ' SUM(РегПродажа_4.SP2226) as ПродСтоимостьВ, ' ' SUM(РегПродажа_4.SP2227) as КоличествоВ, ' ' СпрФирмы_4.DESCR as Фирма, ' ' СпрКонтр_4.DESCR as Покупатель, ' ' СпрКонтрП_4.DESCR as Поставщик, ' ' СпрНомен_4.DESCR as Номенклатура ' ' FROM ' ' RA2228 as РегПродажа_4 ' ' LEFT JOIN 1SJOURN as Журн_4 ON РегПродажа_4.IDDOC = Журн_4.IDDOC ' ' LEFT JOIN SC156 as СпрНомен_4 ON РегПродажа_4.SP2218 = СпрНомен_4.ID ' ' LEFT JOIN SC134 as СпрКонтр_4 ON РегПродажа_4.SP2219 = СпрКонтр_4.ID ' ' LEFT JOIN SC134 as СпрКонтрП_4 ON РегПродажа_4.SP2220 = СпрКонтрП_4.ID ' ' LEFT JOIN SC331 as СпрФирмы_4 ON РегПродажа_4.SP2221 = СпрФирмы_4.ID ' ' WHERE Журн_4.DATE BETWEEN :НачДата~~ AND :КонДата~~ ' ' GROUP BY Фирма,Покупатель,Поставщик,Номенклатура ' ' ORDER BY Фирма,Покупатель,Поставщик,Номенклатура,Количество DESC, КоличествоВ DESC )as WW ') но FAILED! ICommandText::Execute(): Function name is missing ) |
|||
15
kiruha
28.10.12
✎
23:46
|
и не понятно зачем во временную пихать такой здоровый запрос
использование такое же как в 8 - что то положить, что потом используется в нескольких запросах по существу при UNION название as давать только в первом |
17 |
||
16
kiruha
28.10.12
✎
23:47
|
Отлаживать лучше без временной
|
18 |
||
17
zling
28.10.12
✎
23:49
|
(15) у меня оч. здоровый запрос получается, чтобы весь собрать пихаю промежут. результаты во внутр. таблицу
|
|||
18
zling
28.10.12
✎
23:50
|
(16) текст без преобразования и инструкции execscript выполняется нормально
|
|||
19
kiruha
28.10.12
✎
23:52
|
СпрФирмы_04_4.DESCR as Фирма,
... UNION ALL ... СпрФирмы_4.DESCR as Фирма, так не пишут СпрФирмы_04_4.DESCR as Фирма, ... UNION ALL ... СпрФирмы_4.DESCR , |
20 |
||
20
zling
28.10.12
✎
23:56
|
(19) хм, приму на заметку. но упростил и выкинул юнионы. вот такой исх. текст запроса
SELECT SUM(РегПродажа_04_4.SP2222) as Себест, SUM(РегПродажа_04_4.SP2223) as ПродСтоимость, SUM(РегПродажа_04_4.SP2224) as Количество, SUM(РегПродажа_04_4.SP2225) as СебестВ, SUM(РегПродажа_04_4.SP2226) as ПродСтоимостьВ, SUM(РегПродажа_04_4.SP2227) as КоличествоВ, СпрФирмы_04_4.DESCR as Фирма, СпрКонтр_04_4.DESCR as Покупатель, СпрКонтрП_04_4.DESCR as Поставщик, СпрНомен_04_4.DESCR as Номенклатура FROM _RA2228_04 as РегПродажа_04_4 LEFT JOIN _1SJOURN_04 as Журн_04_4 ON РегПродажа_04_4.IDDOC = Журн_04_4.IDDOC LEFT JOIN _SC156_04 as СпрНомен_04_4 ON РегПродажа_04_4.SP2218 = СпрНомен_04_4.ID LEFT JOIN _SC134_04 as СпрКонтр_04_4 ON РегПродажа_04_4.SP2219 = СпрКонтр_04_4.ID LEFT JOIN _SC134_04 as СпрКонтрП_04_4 ON РегПродажа_04_4.SP2220 = СпрКонтрП_04_4.ID LEFT JOIN _SC331_04 as СпрФирмы_04_4 ON РегПродажа_04_4.SP2221 = СпрФирмы_04_4.ID WHERE Журн_04_4.DATE BETWEEN :НачДата~~ AND :КонДата~~ GROUP BY Фирма,Покупатель,Поставщик,Номенклатура |
|||
21
zling
28.10.12
✎
23:57
|
с преобразованиями
EXECSCRIPT('SELECT * INTO CURSOR TmpTable1 NOFILTER from ( ' ' SELECT ' ' SUM(РегПродажа_04_4.SP2222) as Себест, ' ' SUM(РегПродажа_04_4.SP2223) as ПродСтоимость, ' ' SUM(РегПродажа_04_4.SP2224) as Количество, ' ' SUM(РегПродажа_04_4.SP2225) as СебестВ, ' ' SUM(РегПродажа_04_4.SP2226) as ПродСтоимостьВ, ' ' SUM(РегПродажа_04_4.SP2227) as КоличествоВ, ' ' СпрФирмы_04_4.DESCR as Фирма, ' ' СпрКонтр_04_4.DESCR as Покупатель, ' ' СпрКонтрП_04_4.DESCR as Поставщик, ' ' СпрНомен_04_4.DESCR as Номенклатура ' ' FROM ' ' _RA2228_04 as РегПродажа_04_4 ' ' LEFT JOIN _1SJOURN_04 as Журн_04_4 ON РегПродажа_04_4.IDDOC = Журн_04_4.IDDOC ' ' LEFT JOIN _SC156_04 as СпрНомен_04_4 ON РегПродажа_04_4.SP2218 = СпрНомен_04_4.ID ' ' LEFT JOIN _SC134_04 as СпрКонтр_04_4 ON РегПродажа_04_4.SP2219 = СпрКонтр_04_4.ID ' ' LEFT JOIN _SC134_04 as СпрКонтрП_04_4 ON РегПродажа_04_4.SP2220 = СпрКонтрП_04_4.ID ' ' LEFT JOIN _SC331_04 as СпрФирмы_04_4 ON РегПродажа_04_4.SP2221 = СпрФирмы_04_4.ID ' ' WHERE Журн_04_4.DATE BETWEEN :НачДата~~ AND :КонДата~~ ' ' GROUP BY Фирма,Покупатель,Поставщик,Номенклатура )as WW ') |
|||
22
zling
28.10.12
✎
23:57
|
ну и FAILED! ICommandText::Execute(): Function name is missing ).
|
|||
23
zling
29.10.12
✎
00:06
|
блин, я идиот, упустил еще одно преобразование параметров. итоговый текст
EXECSCRIPT('SELECT * INTO CURSOR TmpTable1 NOFILTER from ( ' ' SELECT ' ' SUM(РегПродажа_04_4.SP2222) as Себест, ' ' SUM(РегПродажа_04_4.SP2223) as ПродСтоимость, ' ' SUM(РегПродажа_04_4.SP2224) as Количество, ' ' SUM(РегПродажа_04_4.SP2225) as СебестВ, ' ' SUM(РегПродажа_04_4.SP2226) as ПродСтоимостьВ, ' ' SUM(РегПродажа_04_4.SP2227) as КоличествоВ, ' ' СпрФирмы_04_4.DESCR as Фирма, ' ' СпрКонтр_04_4.DESCR as Покупатель, ' ' СпрКонтрП_04_4.DESCR as Поставщик, ' ' СпрНомен_04_4.DESCR as Номенклатура ' ' FROM ' ' _RA2228_04 as РегПродажа_04_4 ' ' LEFT JOIN _1SJOURN_04 as Журн_04_4 ON РегПродажа_04_4.IDDOC = Журн_04_4.IDDOC ' ' LEFT JOIN _SC156_04 as СпрНомен_04_4 ON РегПродажа_04_4.SP2218 = СпрНомен_04_4.ID ' ' LEFT JOIN _SC134_04 as СпрКонтр_04_4 ON РегПродажа_04_4.SP2219 = СпрКонтр_04_4.ID ' ' LEFT JOIN _SC134_04 as СпрКонтрП_04_4 ON РегПродажа_04_4.SP2220 = СпрКонтрП_04_4.ID ' ' LEFT JOIN _SC331_04 as СпрФирмы_04_4 ON РегПродажа_04_4.SP2221 = СпрФирмы_04_4.ID ' ' WHERE Журн_04_4.DATE BETWEEN {^ 2012-10-01} AND {^ 2012-10-10} ' ' GROUP BY Фирма,Покупатель,Поставщик,Номенклатура )as WW ') но ошибка та же |
|||
24
kiruha
29.10.12
✎
00:24
|
А простейший
EXECSCRIPT('SELECT * INTO CURSOR TmpTable1 NOFILTER from ( ' ' SELECT ' 'РегПродажа_04_4.SP2222 as Себест' ' FROM ' ' _RA2228_04 as РегПродажа_04_4 ' ')as WW ') |
|||
25
zling
29.10.12
✎
00:30
|
тоже самое :(
мож не установил чего? |
|||
26
zling
29.10.12
✎
00:35
|
попробую как я на др. компе. чета не так с библиотеками, кажется
|
|||
27
kiruha
29.10.12
✎
00:36
|
http://www.microsoft.com/en-us/download/details.aspx?id=14839
Microsoft OLE DB Provider for Visual FoxPro 9.0 |
|||
28
kiruha
29.10.12
✎
00:38
|
||||
29
zling
29.10.12
✎
00:40
|
спасибо, буду курить
|
|||
30
kiruha
29.10.12
✎
00:48
|
Если добавить отбор движение в регистр - не надо будет соединяться с журналом - быстреее в несколько раз
Если еще при этом задействовать индекс по дате - еще быстрее раз в 20. Там в факе все написано |
31 |
||
31
zling
29.10.12
✎
00:53
|
(30) ага, это я читал, спасибо. Но потом, щас бы с вообще его запустить
|
|||
32
zling
29.10.12
✎
00:54
|
У меня при переустановке фокса стал падать при создании строки подключения DataInitialize::GetDataSource(): Класс не зарегистрирован
|
|||
33
kiruha
29.10.12
✎
00:55
|
может старый 1Cpp.dll ?
|
|||
34
zling
29.10.12
✎
01:04
|
с ошибкой GetDataSource() все просто, нужно ставить было для всех пользователей
|
|||
35
zling
29.10.12
✎
01:05
|
1с++ новый вроде, но выполнить регистрацию на 7ке вин не могу
|
|||
36
kiruha
29.10.12
✎
02:56
|
Точно не момню - давно не пользую. можно vkloader
http://www.1cpp.ru/forum/YaBB.pl?num=1267638191 а вроде последние не требовали регистрации |
37 |
||
37
zling
29.10.12
✎
06:42
|
(36) нет, думаю не в библиотеке дело, использую 2.5. Думается, именно в тексте собака порылась. Есть ли рабочий пример.На http://www.1cpp.ru/forum/YaBB.pl?num=1188673318 м.б. описка где-то? Покрайней мере есть одна ПереносСтрокиФоксПро="'+"+CHR(13)+"'"; вместо ПереносСтрокиФоксПро="'"+CHR(13)+"'";
|
88 |
||
38
zling
29.10.12
✎
08:57
|
up
|
|||
39
Ёпрст
29.10.12
✎
09:18
|
>>>использую 2.5
дк уж.. |
|||
40
Ёпрст
29.10.12
✎
09:18
|
3.2.4.0 на дворе
http://www.1cpp.ru/forumfiles/Attachments/icpp-3-2-4-0-rc2.rar |
43 |
||
41
Ёпрст
29.10.12
✎
09:20
|
да и.. для такого простейшего запроса использовать "псевдовременные" таблицы в фоксе особого смысла нет, горазо большее ускорение получишь, задействовав индексы.
|
|||
42
Ёпрст
29.10.12
✎
09:21
|
+ почему не используешь метапарсер ?
Или это текст с отладки ? |
|||
43
zling
29.10.12
✎
09:39
|
(40) спасибо, сейчас попробую.
Это часть текста. Весь текст не проходит по ограничению длины Не выполняется прямой запрос ситуация аналогична |
45 |
||
44
zling
29.10.12
✎
09:45
|
та же фигня. простой тестовый
ТекстЗапроса="EXECSCRIPT('SELECT * INTO CURSOR TmpTable1 NOFILTER FROM ( ' |' SELECT ' |'РегПродажа_04_4.SP2222 AS Себест' |' FROM ' |' RA2228_04 as РегПродажа_04_4 ' |') AS WW ')"; FAILED! ICommandText::Execute(): Function name is missing ). Может обработку рабочую кто для примера выложет? |
46 |
||
45
Ёпрст
29.10.12
✎
09:45
|
(43) дык покажи весь текст запроса.
|
|||
46
Ёпрст
29.10.12
✎
09:46
|
(44) а нафига ты текст в апострофы обрамил ?
|
50 |
||
47
zling
29.10.12
✎
09:47
|
весь текст динамически собирается. Сколько пользователь периодов формирования выберет - столько юнионов. Впринципе он простейший, но из-за ограничения на длину, приходится совать его табл.
|
|||
48
zling
29.10.12
✎
09:48
|
(4) (вкрадчиво*) а как надо?
|
50 |
||
49
zling
29.10.12
✎
09:48
|
:)
|
|||
50
zling
29.10.12
✎
09:48
|
||||
51
zling
29.10.12
✎
09:50
|
текст запроса обрабатываю по след инструкции
MDW.УстановитьТекстовыйПараметр("КонДата",ДатаКонца); MDW.УстановитьТекстовыйПараметр("НачДата",ДатаНачала); ТекстЗапроса=MDW.ОбрМетаСКЛ(ТекстЗапроса); // Знак "'" не поддерживается, поэтому заменяем на скобки Скобка="["; номпозиции=Найти(ТекстЗапроса,"'"); Пока номпозиции<>0 Цикл ТекстЗапроса=Лев(ТекстЗапроса,номпозиции-1)+Скобка+Сред(ТекстЗапроса,номпозиции+1); Если Скобка="[" Тогда Скобка="]" Иначе Скобка="[" КонецЕсли; номпозиции=Найти(ТекстЗапроса,"'"); КонецЦикла; // Знак """ не поддерживается, поэтому заменяем на скобки Скобка="["; номпозиции=Найти(ТекстЗапроса,""""); Пока номпозиции<>0 Цикл ТекстЗапроса=Лев(ТекстЗапроса,номпозиции-1)+Скобка+Сред(ТекстЗапроса,номпозиции+1); Если Скобка="[" Тогда Скобка="]" Иначе Скобка="[" КонецЕсли; номпозиции=Найти(ТекстЗапроса,""""); КонецЦикла; //Разделитель строк не поддерживается поэтому убираем, //строки больше 255 симолов не поддерживаются , поэтому удлиняем при помощи CHR(13) ВрТекстЗапроса=""; Для Счетчик=1 По СтрКоличествоСтрок(ТекстЗапроса) Цикл ТекСтрока=СтрПолучитьСтроку(ТекстЗапроса,Счетчик); ТекСтрока=" "+СокрЛП(ТекСтрока)+" "; Если Счетчик=1 Тогда ВрТекстЗапроса=ВрТекстЗапроса+ТекСтрока; Иначе Если СокрЛП(ТекСтрока)<>"" Тогда ПереносСтрокиФоксПро="'"+CHR(13)+"'"; ВрТекстЗапроса=ВрТекстЗапроса+ПереносСтрокиФоксПро+ТекСтрока; КонецЕсли; КонецЕсли; КонецЦикла; ТекстЗапроса = ВрТекстЗапроса; ВрТекстЗапроса = ""; //Даты с "'" и с "[" не поддерживаются номпозиции=Найти(ТекстЗапроса,"{d"); // {d [2006-01-01]} Пока номпозиции<>0 Цикл Начало=Лев(ТекстЗапроса,номпозиции-1); ДатаПар=Сред(ТекстЗапроса,номпозиции+4,10); Конец=Сред(ТекстЗапроса,номпозиции+16); ТекстЗапроса=Начало+"{^ "+ДатаПар+"}"+Конец; номпозиции=Найти(ТекстЗапроса,"{d"); КонецЦикла; |
|||
52
Ёпрст
29.10.12
✎
09:50
|
Для начала, с чего уверенность, что в базе есть табличка RA2228_04 ???
|
|||
53
zling
29.10.12
✎
09:51
|
да есть, она не принадлежит правда к базе. Но обычным дбф запросом я к ней нормально обращаюсь
|
54 |
||
54
zling
29.10.12
✎
09:51
|
(53) + добавлена из внешней
|
|||
55
Ёпрст
29.10.12
✎
09:52
|
и вот эти
_1SJOURN_Old и вот эти _SC156_04 Ты их откуда взял ? |
|||
56
Ёпрст
29.10.12
✎
09:53
|
внешняя база и с такими именами табличек ?
И откуда она взялась ? |
|||
57
zling
29.10.12
✎
09:53
|
это еще одни таблички внешние. Простой дбф запрос (без врем. таблиц) их читает за милую душу
|
|||
58
zling
29.10.12
✎
09:53
|
это та же база, но старая
|
60 |
||
59
Ёпрст
29.10.12
✎
09:54
|
и в коде не видно, как ты обращаешься к табличками "чужой" базы - нужно как минимум, путь до таблички целиком в текст запроса пихать, либо использовать соединение с чужой базой.
|
|||
60
Ёпрст
29.10.12
✎
09:55
|
||||
61
zling
29.10.12
✎
09:55
|
впринципе начал было записывать инфу о внеш таблицах в
1Cv7.DD чтобы вытянуть sqllite |
64 |
||
62
Ёпрст
29.10.12
✎
09:55
|
вот и спрашиваю, откуда ты их взял ?
Это имена временных твоих табличек, или что ? |
|||
63
zling
29.10.12
✎
09:56
|
я имел ввиду, что это из архива этой же самой базы за старый период.
|
66 |
||
64
Ёпрст
29.10.12
✎
09:56
|
(61) а скульлайт то нафига нужен, при наличии фокса и запроса к сторонней базе ?
|
67 |
||
65
zling
29.10.12
✎
09:56
|
нет, это таблички с данными за старый период
|
|||
66
Ёпрст
29.10.12
✎
09:57
|
||||
67
zling
29.10.12
✎
09:57
|
(64) дык йо! былоб все просто с фоксом вытянул бы фоксом :)
|
69 |
||
68
Ёпрст
29.10.12
✎
09:58
|
Ответь на вопрос - откуда эти таблички, для начала.
|
|||
69
zling
29.10.12
✎
09:58
|
(67) они были скопированы из архива старой базы, переименованы
|
70 |
||
70
Ёпрст
29.10.12
✎
09:59
|
||||
71
zling
29.10.12
✎
10:00
|
ну да. А что не так то. Не объединять же их в одну
|
72 |
||
72
Ёпрст
29.10.12
✎
10:02
|
(71) п..ц
Нужно было всего то, написать обычный запрос к внешней базе, используя метапарсер и ПрисоединитьМД + в этом же запросе поиметь объекты ЭТОЙ базы, синхронизируя элементы с разных баз по какому либо реквизиту (или, если это копия базы - сразу типизировать к объектам этой базы) А не городить огород с временными табличками и с каким-то нелепым переименованием и копированием файлов. |
73 |
||
73
zling
29.10.12
✎
10:04
|
(72) обычный запрос без execscript вполне читает эти таблицы, проверял. Проблемы начинаются когда по запросу пользователя идет много union ов.
|
83 158 |
||
74
zling
29.10.12
✎
10:06
|
тогда мы натыкаемся на вышеописанное ограничение дбф запросов в 1024 символа в скомпил. виде
|
|||
75
zling
29.10.12
✎
10:06
|
в таком случае я хочу поместить их во внутр. таблицу, а потом объединить
|
|||
76
zling
29.10.12
✎
10:07
|
вот тут и начинаются траблы с execscript select into cursor
|
|||
77
zling
29.10.12
✎
10:10
|
Ёпрст4, скажите плиз, как без этих апострофов?
|
|||
78
zling
29.10.12
✎
10:14
|
к настоящей (родной) таблице базы тоже самое
ТекстЗапроса="EXECSCRIPT('SELECT * INTO CURSOR TmpTable1 NOFILTER FROM ( ' |' SELECT ' |'РегПродажа_04_4.SP2222 AS Себест' |' FROM ' |' RA2228 as РегПродажа_04_4 ' |') AS WW ')"; ICommandText::Execute(): Function name is missing ). так все нормально ТекстЗапроса="EXECSCRIPT('SELECT * INTO CURSOR TmpTable1 NOFILTER FROM ( SELECT РегПродажа_04_4.SP2222 AS Себест FROM RA2228 as РегПродажа_04_4 ) AS WW ')"; (одной строкой) и так тоже (а это не родная таблица) ТекстЗапроса="EXECSCRIPT('SELECT * INTO CURSOR TmpTable1 NOFILTER FROM ( SELECT РегПродажа_04_4.SP2222 AS Себест FROM _RA2228_04 as РегПродажа_04_4 ) AS WW ')"; |
|||
79
zling
29.10.12
✎
10:18
|
опять же от амперсантов просто так избавиться не могу, ибо текст не тестового запроса не уложится в 250 символов
|
|||
80
Ёпрст
29.10.12
✎
10:22
|
http://zalil.ru/33901757
на вот , пример запроса к внешней базе с синхронизацией по коду + укладывание его во временную ТЗ. |
|||
81
Ёпрст
29.10.12
✎
10:22
|
и выкинь ты свои переименованыные файлы куда подальше.
|
|||
82
Ёпрст
29.10.12
✎
10:23
|
пользуй метапарсер и наслаждайся.
|
|||
83
zling
29.10.12
✎
10:35
|
седня не мой день :(
\_ЗАПРОСКВНЕШНЕЙБАЗЕСИНХРОНИЗАЦИЯПОКОДУ.ERT(73)}: FAILED! ICommandText::Execute(): Syntax error. |
84 |
||
84
Ёпрст
29.10.12
✎
10:36
|
(83) покажи, какой текст запроса пихаешь
|
|||
85
Ёпрст
29.10.12
✎
10:36
|
или тупо мою поделку запустил ?
Если да, то 1cpp какой версии ? оледб, какой версии ? |
|||
86
Ёпрст
29.10.12
✎
10:38
|
||||
87
zling
29.10.12
✎
10:39
|
все из этой ветки самое свежее
|
|||
88
zling
29.10.12
✎
10:40
|
я кстати был неправ насчет описки на сайте (37)
|
|||
89
zling
29.10.12
✎
10:41
|
именно все это, и фокспро и 1с++
|
|||
90
Ёпрст
29.10.12
✎
10:43
|
Тогда моя поделка должна работать, запрос в монопольном режиме выполняешь ?
Если да, заплатка от hogik стоит ? |
|||
91
zling
29.10.12
✎
10:48
|
нет не в мономпольном, остальные выполняются. Есть какой-нить метод, прочитать версию 1с++?
|
92 |
||
92
Ёпрст
29.10.12
✎
10:49
|
||||
93
zling
29.10.12
✎
10:59
|
интересно блин, еще раз заменил 1cpp.dll в bin на свежескачанную и ваша тестовая обработка
глОлеДБ = СоздатьОбъект("OLEDBData"); {D:\1C BASES\zzzzzzzzzzzz\EXTFORMS\_ЗАПРОСКВНЕШНЕЙБАЗЕСИНХРОНИЗАЦИЯПОКОДУ.ERT(125)}: Неудачная попытка создания объекта (OLEDBData) |
94 |
||
94
Ёпрст
29.10.12
✎
11:04
|
(93) 1cpp Не загружена.. и всего лишь.
ЗЫ: смотри, что в каталогиИБ валяется еще и в папке пользователя. |
|||
95
zling
29.10.12
✎
11:07
|
Процедура ПриОткрытии()
Попытка Путь = КаталогИБ(); Путь = Путь + ?(Прав(Путь,1)="\","","\"); ЗагрузитьВнешнююКомпоненту(Путь+"1cpp.dll"); Сообщить("1с++ загружена"); Исключение Сообщить("не удалось загрузить 1с++"); Возврат; КонецПопытки; глОлеДБ = СоздатьОбъект("OLEDBData"); 1с++ загружена глОлеДБ = СоздатьОбъект("OLEDBData"); {D:\1C BASES\qqqqqqqqqqqqqq\EXTFORMS\_ЗАПРОСКВНЕШНЕЙБАЗЕСИНХРОНИЗАЦИЯПОКОДУ.ERT(126)}: Неудачная попытка создания объекта (OLEDBData) |
|||
96
zling
29.10.12
✎
11:08
|
regsvr32 на win 7 не выполняется
|
98 |
||
97
zling
29.10.12
✎
11:14
|
при начале работы системы указал, все норм, версия 3.2, но обработка не выполняется Х)
|
|||
98
Ёпрст
29.10.12
✎
11:14
|
(96) Ё...
1.1cpp сто лет в обед не требует регистрации в реестре 2.судя по ошибке, 1срр не загружена |
|||
99
zling
29.10.12
✎
11:15
|
FAILED! ICommandText::Execute(): Syntax error.
|
|||
100
Ёпрст
29.10.12
✎
11:16
|
3. ЗагрузитьВнешнююКомпоненту пихать в попытку не имеет смысла - это ФУНКЦИЯ, которая возвращает, загружена ВК или нет, Исключения там никогда не будет.
|
|||
101
Ёпрст
29.10.12
✎
11:16
|
Что написано в Меню "О программе" ?
|
|||
102
1Сергей
29.10.12
✎
11:19
|
я так и не понял. База точно файловая?
|
|||
103
zling
29.10.12
✎
11:20
|
да, куда загрузить картинку лучше?
|
|||
104
Ёпрст
29.10.12
✎
11:21
|
||||
105
zling
29.10.12
✎
11:27
|
||||
106
Ёпрст
29.10.12
✎
11:28
|
И.. ?
|
|||
107
zling
29.10.12
✎
11:30
|
||||
108
zling
29.10.12
✎
11:32
|
EXECSCRIPT('SELECT * INTO CURSOR Вася NOFILTER from ( '+
' SELECT '+ ' СпрНаш.DESCR as КлиентосВЭтойбазе '+ ' ,Спр.DESCR as КлиентосВУдаленнойБазе '+ ' FROM sc134 СпрНаш '+ ' left join D:\1C bases\xxxxxxxxxxx\torg92\sc134 Спр on СпрНаш.Code = Спр.Code )as WW ') |
|||
109
Ёпрст
29.10.12
✎
11:34
|
И.. точно не в монопольном режиме ?
И точно в обеих базах есть справочник.Контрагенты ? И что пишет это ? ОлеДБКоманда.Отладка(1) ? |
|||
110
Ёпрст
29.10.12
✎
11:35
|
и точно, что установлен vfp из ссылки выше ?
|
113 |
||
111
zling
29.10.12
✎
11:36
|
а в ссылке из майкрософта файлик vfpoledb.msm - чисто вспомогательный, или его тоже куда закидывать нужно?
|
|||
112
Ёпрст
29.10.12
✎
11:36
|
покажи вкладочку с предприятием
|
|||
113
zling
29.10.12
✎
11:36
|
(110) ну да
|
|||
114
Ёпрст
29.10.12
✎
11:36
|
что значит чисто вспомогательный ?!
Это установщик |
|||
115
zling
29.10.12
✎
11:37
|
msi - установщик
|
|||
116
Ёпрст
29.10.12
✎
11:37
|
VFPOLEDBSetup.msi нужен вот этот.. + рестарт компа потом
|
|||
117
zling
29.10.12
✎
11:39
|
http://s1.ipicture.ru/uploads/20121029/G3UgJPFH.png предприятие. Ща перезагружусь
|
|||
118
zling
29.10.12
✎
11:54
|
все тож самое
FAILED! ICommandText::Execute(): Syntax error. |
|||
119
Ёпрст
29.10.12
✎
11:56
|
не верю.
:) |
149 |
||
120
Ёпрст
29.10.12
✎
11:56
|
проверил на 2008 - усё работате
|
|||
121
zling
29.10.12
✎
11:56
|
я тоже :)
|
|||
122
Ёпрст
29.10.12
✎
11:57
|
нет 7-ки под рукой, думаю, там тоже усё работате.
Без помещения во временную ТЗ работает ? Если да, то права на запись в каталогИБ есть ? |
|||
123
zling
29.10.12
✎
11:57
|
грю не мой день :) у меня ща бубен отрастет х)
|
|||
124
Ёпрст
29.10.12
✎
11:57
|
именно туда "складываются" псевдо-временные файлы.
|
|||
125
zling
29.10.12
✎
12:00
|
значение сортировки в самой базе как нибудь влияют?
|
93 |
||
126
Ёпрст
29.10.12
✎
12:03
|
влияет.. но в данном запросе - нет
|
95 |
||
127
Ёпрст
29.10.12
✎
12:04
|
вот так то хоть работает ?
//СоздатьВременнуюТаблицу(ТекстЗапроса,"Вася"); //Возврат ОлеДБКоманда.ВыполнитьИнструкцию("select * from Вася"); Возврат ОлеДБКоманда.ВыполнитьИнструкцию(ТекстЗапроса); |
132 |
||
128
Ёпрст
29.10.12
✎
12:05
|
+ убери из текста запроса все комментарии (то что с -- )
|
|||
129
zling
29.10.12
✎
12:06
|
ща
|
|||
130
zling
29.10.12
✎
12:08
|
ТЗ = ОлеДБКоманда.ВыполнитьИнструкцию("EXECSCRIPT('SELECT * INTO "+ТипТабл+" "+
ИмяВременнойТаблицы+" "+ДобПар+" from (SELECT СпрНаш.DESCR as КлиентосВЭтойбазе ,Спр.DESCR as КлиентосВУдаленнойБазе FROM $Справочник.Контрагенты СпрНаш left join База2.@Справочник.Контрагенты Спр on СпрНаш.Code = Спр.Code) as WW ') "); ошибка уже другая CommandText::Execute(): File '$справочник.контрагенты' does not exist. |
131 |
||
131
Ёпрст
29.10.12
✎
12:09
|
(130) ну круто, в базе нет справочник.Контрагенты у тебя.
|
|||
132
Ёпрст
29.10.12
✎
12:09
|
и (127) проверил ?
|
|||
133
zling
29.10.12
✎
12:11
|
так
//СоздатьВременнуюТаблицу(ТекстЗапроса,"Вася"); //Возврат ОлеДБКоманда.ВыполнитьИнструкцию("select * from Вася"); Возврат ОлеДБКоманда.ВыполнитьИнструкцию(ТекстЗапроса); и без коментариев не работает |
|||
134
zling
29.10.12
✎
12:11
|
без коменнтов в тексте запроса
|
|||
135
zling
29.10.12
✎
12:12
|
ОлеДБКоманда = глОлеДБ.СоздатьКоманду();
ТекстЗапроса = " |SELECT | СпрНаш.DESCR as КлиентосВЭтойбазе | ,Спр.DESCR as КлиентосВУдаленнойБазе |FROM $Справочник.Контрагенты СпрНаш |left join База2.@Справочник.Контрагенты Спр on СпрНаш.Code = Спр.Code |"; глПарсерВторойБазы(ТекстЗапроса,"База2",ПутьКБазе2); ТекстЗапроса=СтрЗаменить(ТекстЗапроса,"*",":"); //СоздатьВременнуюТаблицу(ТекстЗапроса,"Вася"); //Возврат ОлеДБКоманда.ВыполнитьИнструкцию("select * from Вася"); Возврат ОлеДБКоманда.ВыполнитьИнструкцию(ТекстЗапроса); FAILED! ICommandText::Execute(): Syntax error. |
|||
136
zling
29.10.12
✎
12:13
|
спр.Контрагенты есть
|
|||
137
Ёпрст
29.10.12
✎
12:13
|
хрень какая то, а так ?
Возврат ОлеДБКоманда.ВыполнитьИнструкцию("select * from $Справочник.Контрагенты"); |
138 |
||
138
zling
29.10.12
✎
12:14
|
(137) выполняет
|
|||
139
zling
29.10.12
✎
12:15
|
win 7 home edition - глючная скатина, может из-за нее?
|
141 |
||
140
Ёпрст
29.10.12
✎
12:16
|
а так ?
ТекстЗапроса = " |SELECT * |from База2.@Справочник.Контрагенты"; глПарсерВторойБазы(ТекстЗапроса,"База2",ПутьКБазе2); Возврат ОлеДБКоманда.ВыполнитьИнструкцию(ТекстЗапроса); |
|||
141
Ёпрст
29.10.12
✎
12:17
|
(139) надеюсь, 1с-ина у тебя не портабл версия ?!
|
|||
142
Ёпрст
29.10.12
✎
12:17
|
она не дружит с вк
|
|||
143
zling
29.10.12
✎
12:17
|
сетевая все компоненты
|
|||
144
zling
29.10.12
✎
12:18
|
портабл - это что?
|
146 |
||
145
zling
29.10.12
✎
12:19
|
Command contains unrecognized phrase/keyword
|
|||
146
Ёпрст
29.10.12
✎
12:20
|
(144) это отвязанная от винды версия платформы без установщика
|
|||
147
zling
29.10.12
✎
12:20
|
щас типовуху скачаю откуда-нибудь
|
|||
148
Ёпрст
29.10.12
✎
12:21
|
а так, что пишет ?
ТекстЗапроса = " |SELECT * |from База2.@Справочник.Контрагенты"; глПарсерВторойБазы(ТекстЗапроса,"База2",ПутьКБазе2); ОлеДБКоманда.Отладка(1); Возврат ОлеДБКоманда.ВыполнитьИнструкцию(ТекстЗапроса); |
|||
149
zling
29.10.12
✎
12:24
|
SELECT *
from D:\1C bases\xxxxxxxxxxx\torg92\sc134 Возврат ОлеДБКоманда.ВыполнитьИнструкцию(ТекстЗапроса); {D:\1C BASES\FIESTA-2010\FIESTA-2010\EXTFORMS\_ЗАПРОСКВНЕШНЕЙБАЗЕСИНХРОНИЗАЦИЯПОКОДУ.ERT(119)}: FAILED! ICommandText::Execute(): Command contains unrecognized phrase/keyword. |
150 |
||
150
Salimbek
29.10.12
✎
12:27
|
(149) Все дело в пробеле пути к базе?
|
151 152 |
||
151
Ёпрст
29.10.12
✎
12:28
|
(150) скорее всего
|
|||
152
zling
29.10.12
✎
12:28
|
(150) кстати возможно, а можно как нибудь обойти, типа []?
|
154 |
||
153
Ёпрст
29.10.12
✎
12:29
|
можно попробовать в [] взять такой путь к табличке.
|
|||
154
Ёпрст
29.10.12
✎
12:29
|
(152) пробуй.
|
|||
155
zling
29.10.12
✎
12:33
|
да, выполнилась )))
|
|||
156
Ёпрст
29.10.12
✎
12:34
|
Вот, теперь с временной тоже должно работать..
ну и.. можешь хоть к 10 базам в одном запросе обращаться |
|||
157
zling
29.10.12
✎
12:37
|
щас
|
|||
158
zling
29.10.12
✎
12:39
|
ТЗ = ОлеДБКоманда.ВыполнитьИнструкцию("EXECSCRIPT('SELECT * INTO "+ТипТабл+" "+
{D:\1C\F2010\_ЗАПРОСКВНЕШНЕЙБАЗЕСИНХРОНИЗАЦИЯПОКОДУ.ERT(73)}: FAILED! ICommandText::Execute(): Cannot open file d:\1c\f2010\f2010\sc134.dbf. |
159 |
||
159
Ёпрст
29.10.12
✎
12:40
|
(158) монопольно выполняешь ?
:) |
|||
160
zling
29.10.12
✎
12:40
|
все нормально!!!
|
|||
161
zling
29.10.12
✎
12:41
|
ура!!!
|
|||
162
zling
29.10.12
✎
12:41
|
Ребята, спасибо большое.
|
|||
163
zling
29.10.12
✎
12:43
|
могу на пиво/морожное на яндекс или веб мани немного кинуть, хотя конечно Ёпрст4 и kiruha потратили время намного больше. Кидайте реквизиты :)
|
|||
164
zling
29.10.12
✎
12:46
|
Salimbek тоже спасибо :)
|
168 |
||
165
zling
29.10.12
✎
12:47
|
И КонецЦикла
|
|||
166
Ёпрст
29.10.12
✎
12:48
|
в личке всё есть
|
|||
167
zling
29.10.12
✎
12:50
|
ок
|
|||
168
Salimbek
29.10.12
✎
13:52
|
(164) На здоровье...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |