Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Зависание при проведении документа перемещения с розничного склада на оптовый          
Gazulo Подменю пользователя
сообщение 10.01.17, 9:55
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 273
Спасибо сказали: 46 раз
Рейтинг: 46

Добрый день. Конфигурация УТП для Украины 1.2.38.1. платформа 8.3.9.1850. база SQL.

При проведении документа перемещение товаров с розничного склада на оптовый сильно зависает проведение (20-30 минут висит программа), хотя в документе одна, две позиции.

в отладчике посмотрел, что зависает на процедуре "УправлениеЗапасамиПартионныйУчет.ТорговаяНаценкаАТТ".

Подскажите что можна с этим сделать, в фаловом варианте таких проблем не было.

Спасибо.

 ! 

Правила: 3,4
 


Сообщение отредактировал logist - 10.01.17, 11:30

Vlad 1C Подменю пользователя
сообщение 10.01.17, 11:50
Сообщение #2

Общительный
**
Группа: Пользователи
Сообщений: 45
Спасибо сказали: 7 раз
Рейтинг: 0

Gazulo @ Сегодня, 9:55 * ,
Итоги давно рассчитывали?

Gazulo Подменю пользователя
сообщение 10.01.17, 12:09
Сообщение #3

Оратор
*****
Группа: Пользователи
Сообщений: 273
Спасибо сказали: 46 раз
Рейтинг: 46

Vlad 1C @ Сегодня, 11:50 * ,
перешли на SQL в ноябре, и тогда же появилась проблема

Vlad 1C Подменю пользователя
сообщение 10.01.17, 14:29
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 45
Спасибо сказали: 7 раз
Рейтинг: 0


 ! 

Правила: 16
 


Сообщение отредактировал Vofka - 10.01.17, 14:52

sava1 Подменю пользователя
сообщение 10.01.17, 14:57
Сообщение #5

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Посмотрите в СКЛ. что он делает в этот момент.

logist Подменю пользователя
сообщение 10.01.17, 15:04
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Выше предложили пересчитать итоги, думаю, это первое что надо сделать, т.к. в указанной процедуре в принципе простой запрос. Это если конфигурация не дорабатывалась.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Gazulo Подменю пользователя
сообщение 10.01.17, 15:35
Сообщение #7

Оратор
*****
Группа: Пользователи
Сообщений: 273
Спасибо сказали: 46 раз
Рейтинг: 46

logist @ Сегодня, 15:04 * ,
процедура не дорабатывалась. попробую пересчитать итоги..

Gazulo Подменю пользователя
сообщение 12.01.17, 11:44
Сообщение #8

Оратор
*****
Группа: Пользователи
Сообщений: 273
Спасибо сказали: 46 раз
Рейтинг: 46

logist @ 10.01.17, 15:04 * ,
проблема не решилась, зависание происходит только при перемещении с розничного склада на оптовый, если с оптового на розн., то проводится моментально..
что еще можно сделать??

Petre Подменю пользователя
сообщение 12.01.17, 11:57
Сообщение #9

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Gazulo @ Сегодня, 11:44 * ,

Цитата(sava1 @ 10.01.17, 14:57) *
Посмотрите в СКЛ. что он делает в этот момент.



Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Gazulo Подменю пользователя
сообщение 12.01.17, 12:31
Сообщение #10

Оратор
*****
Группа: Пользователи
Сообщений: 273
Спасибо сказали: 46 раз
Рейтинг: 46

Petre @ Сегодня, 11:57 * ,
подскажите как это сделать, пожалуйста.

angv Подменю пользователя
сообщение 17.07.17, 16:53
Сообщение #11

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый день
такая же проблема
чем у вас закончилось?

alur Подменю пользователя
сообщение 27.10.17, 17:39
Сообщение #12

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Из: Киев
Спасибо сказали: 0 раз
Рейтинг: 0

SQL не може оптимізувати цей запит, тому треба об'єднувати не віртуальні таблиці, а тимчасові, що їх обгортають та індексують:
Функция ТорговаяНаценкаАТТ(ДокументСсылка, Склады, Номенклатура, НалоговоеНазначение) Экспорт
    
    БУ = ПланыСчетов.Хозрасчетный.ТоварыНаСкладе.ПолучитьОбъект();
    ВестиУчетПоДопРазрезамРегл  = ?(БУ.ВидыСубконто.Найти(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеПозиции, "ВидСубконто") = Неопределено, Ложь, Истина);
    
    РазделятьПоПартиям = НаСчетеВедетсяПартионныйУчет(ПланыСчетов.Хозрасчетный.ТоварыВРозничнойТорговлеВПродажныхЦенахАТТ);
    
    ВидыСубконто = Новый Массив;
    ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура);
    ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады);
    
    Если РазделятьПоПартиям Тогда
        ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Партии);
        НомерСубконтоНоменклатурнойПозиции = 4;
    Иначе
        НомерСубконтоНоменклатурнойПозиции = 3;
    КонецЕсли;
    
    Если ВестиУчетПоДопРазрезамРегл Тогда
        ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеПозиции);
    КонецЕсли;
        
    Запрос = Новый Запрос;
    // В БУ период определения наценки месяц
    Запрос.УстановитьПараметр("ДатаНач",             НачалоМесяца(ДокументСсылка.Дата));
    Запрос.УстановитьПараметр("ДатаКон",             ДокументСсылка.МоментВремени());
    Запрос.УстановитьПараметр("Организация",         ДокументСсылка.Организация);
    Запрос.УстановитьПараметр("СчетТН",             ПланыСчетов.Хозрасчетный.ТорговаяНаценкаАТТ);
    Запрос.УстановитьПараметр("СчетПС",             ПланыСчетов.Хозрасчетный.ТоварыВРозничнойТорговлеВПродажныхЦенахАТТ);
    Запрос.УстановитьПараметр("Склады",             Склады);
    Запрос.УстановитьПараметр("Номенклатура",         Номенклатура);
    Запрос.УстановитьПараметр("НалоговоеНазначение",НалоговоеНазначение);
    Запрос.УстановитьПараметр("ВидыСубконто",         ВидыСубконто);
    Запрос.УстановитьПараметр("ПустаяПартия",        Документы.Партия.ПустаяСсылка());
    Запрос.УстановитьПараметр("ПустаяНоменклатурнаяПозиция",   Справочники.НоменклатурныеПозиции.ПустаяСсылка());
    
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ХозрасчетныйОстаткиИОбороты.НалоговоеНазначение,
    |    ХозрасчетныйОстаткиИОбороты.Субконто1,
    |    ХозрасчетныйОстаткиИОбороты.Субконто2," + ?(РазделятьПоПартиям, "
    |    ХозрасчетныйОстаткиИОбороты.Субконто3,", "") + ?(ВестиУчетПоДопРазрезамРегл, "
    |    ХозрасчетныйОстаткиИОбороты.Субконто" + НомерСубконтоНоменклатурнойПозиции + ",", "") + "
    |    ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт,
    |    ХозрасчетныйОстаткиИОбороты.СуммаОборотКт,
    |    ХозрасчетныйОстаткиИОбороты.СуммаНУНачальныйОстатокКт,
    |    ХозрасчетныйОстаткиИОбороты.СуммаНУОборотКт,
    |    ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт,
    |    ХозрасчетныйОстаткиИОбороты.СуммаОборотДт,
    |    ХозрасчетныйОстаткиИОбороты.СуммаНУНачальныйОстатокДт,
    |    ХозрасчетныйОстаткиИОбороты.СуммаНУОборотДт
    |ПОМЕСТИТЬ втХозрасчетныйОстаткиИОборотыТН
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
    |            &ДатаНач,
    |            &ДатаКон,
    |            ,
    |            ,
    |            Счет = &СчетТН,
    |            &ВидыСубконто,
    |            НалоговоеНазначение В (&НалоговоеНазначение)
    |                И Организация = &Организация
    |                И Субконто1 В (&Номенклатура)
    |                И Субконто2 В (&Склады)) КАК ХозрасчетныйОстаткиИОбороты
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    НалоговоеНазначение,
    |    Субконто1,
    |    Субконто2," + ?(РазделятьПоПартиям, "
    |    Субконто3,", "") + ?(ВестиУчетПоДопРазрезамРегл, "
    |    Субконто" + НомерСубконтоНоменклатурнойПозиции, "")
;
    Запрос.Выполнить();
    
    Запрос.Текст = СтрЗаменить(СтрЗаменить(Запрос.Текст, "&СчетТН", "&СчетПС"), "втХозрасчетныйОстаткиИОборотыТН", "втХозрасчетныйОстаткиИОборотыПС");
    Запрос.Выполнить();
    
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ХозрасчетныйОстаткиИОборотыТН.НалоговоеНазначение КАК НалоговоеНазначение,
    |    ХозрасчетныйОстаткиИОборотыТН.Субконто1 КАК Номенклатура,
    |    ХозрасчетныйОстаткиИОборотыТН.Субконто2 КАК Склад," + ?(РазделятьПоПартиям, "
    |    ХозрасчетныйОстаткиИОборотыТН.Субконто3", "
    |    &ПустаяПартия")+ " КАК Партия," + ?(ВестиУчетПоДопРазрезамРегл, "
    |    ХозрасчетныйОстаткиИОборотыТН.Субконто" + НомерСубконтоНоменклатурнойПозиции, "
    |    &ПустаяНоменклатурнаяПозиция")+ "  КАК НоменклатурнаяПозиция,
    |    СУММА(ЕСТЬNULL(ХозрасчетныйОстаткиИОборотыТН.СуммаНачальныйОстатокКт, 0) + ЕСТЬNULL(ХозрасчетныйОстаткиИОборотыТН.СуммаОборотКт, 0)) КАК ТН,
    |    СУММА(ЕСТЬNULL(ХозрасчетныйОстаткиИОборотыПС.СуммаНачальныйОстатокДт, 0) + ЕСТЬNULL(ХозрасчетныйОстаткиИОборотыПС.СуммаОборотДт, 0)) КАК ПС,
    |    СУММА(ЕСТЬNULL(ХозрасчетныйОстаткиИОборотыТН.СуммаНУНачальныйОстатокКт, 0) + ЕСТЬNULL(ХозрасчетныйОстаткиИОборотыТН.СуммаНУОборотКт, 0)) КАК ТН_НУ,
    |    СУММА(ЕСТЬNULL(ХозрасчетныйОстаткиИОборотыПС.СуммаНУНачальныйОстатокДт, 0) + ЕСТЬNULL(ХозрасчетныйОстаткиИОборотыПС.СуммаНУОборотДт, 0)) КАК ПС_НУ
    |ИЗ
    |    втХозрасчетныйОстаткиИОборотыТН КАК ХозрасчетныйОстаткиИОборотыТН
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ втХозрасчетныйОстаткиИОборотыПС КАК ХозрасчетныйОстаткиИОборотыПС
    |        ПО ХозрасчетныйОстаткиИОборотыТН.НалоговоеНазначение = ХозрасчетныйОстаткиИОборотыПС.НалоговоеНазначение
    |            И ХозрасчетныйОстаткиИОборотыТН.Субконто1 = ХозрасчетныйОстаткиИОборотыПС.Субконто1
    |            И ХозрасчетныйОстаткиИОборотыТН.Субконто2 = ХозрасчетныйОстаткиИОборотыПС.Субконто2" + ?(РазделятьПоПартиям, "
    |            И ХозрасчетныйОстаткиИОборотыТН.Субконто3 = ХозрасчетныйОстаткиИОборотыПС.Субконто3", "") + ?(ВестиУчетПоДопРазрезамРегл, "
    |            И ХозрасчетныйОстаткиИОборотыТН.Субконто" + НомерСубконтоНоменклатурнойПозиции + " = ХозрасчетныйОстаткиИОборотыПС.Субконто" + НомерСубконтоНоменклатурнойПозиции, "") + "
    |
    |СГРУППИРОВАТЬ ПО
    |    ХозрасчетныйОстаткиИОборотыТН.НалоговоеНазначение,
    |    ХозрасчетныйОстаткиИОборотыТН.Субконто1,
    |    ХозрасчетныйОстаткиИОборотыТН.Субконто2," + ?(РазделятьПоПартиям, "
    |    ХозрасчетныйОстаткиИОборотыТН.Субконто3,", "") + ?(ВестиУчетПоДопРазрезамРегл, "
    |    ХозрасчетныйОстаткиИОборотыТН.Субконто" + НомерСубконтоНоменклатурнойПозиции, "")
;
    
    Возврат Запрос.Выполнить().Выгрузить();
    
КонецФункции

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 15:38
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!