|
Оптимизация запроса. | ☑ | ||
---|---|---|---|---|
0
raytan
16.12.15
✎
11:32
|
Есть отчет написанный на СКД. Оборотная ведомость по МЦ. На тестовой базе отрабатывает правильно. Но загрузив его на реальную, столкнулся с ошибкой:
Ошибка выполнения запроса по причине: Недостаточно свободной памяти на сервере 1С:Предприятия. Сам запрос: ВЫБРАТЬ ПартииТоваровНаСкладах.Склад, ПартииТоваровНаСкладах.Склад.Код КАК СкладКод, ПартииТоваровНаСкладах.Номенклатура, ПартииТоваровНаСкладах.Номенклатура.НоменклатурныйНомер КАК КодМЦ, ПартииТоваровНаСкладах.СерияНоменклатуры КАК Серия, ПартииТоваровНаСкладах.Регистратор КАК ДокументДвижения, ПартииТоваровНаСкладах.Регистратор.Номер КАК НомерДокумента, ВЫРАЗИТЬ(ВЫБОР КОГДА ПартииТоваровНаСкладахЦена.Количество <> 0 ТОГДА ПартииТоваровНаСкладахЦена.Стоимость / ПартииТоваровНаСкладахЦена.Количество ИНАЧЕ 0 КОНЕЦ КАК ЧИСЛО(15, 0)) КАК Цена, ВЫБОР КОГДА ПартииТоваровНаСкладах.ВидДвижения = &ВидДвижения ТОГДА ВЫБОР КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ВозвратТоваровПоставщику ИЛИ ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ИЛИ ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ПередачаТоваров ТОГДА ПартииТоваровНаСкладах.Регистратор.Контрагент КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ТребованиеНакладная ТОГДА ПартииТоваровНаСкладах.Регистратор.Подразделение КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ПеремещениеТоваров ТОГДА ПартииТоваровНаСкладах.Регистратор.СкладПолучатель КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ПередачаМатериаловВЭксплуатацию ТОГДА ПартииТоваровНаСкладах.Регистратор.Кладовая ИНАЧЕ "" КОНЕЦ ИНАЧЕ ВЫБОР КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг ТОГДА ПартииТоваровНаСкладах.Регистратор.Контрагент КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ОприходованиеТоваров ТОГДА ПартииТоваровНаСкладах.Регистратор.Подразделение КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ПеремещениеТоваров ТОГДА ПартииТоваровНаСкладах.Регистратор.СкладОтправитель КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.АвансовыйОтчет ТОГДА ПартииТоваровНаСкладах.Регистратор.ФизЛицо ИНАЧЕ "" КОНЕЦ КОНЕЦ КАК ПоставщикПолучатель, ВЫБОР КОГДА ПартииТоваровНаСкладах.ВидДвижения = &ВидДвижения ТОГДА ВЫБОР КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ВозвратТоваровПоставщику ИЛИ ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ИЛИ ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ПередачаТоваров ТОГДА СправочникШФД.КодКл КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ТребованиеНакладная ТОГДА ПартииТоваровНаСкладах.Регистратор.Подразделение.ВнешнийКод КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ПеремещениеТоваров ТОГДА ПартииТоваровНаСкладах.Регистратор.СкладПолучатель.Код КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ПередачаМатериаловВЭксплуатацию ТОГДА ПартииТоваровНаСкладах.Регистратор.Кладовая.Код ИНАЧЕ "" КОНЕЦ ИНАЧЕ ВЫБОР КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг ТОГДА СправочникШФД.КодКл КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ОприходованиеТоваров ТОГДА ПартииТоваровНаСкладах.Регистратор.Подразделение.ВнешнийКод КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ПеремещениеТоваров ТОГДА ПартииТоваровНаСкладах.Регистратор.СкладОтправитель.Код КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.АвансовыйОтчет ТОГДА "" ИНАЧЕ "" КОНЕЦ КОНЕЦ КАК КодПоставщикаПолучателя, ПартииТоваровНаСкладах.ДокументОприходования КАК ДокументПартии, ПартииТоваровНаСкладах.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения, ВЫБОР КОГДА ПартииТоваровНаСкладах.ВидДвижения = &ВидДвижения ТОГДА ПартииТоваровНаСкладах.Количество ИНАЧЕ 0 КОНЕЦ КАК РасходКоличество, ВЫБОР КОГДА ПартииТоваровНаСкладах.ВидДвижения = &ВидДвижения ТОГДА ПартииТоваровНаСкладах.Стоимость ИНАЧЕ 0 КОНЕЦ КАК РасходСумма, ВЫБОР КОГДА ПартииТоваровНаСкладах.ВидДвижения <> &ВидДвижения ТОГДА ПартииТоваровНаСкладах.Количество ИНАЧЕ 0 КОНЕЦ КАК ПриходКоличество, ВЫБОР КОГДА ПартииТоваровНаСкладах.ВидДвижения <> &ВидДвижения ТОГДА ВЫБОР КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг ТОГДА ПартииТоваровНаСкладахЦена.Стоимость ИНАЧЕ ПартииТоваровНаСкладах.Стоимость КОНЕЦ ИНАЧЕ 0 КОНЕЦ КАК ПриходСумма, ПартииТоваровНаСкладах.Номенклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору.Код КАК КодЕдиницыИзмерения, ПартииТоваровНаСкладах.Номенклатура.ОКП.Счет.Код КАК СчетУчетаКод, ПартииТоваровНаСкладах.Номенклатура.ОКП.Счет КАК СчетУчета, ПартииТоваровНаСкладах.Склад.Склад КАК ВидСклада, ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачалоОстатокКоличество, ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонецОстатокКоличество, ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток КАК НачалоОстатокСумма, ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток КАК КонецОстатокСумма ИЗ РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ШФД КАК СправочникШФД ПО ПартииТоваровНаСкладах.Регистратор.Контрагент = СправочникШФД.Владелец ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПартииТоваровНаСкладах.ДокументОприходования КАК ДокументОприходования, СУММА(ПартииТоваровНаСкладах.Количество) КАК Количество, СУММА(ПартииТоваровНаСкладах.Стоимость) КАК Стоимость, ПартииТоваровНаСкладах.СерияНоменклатуры КАК СерияНоменклатуры, ПартииТоваровНаСкладах.Номенклатура КАК Номенклатура ИЗ РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах ГДЕ (ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладах.Регистратор) = ТИП(Документ.ГТДИмпорт) ИЛИ ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладах.Регистратор) = ТИП(Документ.ПоступлениеТоваровУслуг) ИЛИ ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладах.Регистратор) = ТИП(Документ.ПоступлениеДопРасходов) ИЛИ ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.АвансовыйОтчет ИЛИ ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ОприходованиеТоваров) СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладах.ДокументОприходования, ПартииТоваровНаСкладах.СерияНоменклатуры, ПартииТоваровНаСкладах.Номенклатура) КАК ПартииТоваровНаСкладахЦена ПО ПартииТоваровНаСкладах.Номенклатура = ПартииТоваровНаСкладахЦена.Номенклатура И ПартииТоваровНаСкладах.СерияНоменклатуры = ПартииТоваровНаСкладахЦена.СерияНоменклатуры И ПартииТоваровНаСкладах.ДокументОприходования = ПартииТоваровНаСкладахЦена.ДокументОприходования ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Период, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты ПО ПартииТоваровНаСкладах.Номенклатура = ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура И ПартииТоваровНаСкладах.СерияНоменклатуры = ПартииТоваровНаСкладахОстаткиИОбороты.СерияНоменклатуры И ПартииТоваровНаСкладах.ДокументОприходования = ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования ГДЕ ПартииТоваровНаСкладах.Период <= &КонецПериода И ПартииТоваровНаСкладах.Период >= &НачалоПериода И ВЫБОР КОГДА &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ИЛИ &Склад = НЕОПРЕДЕЛЕНО ТОГДА ИСТИНА ИНАЧЕ ПартииТоваровНаСкладах.Склад = &Склад КОНЕЦ И ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладах.Регистратор) <> ТИП(Документ.ГТДИмпорт) И ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладах.Регистратор) <> ТИП(Документ.ПоступлениеДопРасходов) Перепробовал кучу различных вариантов. В любом случае или выдает ошибку или просто виснет. Даже попробовал отдельно на сервере получать таблицу значений из оборотов и вторую таблицу с регистром накопления и ценами. Потом помещал в 2 объекта в СКД и уже там соединял в связях. Не помогло. Может у кого появятся мысли по оптимизации ? Может как то по другому можно получить остатки ? Еще уточню, что ошибку выдает только на тот месяц, где наибольшее движений по товару. За другие отрабатывает нормально. |
|||
1
livingstone
16.12.15
✎
11:41
|
Полностью в запрос не вдавался, заметил следующее:
|
|||
2
ObjectRelation Model
16.12.15
✎
11:44
|
почему нет виртуальных таблиц?
|
|||
3
NcSteel
16.12.15
✎
11:44
|
(0) Первое что приходит на ум это рекомендации из книги знаний 1С... Перепишите запрос под эти рекомендации.
А лучше всего посмотрите план запроса. |
|||
4
NcSteel
16.12.15
✎
11:44
|
(2) А зачем они?
|
|||
5
livingstone
16.12.15
✎
11:45
|
1. ПартииТоваровНаСкладах.Регистратор.Контрагент
Нужно обращаться к полям составного типа через "Выразить" Т.е. у тебя: КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ТребованиеНакладная ТОГДА ПартииТоваровНаСкладах.Регистратор.Подразделение Нужно КОГДА ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ТребованиеНакладная Тогда ВЫРАЗИТЬ(ПартииТоваровНаСкладах.Регистратор КАК Документ.ТребованиеНакладная ).Контрагент КАК Контрагент |
|||
6
NcSteel
16.12.15
✎
11:45
|
(4) Особенно с учетом: ПартииТоваровНаСкладах.Регистратор
виртуальные таблицу могут только навредить... но опять же надо учитывать (3) |
|||
7
livingstone
16.12.15
✎
11:46
|
тоже самое в условиях соединения запроса, иначе там куча соединений наваяется.
|
|||
8
NcSteel
16.12.15
✎
11:46
|
(5) Там еще много чего, и соединение с виртуальными таблицами и использование ИЛИ в условии, и Выбор Когда...
|
|||
9
Nuobu
16.12.15
✎
11:47
|
(2) Есть же: ОстаткиИОбоороты.
|
|||
10
NcSteel
16.12.15
✎
11:48
|
(7) Что то не нашел в исловиях соединения обращение через точку.
|
|||
11
viktor_vv
16.12.15
✎
11:48
|
Как по мне так основную таблицу через виртуальную и в параметры загнать период и склад, может даже и во временную загнать.
|
|||
12
Nuobu
16.12.15
✎
11:48
|
И ВЫБОР
КОГДА &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ИЛИ &Склад = НЕОПРЕДЕЛЕНО ТОГДА ИСТИНА ИНАЧЕ ПартииТоваровНаСкладах.Склад = &Склад КОНЕЦ Можно так написать: {ГдЕ ПартииТоваровНаСкладах.Склад = &Склад} |
|||
13
NcSteel
16.12.15
✎
11:48
|
(9) Если говорить о таблице с псевдонимом ПартииТоваровНаСкладах, то сомнительное решение перевод его на виртуальные таблицы.
|
|||
14
NcSteel
16.12.15
✎
11:49
|
(11) рукалицо.... зачем? ... ну посмотрите же план запроса.
|
|||
15
Nuobu
16.12.15
✎
11:50
|
(ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладах.Регистратор) = ТИП(Документ.ГТДИмпорт)
ИЛИ ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладах.Регистратор) = ТИП(Документ.ПоступлениеТоваровУслуг) ИЛИ ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладах.Регистратор) = ТИП(Документ.ПоступлениеДопРасходов) ИЛИ ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.АвансовыйОтчет ИЛИ ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ОприходованиеТоваров) От этого нужно тоже избавиться. Можешь сделать объединением, а можно через ТипЗначения В (СписокТипов) |
|||
16
NcSteel
16.12.15
✎
11:50
|
(15) В это тоже ИЛИ, так что лучшее решение это объдинение.
|
|||
17
raytan
16.12.15
✎
11:51
|
(5) хорошо это сделаю
|
|||
18
NcSteel
16.12.15
✎
11:52
|
(17) Правильно, и зачем тебе столько Выбор Когда, некошерный он )
|
|||
19
Nuobu
16.12.15
✎
11:52
|
Ну и самое первое, что нужно сделать:
Вынеси сначала основную таблицу во Временную таблицу, наложи отборы всякие там, а уже потом фигач к ней левым соединением остальные данные. |
|||
20
raytan
16.12.15
✎
11:53
|
(16) Оператор "В" это тот же ИЛИ как я понимаю, так что надо наверное подумать насчет объеденения
|
|||
21
NcSteel
16.12.15
✎
11:54
|
(20) Я это и написал ))))
|
|||
22
raytan
16.12.15
✎
11:54
|
(19) а разве не что то подобное было, когда я отдельно на сервере делал запрос, помещал в ТЗ, а потом уже ее в объект СКД ?
|
|||
23
NcSteel
16.12.15
✎
11:56
|
(22) Нет, Если ты делал запрос а потом помещал ее в ТЗ, то временная таблицы хранится на Сервере 1С, то есть тратится время на перенос контекста. Если речь о Запросах, так лучше не прыгать от скуля к серверу 1С и обратно, лучше делать временные таблицы на скуле.
|
|||
24
NcSteel
16.12.15
✎
11:57
|
(23) + В большинстве случаев это всеровно копеечные затраты по сравнению с ИЛИ и обращением через точку.
|
|||
25
Nuobu
16.12.15
✎
11:57
|
(22) Я тебе не о том:
ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток КАК КонецОстатокСумма ИЗ РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ШФД КАК СправочникШФД ПО ПартииТоваровНаСкладах.Регистратор.Контрагент = СправочникШФД.Владелец ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЗапрослевыеСоединениявсякие . . . ГДЕ ПартииТоваровНаСкладах.Период <= &КонецПериода И ПартииТоваровНаСкладах.Период >= &НачалоПериода И ВЫБОР КОГДА &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ИЛИ &Склад = НЕОПРЕДЕЛЕНО ТОГДА ИСТИНА ИНАЧЕ ПартииТоваровНаСкладах.Склад = &Склад КОНЕЦ И ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладах.Регистратор) <> ТИП(Документ.ГТДИмпорт) И ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладах.Регистратор) <> ТИП(Документ.ПоступлениеДопРасходов) Переделай на такое: Выбрать * Поместить ВТПартииОсновнаяТаблица ИЗ РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах ; Выбрать * ИЗ ВТПартииОсновнаяТаблица КАК ПартииТоваровНаСкладах ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ШФД КАК СправочникШФД ПО ПартииТоваровНаСкладах.Регистратор.Контрагент = СправочникШФД.Владелец ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ |
|||
26
Nuobu
16.12.15
✎
11:58
|
Выбрать
* Поместить ВТПартииОсновнаяТаблица ИЗ РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах + ГДЕ ПартииТоваровНаСкладах.Период <= &КонецПериода И ПартииТоваровНаСкладах.Период >= &НачалоПериода И ВЫБОР КОГДА &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ИЛИ &Склад = НЕОПРЕДЕЛЕНО ТОГДА ИСТИНА ИНАЧЕ ПартииТоваровНаСкладах.Склад = &Склад КОНЕЦ И ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладах.Регистратор) <> ТИП(Документ.ГТДИмпорт) И ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладах.Регистратор) <> ТИП(Документ.ПоступлениеДопРасходов) |
|||
27
raytan
16.12.15
✎
11:59
|
(26) хорошо, попробую так сделать
|
|||
28
raytan
16.12.15
✎
12:00
|
(26) имеет ли смысл помещать во ВТ остаткиИОбороты ?
|
|||
29
NcSteel
16.12.15
✎
12:05
|
(28) Должна быть допустимая граница оптимизации, я бы на твоем месте бурал бы явные ошибки, а это обращение через точку (добавил бы Выразить).
И если не помогло, то уже кроить запрос на временные таблицы и через Объединить |
|||
30
raytan
16.12.15
✎
12:10
|
(29) да, спасибо. Сейчас подумал и кажется, что именно в этом проблема. Так как там может быть очень много регистраторов.
|
|||
31
sash-ml
16.12.15
✎
12:14
|
все регистраторы за период выбрать в отдельную ВТ
выбрать р.Номер как Номер р.Контаргент как ПоставщикПолучатель из Документ.РеализацияТоваровУслуг как р объединить ВСЕ выбрать р.Номер как Номер р.СкладПолучатель как ПоставщикПолучатель из Документ.ПеремещениеТоваров как р объединить все выбрать .... потом внутреннее соединение с регистром по регистратору, |
|||
32
NcSteel
16.12.15
✎
12:15
|
(31) нафуя непонятно.
|
|||
33
ptiz
16.12.15
✎
12:26
|
(0)
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ... ИЗ РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах) Жуть какая... Да и логика странная - нужна средняя цена прихода за всю историю работы базы? |
|||
34
ptiz
16.12.15
✎
12:28
|
Ну и на кой черт нужна таблица
РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Период, , ) Если из неё берется только конечный остаток? |
|||
35
raytan
16.12.15
✎
12:32
|
(33) не средняя цена. Просто цена равна = то что заплатили поставщику + (например) доставка + (например) таможенный сбор / на количество товара
|
|||
36
raytan
16.12.15
✎
12:35
|
(34) из ОстаткиИОбороты нполучаю начальные и конечные остатки за период. Если можно их получить более экономно/ то буду благодарен за совет :)
|
|||
37
Nuobu
16.12.15
✎
12:39
|
(36) Два раза получить остатки.
|
|||
38
NcSteel
16.12.15
✎
12:40
|
(37) +1 Это кошернее.
|
|||
39
ptiz
16.12.15
✎
12:44
|
(35) Ладно. Не углубляясь в логику.
Пакетный запрос. 1) Получаешь движения за период 2) Получаешь свою цену, но ставишь в этом пакете отбор: Номенклатура В(ВЫБРАТЬ Номенклатура из ТаблицаПакета1) И ДокументОприходования В(ВЫБРАТЬ ДокументОприходования из ТаблицаПакета1) 3) Получаешь остатки на начало таблицей .Остатки() 4) Получаешь остатки на конец таблицей .Остатки() 5) Всё это соединяешь |
|||
40
SimpleOne
16.12.15
✎
13:09
|
Запрос конечно полный ахтунг, но проблема,судя по всему, не в том, что запрос кривой и медленно выполняется, а в том, что возвращает объем данных больше 2 гигов, так что сделай группировку и поставь отборы.
|
|||
41
raytan
16.12.15
✎
13:10
|
(5) + (39) хорошо. Наверное должно получится
|
|||
42
raytan
17.12.15
✎
13:22
|
(39) сделал как посоветовали. Спасибо :)
Но по прежнему присутствует проблема. В базу недавно загружали движения. И получилось, что в одном месяце 100 тысяч записей. При выполнении запроса в консоли запросов данные получаю. Но при выводе отчета на СКД система виснет и не хватает памяти. Возможно это как то решить ? Так ли уж много для отчета 100 тысяч строк ? |
|||
43
Kolyasik
17.12.15
✎
13:43
|
(42) зачем отчет на 100к строк, ты их все крыжить будешь? %)
|
|||
44
Kolyasik
17.12.15
✎
13:44
|
(0) от регистратора берешь дофига реквизитов, даже одного дофига, юзай выразить
|
|||
45
raytan
17.12.15
✎
13:57
|
(44) не получается показать итоговый запрос. Да, я уже использую выразить. Постарался максимально воспользоваться советами из топика
|
|||
46
raytan
17.12.15
✎
13:58
|
(43) Загружаем данные, в дальнейшем конечно в отчетах будет меньше строк. Думаю до 1000. Но все равно столнулся с такой проблемой и хотелось бы ее решить.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |