Ошибка 1с при формировании отчета
При формировании отчета "Главная книга" за 2019 год с группировкой по "месяцам" и с "развернутым сальдо" по счету "76" "по субсчетам", выходит ошибка:
"Индекс находится за границами массива
Технические подробности:
Ошибка выполнения фонового задания ДлительныеОперации.ВыполнитьСКонтекстомКлиента с идентификатором 14631ba4-bec2-4cd7-b755-17be67088665 по причине
Индекс находится за границами массива
: ОбщиеОстатки = ДеревоОстатков.Строки[0];
: СтрокаОстатков = ПолучитьСтрокуИзДереваОстатков(ПараметрыОтчета, СтруктураПараметров, ВыборкаПоПериодам.Период);
: ВывестиПериоды(ПараметрыОтчета, ОбщийИтог, СтруктураПараметров, Новый Соответствие, БазовыйУровеньВыборки);
: ВывестиСчет(ПараметрыОтчета, ВыборкаПоСчетам, СтруктураПараметров, ВыводитьЗаголовок);
См. также журнал регистрации.
: ВызватьИсключение ТекстОшибки;
: Возврат ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторЗадания);
: Если ЗаданиеВыполнено(ИдентификаторЗадания) Тогда "
По коду понял что
Процедура ЗаполнитьТаблицуРазвернутыхОстатков(ПараметрыОтчета, СтруктураПараметров)
Формирует и выполняет запрос:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ОстаткиИОбороты.Период КАК Период,
ОстаткиИОбороты.СуммаКонечныйРазвернутыйОстатокДт КАК СуммаРазвернутоКонДт,
ОстаткиИОбороты.СуммаКонечныйРазвернутыйОстатокКт КАК СуммаРазвернутоКонКт,
ОстаткиИОбороты.СуммаНачальныйРазвернутыйОстатокДт КАК СуммаРазвернутоНачДт,
ОстаткиИОбороты.СуммаНачальныйРазвернутыйОстатокКт КАК СуммаРазвернутоНачКт, ОстаткиИОбороты.Счет, ОстаткиИОбороты.Субконто1, ОстаткиИОбороты.Субконто2
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Месяц, , Счет В (&Субсчета), , Организация = &Организация) КАК ОстаткиИОбороты
УПОРЯДОЧИТЬ ПО
Период
ИТОГИ
СУММА(СуммаРазвернутоКонДт),
СУММА(СуммаРазвернутоКонКт),
СУММА(СуммаРазвернутоНачДт),
СУММА(СуммаРазвернутоНачКт)
ПО
ОБЩИЕ, Период ПЕРИОДАМИ(Месяц, , ), Счет ИЕРАРХИЯ, Субконто1, Субконто2
С парамерами:
НачалоПериода = 01.01.2019 0:00:00
КонецПериода = 31.01.2019 23:59:59
Организация = ООО
Субсчета = 76.05
и получает пустую таблицу в последствии к которой по коду идёт обравщение по индексу и падает в ошибку.
Если смотреть оборотку по счету 76.05, то в ней нет записей, а по 76.АВ есть
"1С 7.7 sql 7.70.025 Бухучет 4.5 7.70.504<br><br>При формировании отчета - "Налоговый учет - Рег. форм отчетных данных - Регистр расчета амортизации основных средств" при выборе любой даты и любой аморт. группы (в т.ч. и без группы)<br>выдает ошибку:<br><br>Состояние1 = ОсновноеСредство.Состояние.Получить(ДатаПереходаНаЛинейныйМетод); <br>: Поле агрегатного объекта не обнаружено (Получить)<br><br>Говорят, что раньше такие отчеты делали. Как быть? Пасиб :)"
А платформу обновить?
имеется ввиду платформа программы? какая она сейчас последняя?<br>если про конфигурацию - то база мегарукописная, ее не очень просто обновить.
если мегарукописная, то к разработчикам не пробовали обращаться?
> А платформу обновить?<br><br>Че, точно помогает в этом случае? Проверяли?<br><br>
"> Как быть? <br><br>Да не сложно быть.<br><br>Там косяк простой:<br><br>Сначала к периодическому реквизиту справочника применяют метод Получить():<br><br>Состояние1 = ОсновноеСредство.Состояние.Получить(ДатаПереходаНаЛинейныйМетод); <br>Состояние2 = ОсновноеСредство.Состояние.Получить('31.12.2008'); <br><br>А потом вдруг применяют к справочнику метод ИспользоватьДату()<br><br>ОсновноеСредство.ИспользоватьДату(БИ.КонДата,1);<br><br>При следующем прогоне цикла метод Получить() уже не работает, естественно.<br><br>Косяк легко обойти - подменить объект на другой экземляр, например:<br><br><br>// Состояние1 = ОсновноеСредство.Состояние.Получить(ДатаПереходаНаЛинейныйМетод); <br>// Состояние2 = ОсновноеСредство.Состояние.Получить('31.12.2008'); <br>ОС=СоздатьОбъект("Справочник.ОсновныеСредства");<br>ОС.НайтиЭлемент(ОсновноеСредство);<br>Состояние1 = ОС.Состояние.Получить(ДатаПереходаНаЛинейныйМетод); <br>Состояние2 = ОС.Состояние.Получить('31.12.2008'); <br><br><br><br>"
Опять беда с отчётом. И вроде ошибка такая явная, но не могу понять где она. Что с этим можно сделать?
Ошибка при формировании отчета
Всем привет! Такой вопрос - пытаюсь создать простейший отчёт. Следуя книге. И всё равно.
Ошибки при автоматическом формировании отчета
Здравствуйте! Мне надо, чтобы при открытии отчета задавались значения параметров по умолчанию и.
При формировании отчета СКД не выводится результат
Добрый день, кому не сложно посмотрите что не так с отчетом, почему он не пашет? Заранее спасибо,а.
Задача по оперативному учету: расчет себестоимости при проведении документа или при формировании отчета
Решаю задачи по оперативному учету. В отчет по продажам нужно ,кроме прочего, вывести: 1).
Совсем запуталась с этими отчётами. Делаю все по учебнику - не получается. Хотела сделать панель параметров над самими отчётом - опять же сделала по учебниу:
1) создала форму
2) должна была переместить результат вниз.. (?) что никак не получилось. Он растянут полностью и вставить туда ничего нельзя.
3) Добавить табличное поле в Форма-Вставать элемент управление. Тоже не нашла такого.
Что я не так понимаю?(
Тамика, не знаю, что у вас за учебник такой, где прописано, что надо отдельно выносить параметры СКД на форму.
В СКД вкладка Настройки - внизу Параметры, по параметру правой кнопкой мыши - Свойства элементов пользовательских настроек - Включить в пользовательские настройки. После этого заданный параметр отобразится на форме.
Почему отчет пустой: у вас на вкладке Отбор включен отбор по проекту и контрагенту. при этом значения сравнения пустые. Уберите галочки с отбора и включите в пользовательские настройки, как описано выше, при желании пользователь сам включит отбор и выставит значение отбора.
Из-за чего возникают ошибки в базе 1с ?
Теперь давайте немного поговорим о том из-за чего же все-таки могут происходить различные ошибки в базе 1с при работе с программой. На самом деле причин может быть очень много и все они могут иметь под собой абсолютно разную почву. И все же, мы с Вами постараемся понять в обобщенных чертах причину возникновения различных ошибок в 1с.
Виды ошибок в базе 1с
Ошибок в 1с может быть великое множество и происходить они могут по самым разным причинам. В данной статье мы не будем рассматривать все возможные ошибки 1с, мы постараемся выделить так называемые основные "виды" встречающихся ошибок. Мы условно называем их "виды" так как содержание ошибки которое показывает Вам программа как правило всегда различное, а суть часто бывает одинаковая. Итак выделим самые часто встречающиеся ошибки в базе 1с:
- Ошибка формата потока
- Поле объекта не обнаружено
- Индекс находится за границами массива
- Метод объекта не обнаружен
- Недостаточно памяти
- Ошибки связанные с таблицами SQL (актуальны для серверов 1с которые работают на реляционных базах данных, например MySQL)
- Ошибка доступа 1с
Ошибка формата потока в 1с
Поле объекта не обнаружено
Индекс находится за границами массива
Массивом в программировании называется некая область памяти в которой хранятся множество объектов одинакового типа (в 1с такими типами могут выступать например СправочникСсылка, ДокументОбъект и т.д. , а также любые примитивные типы такие как число, строка, булево и т.д.). Ошибка 1с связанная с выходом за границы массива как раз и случается тогда, когда программа обращается за границы памяти которая выделена под массив. Соответственно программа в этом случае и выдает ошибку, уведомляет пользователя (программиста) о том, что происходит обращение за пределы массива, а это в свою очередь является программной ошибкой.
Ошибка формата потока в 1с
Поле объекта не обнаружено
Индекс находится за границами массива
Массивом в программировании называется некая область памяти в которой хранятся множество объектов одинакового типа (в 1с такими типами могут выступать например СправочникСсылка, ДокументОбъект и т.д. , а также любые примитивные типы такие как число, строка, булево и т.д.). Ошибка 1с связанная с выходом за границы массива как раз и случается тогда, когда программа обращается за границы памяти которая выделена под массив. Соответственно программа в этом случае и выдает ошибку, уведомляет пользователя (программиста) о том, что происходит обращение за пределы массива, а это в свою очередь является программной ошибкой.
Метод объекта не обнаружен
Подобная ошибка происходит тогда когда система пытается обратится к методу (функции) объекта, описание которого (которой) не существует в коде. Ошибки такого типа могут исправляются программистами.
Недостаточно памяти в 1с
Возможное исправление ошибки 1с «Недостаточно памяти»
Ошибка кроется в ограниченном выделении адресной памяти операционной системой под ПО (программное обеспечение).
Ограничения для адресной памяти по умолчанию составляют:
- для 32 битной системы – 2гб
- для 64 битной – 4 гб
Для того, что бы увеличить размер адресной памяти Вам необходимо сделать следующие действия:
- Запустите командную строку: “Пуск – Выполнить” – введите CMD и нажмите клавишу enter
- Теперь в командной строке введите текст без кавычек “bcdedit /set increaseuserva 3072″, где 3072 – размер желаемой адресной памяти
- Перезагрузите Вашу операционную систему (компьютер)
- Попробуйте выполнить то действие в 1С, которое не получалось ранее и приводило к ошибке.
- Если всё получилось и операция повторяется не так часто – рекомендуется вернуть размер адресной памяти к значению по умолчанию с помощью команды “bcdedit /deletevalue increaseuserva”
Ошибки связанные с таблицами SQL
Ошибки данного рода обычно возникают на стороне сервера, в тот момент когда система обращается к таблице и не может прочитать данные. Такая ошибка может возникать из-за не правильной настройки сервера, а также из-за повреждения таблиц SQL. В особых тяжелых ситуациях может даже не быть возможности восстановления базы данных, и тогда Вас может спасти только архивная копия базы данных. Мы настоятельно рекомендуем своевременно делать архивные копии базы данных.
Ошибка доступа в 1с
Данная ошибка происходит тогда когда пользователь пытается выполнить какое-либо действие которое запрещено правами доступа (роли). Именно поэтому система выдает ошибку доступа в 1с. Роли настраиваются в конфигураторе программистом.
Читайте также: