Пробовал. Процесс то всё-равно 32х битный. Съедает 1,4 GB из положенных 4 GB и падает.
Пробовал. Процесс то всё-равно 32х битный. Съедает 1,4 GB из положенных 4 GB и падает.
А свернуть базу 7.7 не получается? Через ТиИ...
Что есть ТиИ? Тестирование и исправление ИБ? Свёртки там не нашёл. Нашёл только "упаковку таблиц ИБ", что собственно и было сделано изначально.
Проблему не решил.<br>Грохнул все документы до начала года. Ввёл остатки вручную. Перегнал в БП 2.0 стандартной обработкой.
Ошибка находится в процедуре "ВыгрузитьОстаткиПрочихРасходов()"
в обработке по переносу "IP_ACC8.ert"
идет странное зацикливание на обработку запросу.
Решение:
1) в тексте запроса убрать/за комментировать "|Без итогов;"
2) создаете таблицу значений и обходите запрос по группировкам.
внимание если оставить "|Без итогов;", и сделать проще "запрос.выгрузить(тзВаше)"-приведет также к переполнению памяти
3) заполняем параметры из созданной таблицы
рабочий код на время переноса:
Код |
---|
Функция ВыгрузитьОстаткиПрочихРасходов( ИсходящиеДанные = "", ВходящиеДанные = "", Источник = "", Приемник = "", ТипПриемника = "", Значение = "", Выражение = "", Пусто = "", ВыборкаДанных = "", Объект = "", КоллекцияОбъектов = "", ОбъектКоллекции = "", ИмяПКО = "", ИмяПКОВидСубконто = "", НомерПКО = "", НомерПКС = "", Правило = "", КлючВыгружаемыхДанных = "", НеЗапоминатьВыгруженные = "", НеЗамещатьОбъектПриЗагрузке = "", ВсеОбъектыВыгружены = "", ТолькоПолучитьУзелСсылки = "", РежимЗаписи = "", РежимПроведения = "", СтандартнаяОбработка = "", НеЗамещать = "", НеОчищать = "", УзелСсылки = "", УзелКоллекцииОбъектов = "", УзелОбъектаКоллекции = "", УзелСвойства = "", ВидСубконто = "", Субконто = "", Отказ = "") Параметры.ТаблицаОстатковМПЗ.УдалитьСтроки(); ВыбНачПериода = Параметры.ДатаКонцаПериодаВыгрузки; ВыбКонПериода = Параметры.ДатаКонцаПериодаВыгрузки; Если Параметры.ДатаВводаОстатков = Параметры.ДатаКонцаПериодаВыгрузки Тогда ВидОстатка = "НачОст"; Иначе ВидОстатка = "КонОст"; КонецЕсли; Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; //|Без итогов; |ВидДеятельности = Регистр.РасчетыСПоставщиками.ВидДеятельности; |ОблагаетсяНДС = Регистр.РасчетыСПоставщиками.ОблагаетсяНДС; |Договор = Регистр.РасчетыСПоставщиками.Договор; |Номенклатура = Регистр.РасчетыСПоставщиками.Номенклатура; |Партия = Регистр.РасчетыСПоставщиками.РасчДокумент; |Количество = Регистр.РасчетыСПоставщиками.Количество; |Сумма = Регистр.РасчетыСПоставщиками.Сумма; |СуммаНДС = Регистр.РасчетыСПоставщиками.СуммаНДС; |Функция КоличествоНачОст = " + ВидОстатка + "(Количество); |Функция СуммаНачОст = " + ВидОстатка + "(Сумма); |Функция СуммаНДСНачОст = " + ВидОстатка + "(СуммаНДС); |Группировка ВидДеятельности; |Группировка Договор; |Группировка Номенклатура без групп; |Группировка Партия; |Условие(Партия.Вид() = ""ПрочиеРасходыРасчеты""); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат 0; КонецЕсли; //не формирует почемуто какая то трабла с таблицой данных тз = Создатьобъект("ТаблицаЗначений"); тз.НоваяКолонка("ВидДеятельности","Справочник.ВидыДеятельности"); тз.НоваяКолонка("Договор","Справочник.Договоры"); тз.НоваяКолонка("Номенклатура","Справочник.Номенклатура"); тз.НоваяКолонка("Партия","Документ"); тз.НоваяКолонка("КоличествоНачОст","Число",15,3); тз.НоваяКолонка("СуммаНачОст","Число",15,3); тз.НоваяКолонка("СуммаНДСНачОст","Число",15,3); тз.НоваяКолонка("ОблагаетсяНДС"); Пока Запрос.Группировка(1) = 1 Цикл//ВидДеятельности Пока Запрос.Группировка(2) = 1 Цикл//Договор Пока Запрос.Группировка(3) = 1 Цикл//Номенклатура Пока Запрос.Группировка(4) = 1 Цикл//Партия тз.НоваяСтрока(); тз.ВидДеятельности = Запрос.ВидДеятельности; тз.Договор = Запрос.Договор; тз.Номенклатура = Запрос.Номенклатура; тз.Партия = Запрос.Партия; тз.ОблагаетсяНДС = Запрос.ОблагаетсяНДС; тз.КоличествоНачОст = Запрос.КоличествоНачОст; тз.СуммаНачОст = Запрос.СуммаНачОст; тз.СуммаНДСНачОст = Запрос.СуммаНДСНачОст; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; Запрос= ""; Запрос = Создатьобъект("ТаблицаЗначений"); тз.выгрузить(Запрос); Запрос.ВыбратьСтроки(); НомерСтроки = 1; Пока Запрос.ПолучитьСтроку() = 1 Цикл НоменклатурнаяГруппа = ?(ПустоеЗначение(Запрос.ВидДеятельности) = 1, Параметры.ОсновнаяНоменклатурнаяГруппа, СокрЛП(Запрос.ВидДеятельности.Наименование)); Параметры.ТаблицаОстатковМПЗ.НоваяСтрока(); Параметры.ТаблицаОстатковМПЗ.Ключ = НомерСтроки; Параметры.ТаблицаОстатковМПЗ.НомерСтрокиТЧ = НомерСтроки; Параметры.ТаблицаОстатковМПЗ.Номенклатура = Запрос.Номенклатура; Параметры.ТаблицаОстатковМПЗ.Партия = Запрос.Договор; Параметры.ТаблицаОстатковМПЗ.Количество = Запрос.КоличествоНачОст; Параметры.ТаблицаОстатковМПЗ.Сумма = Запрос.СуммаНачОст; Параметры.ТаблицаОстатковМПЗ.НДС = Запрос.СуммаНДСНачОст; Параметры.ТаблицаОстатковМПЗ.НоменклатурнаяГруппа = НоменклатурнаяГруппа; Если Запрос.СуммаНДСНачОст <> 0 Тогда Параметры.ТаблицаОстатковМПЗ.НДСВключенВСтоимость =?(Запрос.ОблагаетсяНДС = 0, 1, 0); Иначе Параметры.ТаблицаОстатковМПЗ.НДСВключенВСтоимость = 0; КонецЕсли; Параметры.ПараметрыАлгоритмов.Установить("ВидДеятельсности", Запрос.ВидДеятельности); Параметры.ТаблицаОстатковМПЗ.ХарактерДеятельности = ОпределитьХарактерДеятельности( ИсходящиеДанные, ВходящиеДанные, Источник, Приемник, ТипПриемника, Значение, Выражение,,,,,,,,,,,,,,,,,,,,,,,,,,, Отказ); НомерСтроки = НомерСтроки + 1; КонецЦикла; ВходящиеДанные = СоздатьОбъект("СписокЗначений"); ВходящиеДанные.Установить("РазделУчета", Параметры.РазделУчета); Если Параметры.ДатаВводаОстатков = Параметры.ДатаКонцаПериодаВыгрузки Тогда ВходящиеДанные.Установить("Дата", Параметры.ДатаВводаОстатков - 1); Иначе ВходящиеДанные.Установить("Дата", Параметры.ДатаКонцаПериодаВыгрузки); КонецЕсли; ВходящиеДанные.Установить("ОтражатьВБухгалтерскомУчете", 1); ВходящиеДанные.Установить("ОтражатьВНалоговомУчете", 1); ВходящиеДанные.Установить("ОтражатьПоСпециальнымРегистрам", 1); ВходящиеДанные.Установить("ВходящиеОстатки", Параметры.ТаблицаОстатковМПЗ); ВыгрузитьПоПравилу(,,ВходящиеДанные,, "ВводНачальныхОстатков"); КонецФункции // ВыгрузитьОстаткиПрочихРасходов() |
10 декабря 2024 года — Практическая конференция «День Документооборота» |
1C:Лекторий: 26 ноября 2024 года, начало в 10:00 — Бесплатная онлайн-лекция об учете НДФЛ и заполнении расчета 6-НДФЛ в программе 1С:ЗУП 8 ред.3 1C:Лекторий: 28 ноября 2024 года, начало в 10:00 — Бесплатная онлайн-лекция о разрешительном режиме при продаже маркированного товара, новом порядке работы |