Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
29 Мар 2017, 18:11
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Тормозит при проведении  (Прочитано 963 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн akaipbay

  • *
  • Сообщений: 24
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-04-25
    • Skype: akaipbay
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день!

Подскажите пожалуйста, при проведении документа есть такой запрос (ниже). Он очень долго Выполняется(), в чем может быть причина? Как его можно оптимизировать или ускорить подскажите?

Процедура ЗаполнитьТаблицуОстатковНДС(ДатаК,Склад,СписСчетов,тбОстСтатей) экспорт
зпОст = новый Запрос;
текстОст =
"ВЫБРАТЬ
| ВложНДС.Счет,
| ВложНДС.Склад,
| ВложНДС.СтатьяЗатрат,
| ВложНДС.ОстНДС,
| ВложСчета.ОстатокСтатьи,
| ВЫБОР
| КОГДА ЕСТЬNULL(ВложСчета.ОстатокСтатьи, 0) = 0
| ТОГДА 0
| ИНАЧЕ ВложНДС.ОстНДС / ВложСчета.ОстатокСтатьи
| КОНЕЦ КАК коэфф,
| ВложНДС.КолОстНДС
|ИЗ
| (ВЫБРАТЬ
| УслНДС_ОИОб.Счет КАК Счет,
| УслНДС_ОИОб.Склад КАК Склад,
| УслНДС_ОИОб.СтатьяЗатрат КАК СтатьяЗатрат,
| СУММА(НАК_УслНДС_ОИОб.СуммаНДСНачальныйОстаток + УслНДС_ОИОб.СуммаНДСПриход) КАК ОстНДС,
| СУММА(НАК_УслНДС_ОИОб.КоличествоНачальныйОстаток + УслНДС_ОИОб.КоличествоПриход) КАК КолОстНДС
| ИЗ
| РегистрНакопления.УслугиПроизводствоНДС.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Период, , Счет В ИЕРАРХИИ (&СписСчетов)) КАК НАК_УслНДС_ОИОб
| ГДЕ
| ВЫБОР
| КОГДА &Склад <> 0
| ТОГДА УслНДС_ОИОб.Склад = &Склад
| ИНАЧЕ ИСТИНА
| КОНЕЦ
|
| СГРУППИРОВАТЬ ПО
| УслНДС_ОИОб.Счет,
| УслНДС_ОИОб.Склад,
| УслНДС_ОИОб.СтатьяЗатрат) КАК ВложНДС
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ВЫБОР
| КОГДА ТОИОб.Счет = &счет2621_1
| ТОГДА &счет2612_1
| КОГДА ТОИОб.Счет = &счет2622_6
| ТОГДА &счет2613_5
| КОГДА ТОИОб.Счет = &счет2622_1
| ТОГДА &счет2613_1
| ИНАЧЕ ТОИОб.Счет
| КОНЕЦ КАК Счет,
| ВЫБОР
| КОГДА ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2613""
| ИЛИ ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2621""
| ИЛИ ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2622""
| ТОГДА ТОИОб.Субконто1
| ИНАЧЕ ТОИОб.Субконто2
| КОНЕЦ КАК Склад,
| ВЫБОР
| КОГДА ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2613""
| ИЛИ ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2621""
| ИЛИ ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2622""
| ТОГДА ТОИОб.Субконто2
| ИНАЧЕ ТОИОб.Субконто3
| КОНЕЦ КАК СтатьяЗатрат,
| СУММА(ВЫБОР
| КОГДА ТОИОб.Счет = &счет2621_1
| ИЛИ ТОИОб.Счет = &счет2622_6
| ИЛИ ТОИОб.Счет = &счет2622_1
| ТОГДА -ТОИОб.СуммаНачальныйОстатокКт
| ИНАЧЕ ТОИОб.СуммаНачальныйОстатокДт + ТОИОб.СуммаОборотДт
| КОНЕЦ) КАК ОстатокСтатьи
| ИЗ
| РегистрБухгалтерии.Типовой.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Период, , Счет В ИЕРАРХИИ (&СписСчетов), , ) КАК ТОИОб
| ГДЕ
| ВЫБОР
| КОГДА &Склад <> 0
| ТОГДА ВЫБОР
| КОГДА ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2613""
| ИЛИ ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2621""
| ИЛИ ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2622""
| ТОГДА ТОИОб.Субконто1 = &Склад
| ИНАЧЕ ТОИОб.Субконто2 = &Склад
| КОНЕЦ
| ИНАЧЕ ИСТИНА
| КОНЕЦ
|
| СГРУППИРОВАТЬ ПО
| ВЫБОР
| КОГДА ТОИОб.Счет = &счет2621_1
| ТОГДА &счет2612_1
| КОГДА ТОИОб.Счет = &счет2622_6
| ТОГДА &счет2613_5
| КОГДА ТОИОб.Счет = &счет2622_1
| ТОГДА &счет2613_1
| ИНАЧЕ ТОИОб.Счет
| КОНЕЦ,
| ВЫБОР
| КОГДА ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2613""
| ИЛИ ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2621""
| ИЛИ ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2622""
| ТОГДА ТОИОб.Субконто1
| ИНАЧЕ ТОИОб.Субконто2
| КОНЕЦ,
| ВЫБОР
| КОГДА ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2613""
| ИЛИ ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2621""
| ИЛИ ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2622""
| ТОГДА ТОИОб.Субконто2
| ИНАЧЕ ТОИОб.Субконто3
| КОНЕЦ) КАК ВложСчета
| ПО ВложНДС.Счет = ВложСчета.Счет
| И ВложНДС.Склад = ВложСчета.Склад
| И ВложНДС.СтатьяЗатрат = ВложСчета.СтатьяЗатрат"
;

зпОст.Текст = текстОст;
зпОст.УстановитьПараметр("ДатаНач",НачалоМесяца(ДатаК));
зпОст.УстановитьПараметр("ДатаКон",КонецМесяца(ДатаК));
зпОст.УстановитьПараметр("СписСчетов",СписСчетов);
зпОст.УстановитьПараметр("Склад",Склад);

счет2612_1 = ПланыСчетов.Типовой.НайтиПоКоду("2612.1");
счет2613_5 = ПланыСчетов.Типовой.НайтиПоКоду("2613.5");
счет2613_1 = ПланыСчетов.Типовой.НайтиПоКоду("2613.1");

счет2621_1 = ПланыСчетов.Типовой.НайтиПоКоду("2621.1");
счет2622_6 = ПланыСчетов.Типовой.НайтиПоКоду("2622.6");
счет2622_1 = ПланыСчетов.Типовой.НайтиПоКоду("2622.1");

зпОст.УстановитьПараметр("счет2612_1",счет2612_1);
зпОст.УстановитьПараметр("счет2613_5",счет2613_5);
зпОст.УстановитьПараметр("счет2613_1",счет2613_1);

зпОст.УстановитьПараметр("счет2621_1",счет2621_1);
зпОст.УстановитьПараметр("счет2622_6",счет2622_6);
зпОст.УстановитьПараметр("счет2622_1",счет2622_1);

резЗпОст = зпОст.Выполнить();
тбОстСтатей = резЗпОст.Выгрузить();


КонецПроцедуры


Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
"Выбор" - это зло. я б использовал кучу левых соединений.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1096
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
и
ПОДСТРОКА(ТОИОб.Счет.Код, 1, 4) = ""2613""
- зло

лучше "...Счет = &Счет2613" или "...Счет В (&СписокСчетов2600)" или "...Счет В ИЕРАРХИИ(&Счет2600)"
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
и мои 5 копеек:
&Склад = 0 или УслНДС_ОИОб.Склад = &Склад
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
"или" - вообще зло, лучше список значений.

Оффлайн SGIRG

  • **
  • Сообщений: 83
  • РЕПУТАЦИЯ: 26
  • КПД: 31%
  • Регистрация: 2014-03-26
  • Сайт: 
  • Профессия: Программист 8.1
Попробуйте использовать временные таблицы.
Оптимизатор 1С плохо работает с вложенными запросами
Нажимайте "Спасибо", так приятнее))

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
"или" - вообще зло, лучше список значений.
ИМХО, не все так однозначно
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 40
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
Цитировать
Попробуйте использовать временные таблицы.

Плюсую. Временные таблицы в последнее время работают быстрее всяких вложенных запросов.
Добавлено: 04 Авг 2016, 04:50

Например:
ВЫБРАТЬ
ПланСчетовТиповой.Ссылка
ПОМЕСТИТЬ СписокСчетов
ИЗ
ПланСчетов.Типовой КАК ПланСчетовТиповой
ГДЕ
ПланСчетов.Типовой.Код = "2612.1"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ПланСчетовТиповой.Ссылка
ИЗ
ПланСчетов.Типовой КАК ПланСчетовТиповой
ГДЕ
ПланСчетов.Типовой.Код = "2613.5"
И так далее. Запрос получится громоздкий, но работать будет на порядок быстрее.
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1096
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Luzer1C, вы имеете ввиду соединение с таблицей плана счетов будет быстрее условия "...Счет В (&СписокСчетов)"?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Luzer1C

  • ****
  • Сообщений: 411
  • РЕПУТАЦИЯ: 40
  • КПД: 10%
  • Регистрация: 2014-02-17
  • Сайт: 
  • Профессия: Программист 1С
100%. Вместо &СписокСчетов прописать так:

(Выбрать
СписокСчетов.Ссылка
Из
СписокСчетов)
Помочь мне очень сложно. Но можно.
Помогаю просто так...
Матёрый разработчик УПП + Бит Финанс


Теги:
 

Как в 1С 8.2 при проведении документа заполнить элемент справочника информацией из документа?

Автор Галина55555Раздел Беседка

Ответов: 1
Просмотров: 4506
Последний ответ 01 Июл 2014, 16:44
от Галина55555
выводит ошибку при проведении документа "Оплаты праздничных и выходных дней"

Автор bannovРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 2279
Последний ответ 06 Июл 2010, 14:46
от bannov
ПРОБЛЕМА!!!( при проведении документа"Реализация" выдается ошибка)

Автор Syuz79Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1452
Последний ответ 22 Мар 2012, 14:17
от Vit1501
Ошибка при проведении документа "Реализация товаров и услуг"

Автор PowerLordРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 1015
Последний ответ 21 Июл 2013, 15:44
от PowerLord
Для всех документов нужно сделать проверку при проведении. Где это можно сделать?

Автор ZeedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 388
Последний ответ 04 Сен 2016, 04:20
от cska-fanat-kz

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
160 Сообщений
alex0402
127 Сообщений
MuI_I_Ika MuI_I_Ika
57 Сообщений
Norfolk
52 Сообщений
LexaK
49 Сообщений
друган
20 Сообщений
alexandr_ll
20 Сообщений
Константин5825
18 Сообщений
AsadRoman
18 Сообщений
MrLvovsky MrLvovsky
16 Сообщений

* Кто онлайн

  • Точка Гостей: 723
  • Точка Скрытых: 0
  • Точка Пользователей: 11
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal