По теме из базы знаний
- Перенос остатков, документов и справочников из БП 3.0 в УТ 10.3. Переносятся остатки товаров, взаиморасчетов и денежных средств, а также документы и справочники
- Бонусная система в 1С для УТ 10.3
- Обмен данными между 1С: Управление торговлей 10.3 и 1С: Бухгалтерия 3.0 в формате XML
- Получение штрихкодов (алкокодов) ЕГАИС в 1С Управление Торговлей 10.3
- Правила переноса из УТ 10.3 в БП 3.0 синхронизация и перенос данных, выгрузка (перенос остатков, документов и справочников)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(5)
покажите текст запроса полностью.
Процедура ЗаполнитьТабличнуюЧастьПоПоступлениюНаОсновании(ДокументПоступление,Перезаполнение=Ложь)
Перем Отказ;
Отказ = Ложь;
ТипЦенБазовый = ДокументПоступление.ТипЦен.ТипЦеныНоменклатуры;
Если ЗначениеЗаполнено(ТипЦенБазовый) И ТипЦенБазовый.Рассчитывается Тогда
ОбщегоНазначения.СообщитьОбОшибке("В документе поступления для типа цены контрагента выбран динамический тип цен номенклатуры." + Символы.ПС+ "Расчет цен номенклатуры на основании цен контрагента выполнить невозможно!", Отказ);
КонецЕсли;
Если Отказ Тогда
возврат;
КонецЕсли;
Если Не Перезаполнение Тогда
// Получим подчиненные типы цен.
ПодчиненныеТипыЦен = ПолучитьПодчиненныеТипыЦен(ТипЦенБазовый);
ПодчиненныеТипыЦен.Добавить(ТипЦенБазовый);
//Обойдем массив в обратном порядке.
КоличествоПодчиненныхТипов = ПодчиненныеТипыЦен.Количество();
Для Тмп = 1 По КоличествоПодчиненныхТипов Цикл
СтрокаТабличнойЧасти = ТипыЦен.Добавить();
СтрокаТабличнойЧасти.ТипЦен = ПодчиненныеТипыЦен[КоличествоПодчиненныхТипов - Тмп];
КонецЦикла;
Иначе
ПодчиненныеТипыЦен = ТипыЦен.ВыгрузитьКолонку("ТипЦен");
КонецЕсли;
ЗаполнитьСписокТиповЦен();
// Обновим состав колонок.
ОбновитьСоставКолонок();
ПолучитьСтруктуруПоложенийКолонок();
ВидимостьКолонок();
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Дата", РабочаяДата);
Запрос.УстановитьПараметр("ДокументОснование", ДокументПоступление);
Запрос.УстановитьПараметр("ПодчиненныеТипыЦен", ПодчиненныеТипыЦен);
Запрос.Текст = "
|ВЫБРАТЬ
| ТоварыИзДокумента.*,
| СпрТипыЦен.Ссылка КАК ТипЦен,
| СпрТипыЦен.ВалютаЦены КАК ВалютаТипаЦены,
| ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.ПроцентСкидкиНаценки, СпрТипыЦен.ПроцентСкидкиНаценки) КАК ПроцентСкидкиНаценки,
| ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.СпособРасчетаЦены, СпрТипыЦен.СпособРасчетаЦены) КАК СпособРасчетаЦены
|ИЗ
| (ВЫБРАТЬ
| Док.Ссылка.СуммаВключаетНДС КАК СуммаВключаетНДС,
| Док.Ссылка.ВалютаДокумента КАК ВалютаДокумента,
| Док.Номенклатура КАК Номенклатура,
| Док.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| СРЕДНЕЕ(Док.Цена) КАК Цена,
| Док.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Док.СтавкаНДС КАК СтавкаНДС,
| МИНИМУМ(Док.НомерСтроки) КАК НомерСтроки
| ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК Док
| ГДЕ
| Док.Ссылка = &ДокументОснование
| СГРУППИРОВАТЬ ПО
| Док.Ссылка.СуммаВключаетНДС,
| Док.Ссылка.ВалютаДокумента,
| Док.Номенклатура,
| Док.ХарактеристикаНоменклатуры,
| Док.ЕдиницаИзмерения,
| Док.СтавкаНДС
| ) КАК ТоварыИзДокумента
|ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Справочник.ТипыЦенНоменклатуры КАК СпрТипыЦен
|ПО
| СпрТипыЦен.Ссылка В (&ПодчиненныеТипыЦен)
|ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен В (&ПодчиненныеТипыЦен)) КАК ЦеныНоменклатурыСрезПоследних
|ПО
| СпрТипыЦен.Ссылка = ЦеныНоменклатурыСрезПоследних.ТипЦен
| И ТоварыИзДокумента.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
| И ТоварыИзДокумента.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
|УПОРЯДОЧИТЬ ПО
| ТоварыИзДокумента.НомерСтроки
|";
СтруктураПоиска = Новый Структура;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
СтруктураПоиска.Вставить("Номенклатура" , Выборка.Номенклатура);
СтруктураПоиска.Вставить("ХарактеристикаНоменклатуры", Выборка.ХарактеристикаНоменклатуры);
СтрокаТабличнойЧасти = ОбработкаТабличныхЧастей.НайтиСтрокуТабЧасти(ТаблицаЦен, СтруктураПоиска);
Если СтрокаТабличнойЧасти = Неопределено Тогда
СтрокаТабличнойЧасти = ТаблицаЦен.Добавить();
СтрокаТабличнойЧасти.Номенклатура = Выборка.Номенклатура;
СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры = Выборка.ХарактеристикаНоменклатуры;
КонецЕсли;
ТипЦенНоменклатуры = Выборка.ТипЦен;
СтрокаТипаЦен = ТипыЦен.Найти(ТипЦенНоменклатуры);
НомерСоответствияТекущейКолонки = мСоответствиеТиповЦен[ТипЦенНоменклатуры];
ОкруглятьВБольшуюСторону = ТипЦенНоменклатуры.ОкруглятьВБольшуюСторону;
ПорядокОкругления = ТипЦенНоменклатуры.ПорядокОкругления;
БазоваяЦена = Ценообразование.ПересчитатьЦенуПриИзмененииФлаговНалогов(Выборка.Цена,
Перечисления.СпособыЗаполненияЦен.ПоЦенамНоменклатурыКонтрагентов,
Выборка.СуммаВключаетНДС,
ТипЦенБазовый.ЦенаВключаетНДС,
ТипЦенБазовый.ЦенаВключаетНДС,
УчетНДС.ПолучитьСтавкуНДС(Выборка.СтавкаНДС));
СпособРасчетаЦены = Выборка.СпособРасчетаЦены;
НовыйПроцент = Выборка.ПроцентСкидкиНаценки;
ВалютаДокумента = Выборка.ВалютаТипаЦены;
ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения;
Если (НЕ ЗначениеЗаполнено(ТипЦенНоменклатуры.БазовыйТипЦен))
ИЛИ ТипЦенБазовый = ТипЦенНоменклатуры Тогда
НоваяЦена = БазоваяЦена;
СтруктураКурсаВзаиморасчетов = МодульВалютногоУчета.ПолучитьКурсВалюты(Выборка.ВалютаТипаЦены, Дата);
НоваяЦена = Ценообразование.ПересчитатьЦенуПриИзмененииВалюты(НоваяЦена, Выборка.ВалютаДокумента, Выборка.ВалютаТипаЦены, СтруктураКурсаВзаиморасчетов.Курс, СтруктураКурсаВзаиморасчетов.Кратность);
Иначе
Если СпособРасчетаЦены = Перечисления.СпособыРасчетаЦены.ПоПроцентнойНаценкеНаБазовыйТип Тогда
НоваяЦена = БазоваяЦена * (1 + НовыйПроцент / 100);
ИначеЕсли СпособРасчетаЦены = Перечисления.СпособыРасчетаЦены.ПоВхождениюБазовойЦеныВДиапазон Тогда
НоваяЦена = Ценообразование.ПолучитьЦенуПоЦеновымДиапазонам(ТипЦенНоменклатуры, Дата, БазоваяЦена, ВалютаДокумента, ВалютаДокумента);
НовыйПроцент = 0;
Иначе
НоваяЦена = 0;
КонецЕсли;
СтруктураКурсаВзаиморасчетов = МодульВалютногоУчета.ПолучитьКурсВалюты(Выборка.ВалютаТипаЦены, Дата);
НоваяЦена = Ценообразование.ПересчитатьЦенуПриИзмененииВалюты(НоваяЦена, Выборка.ВалютаДокумента, Выборка.ВалютаТипаЦены, СтруктураКурсаВзаиморасчетов.Курс, СтруктураКурсаВзаиморасчетов.Кратность);
НоваяЦена = Ценообразование.ОкруглитьЦену(НоваяЦена, ПорядокОкругления, ОкруглятьВБольшуюСторону);
КонецЕсли;
СтрокаТабличнойЧасти["цена" + НомерСоответствияТекущейКолонки] = НоваяЦена;
СтрокаТабличнойЧасти["СпособРасчета" + НомерСоответствияТекущейКолонки] = СпособРасчетаЦены;
СтрокаТабличнойЧасти["валюта" + НомерСоответствияТекущейКолонки] = ВалютаДокумента;
СтрокаТабличнойЧасти["единица" + НомерСоответствияТекущейКолонки] = ЕдиницаИзмерения;
СтрокаТабличнойЧасти["процент" + НомерСоответствияТекущейКолонки] = НовыйПроцент;
КонецЦикла;
КонецПроцедуры // ЗаполнитьТабличнуюЧастьПоПоступлениюНаОсновании()
Показать
(7) возьмите этот запрос и отлаживайте в консоле запросов с замером времени выполнения запросов.
Упрстите запрос по максимуму, потом усложняйте и замеряйте время выполнения. При кратном увеличении времени будет понятна причина тормозов и дальше уже принимайте какие-то действия.
Искать тормоза в зависимости от размера БД - ну такое себе.
Упрстите запрос по максимуму, потом усложняйте и замеряйте время выполнения. При кратном увеличении времени будет понятна причина тормозов и дальше уже принимайте какие-то действия.
Искать тормоза в зависимости от размера БД - ну такое себе.
(15)
размер конфигурации умножен на два
мне лично ничего не дало :)
_____________
есть возможность - подключите печатную форму извне.
а конфигурацию поставьте на замок
если не планируете обновляться - лучше вообще снять с поддержки,
но по вашей реакции я понял, что решаете вы,а советы вам не нужны.
_______
и потом окажется, что еще кое-чего есть доработанного или измененного :)
размер конфигурации умножен на два
мне лично ничего не дало :)
_____________
есть возможность - подключите печатную форму извне.
а конфигурацию поставьте на замок
если не планируете обновляться - лучше вообще снять с поддержки,
но по вашей реакции я понял, что решаете вы,а советы вам не нужны.
_______
и потом окажется, что еще кое-чего есть доработанного или измененного :)
Прикрепленные файлы:

(19)
потому , что база не на замке - при включении - включить возможность изменений - размер умножаете на два
соответственно это влияет и на весь режим работы в общем
снимите копию базы с поддержки
выгрузите файл в ди и загрузитесь из него , сами увидите
а скрин удалите - там есть ваши данные
( способом - изменить сообщение - и т.д )
потому , что база не на замке - при включении - включить возможность изменений - размер умножаете на два
соответственно это влияет и на весь режим работы в общем
снимите копию базы с поддержки
выгрузите файл в ди и загрузитесь из него , сами увидите
а скрин удалите - там есть ваши данные
( способом - изменить сообщение - и т.д )
(42)
может....может и код в запросе положить систему
может я не прав...
может ....
но я не кашпировский
если база стандартная и без доработок, тогда да, можно искать, почему такой размер .
можете попросить удаленный доступ и подсказать - очень быстро и эффективно.
может....может и код в запросе положить систему
может я не прав...
может ....
но я не кашпировский
если база стандартная и без доработок, тогда да, можно искать, почему такой размер .
можете попросить удаленный доступ и подсказать - очень быстро и эффективно.
(44) ТС потом написал, что тормозит в разных местах, поэтому думаю, что заниматься оптимизацией одного типового запроса нецелесообразно.
Допускаю, что база слишком большая для файловой, либо слабоватая архитектура компьютера, либо еще какая-то общая проблема.
Возможно, я и не прав, у вас действительно есть данные, что включение режима изменения приводит к замедлению работы?
Просто я всю жизнь думал, что это влияет только на размер базы, и время обновления, а в работе все равно приходит обращение только к одной конфигурации БД.
Допускаю, что база слишком большая для файловой, либо слабоватая архитектура компьютера, либо еще какая-то общая проблема.
Возможно, я и не прав, у вас действительно есть данные, что включение режима изменения приводит к замедлению работы?
Просто я всю жизнь думал, что это влияет только на размер базы, и время обновления, а в работе все равно приходит обращение только к одной конфигурации БД.
(45)
ну да, только размер 2гб и 4гб имеет значение ?
при прочих равных условиях
----------
При попытке ввести на основании документа поступления документ установки цен.
ЖУткий тормоз. Даже если в документе одна только позиция.
думаете установке цен имеет значение ,
какие картинки в базе ?
это даже не поступление.
а проведенный документ,
к которому теоретически-практически обращается один,
кто устанавливает цены.
и если только сейчас начали поиск проблем , то там целый комплекс, начиная с порядка в учете.
и пока конфа не на замке и ее допиливают, как умеют, как думаете, с чего начать ?
ну да, только размер 2гб и 4гб имеет значение ?
при прочих равных условиях
----------
При попытке ввести на основании документа поступления документ установки цен.
ЖУткий тормоз. Даже если в документе одна только позиция.
думаете установке цен имеет значение ,
какие картинки в базе ?
это даже не поступление.
а проведенный документ,
к которому теоретически-практически обращается один,
кто устанавливает цены.
и если только сейчас начали поиск проблем , то там целый комплекс, начиная с порядка в учете.
и пока конфа не на замке и ее допиливают, как умеют, как думаете, с чего начать ?
(46) ну я бы для начала глянул, что там за железо, не включен ли сбалансированный режим электропитания, сколько пользователей и т.п.
И какой размер значимых данных - того же регистра цен.
Сделал бы сравнение с конфигурацией поставщика - вдруг реально что допилено.
И еще вопрос, что такое "ЖУТКИЙ ТОРМОЗ" - для 1с,в принципе, нормально по несколько секунд подтупливать.
И какой размер значимых данных - того же регистра цен.
Сделал бы сравнение с конфигурацией поставщика - вдруг реально что допилено.
И еще вопрос, что такое "ЖУТКИЙ ТОРМОЗ" - для 1с,в принципе, нормально по несколько секунд подтупливать.
(28)
Чисто интуитивно я догадываюсь, что это chdbfl.exe в папке bin, но что вы имеете ввиду... ДА ХРЕН ЕГО ЗНАЕТ,
(28)
Это ФОРМА .. здесь она не отредактирована.
(19)
Ключевое слово ПУСТАЯ. Чистая новая весит 1,6Гг.
Моя (работчая) база, конечно больше.
Ты читай, про что я говорю.
бочка синяя о чем - нибудь говорит ?
Чисто интуитивно я догадываюсь, что это chdbfl.exe в папке bin, но что вы имеете ввиду... ДА ХРЕН ЕГО ЗНАЕТ,
(28)
форма оплаты чека
Это ФОРМА .. здесь она не отредактирована.
(19)
Пустая база. Ни одного справочника.
Ключевое слово ПУСТАЯ. Чистая новая весит 1,6Гг.
Моя (работчая) база, конечно больше.
Ты читай, про что я говорю.
Прикрепленные файлы:

форма понимаю, что для чека важнее - печатная
а что вы сделали ( или не вы ) - и зачем
в любом случае у вас выбор - или на замок и доработать
....фриланс есть, запросите, может сделает кто
обычно ждут дешево и сейчас,
но лучше качественно и чтобы потом напрягать, если проблемная :)
или с поддержки ...снимать...курочить и наступать на грабли
здесь уже придется компоненту одну подключать :)
я на уровне мыслей не могу понимать,
хотя есть на форуме супер герой,
который вас поймет с полуслова,
но он не очень прилично может себя повести,
поэтому его не рекомендую...
а что вы сделали ( или не вы ) - и зачем
в любом случае у вас выбор - или на замок и доработать
....фриланс есть, запросите, может сделает кто
обычно ждут дешево и сейчас,
но лучше качественно и чтобы потом напрягать, если проблемная :)
или с поддержки ...снимать...курочить и наступать на грабли
здесь уже придется компоненту одну подключать :)
я на уровне мыслей не могу понимать,
хотя есть на форуме супер герой,
который вас поймет с полуслова,
но он не очень прилично может себя повести,
поэтому его не рекомендую...
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот