поле агрегатного объекта не обнаружено аванс

Как устранить ошибку 1С: «Поле объекта не обнаружено»?

При постоянной работе с программой 1С (добавление данных, расширение функциональности, изменение конфигурации) часто может возникать ошибка 1С: «Поле объекта не обнаружено», когда программа затрудняется найти атрибут (объект), указанный пользователем. Это не критическая ошибка 1С, но ей стоит уделить особое внимание.

Рассмотрим, в каких случаях появляется ошибка 1С:«Поле объекта не обнаружено», а также причины возникновения и методы ее устранения.

Ошибка 1С при запуске программы.

Как правило, поводом для сбоя в работе служит установка нового релиза на устаревшую платформу или некорректное изменение конфигурации.

Методы устранения ошибки 1С: «Поле объекта не обнаружено»:

Функционирование одного или нескольких модулей останавливается, но программа 1С находится в рабочем состоянии.

В данном случае, вероятнее всего, понадобиться помощь профессионального программиста, который произведет диагностику и отладку системы с локализацией места возникновения ошибки 1С: «Поле объекта не обнаружено». Однако можно попробовать устранить сбой самостоятельно.

Неверные настройки программы 1С у одного из пользователей.

Для исправления ситуации необходимо воспользоваться системным меню: «Администрирование», «Настройки программы», «Настройки пользователя и прав», «Персональные настройки пользователя». При этом можно выявить устаревшие объекты или атрибуты, на которые ссылается пользователь.

Сбой в информационной базе 1С привел к повреждению объекта.

В этом случае рекомендуется войти в системное меню и выбрать соответствующую опцию: «Администрирование», «Конфигуратор», «Тестирование и исправление информационной базы». В процессе диагностики будут выявлены не существующие ссылки на объекты или устаревшие объекты, с предложением их удалить.

Источник

Поле объекта не обнаружено: как исправить эту ошибку в программе 1С и что это значит, рекомендации

поле агрегатного объекта не обнаружено аванс. Смотреть фото поле агрегатного объекта не обнаружено аванс. Смотреть картинку поле агрегатного объекта не обнаружено аванс. Картинка про поле агрегатного объекта не обнаружено аванс. Фото поле агрегатного объекта не обнаружено аванс

При постоянном использовании программного обеспечения в коммерческой деятельности часто приходится сталкиваться с различными багами, которые могут серьезно затормозить экономический процесс. И одна из подобных проблем и станет темой сегодняшнего обзора. Это ошибка в «1С: Предприятие» – «Поле объекта не обнаружено», мы тщательно и детально разберем, как исправить подобную неполадку в 1C. Сразу стоит уточнить, что этот баг не носит критического характера, серьезными проблемами все равно не обернется. Но приостановить выполнение задачи вполне сможет, что неприятно. Особенно если от заполнения формы зависят сроки, нарушать которые ни в коем случае нельзя. Да и часто без базовых навыков приходится обращаться к профессионалам. А они появляются не мгновенно, придется отправить запрос в компанию, осуществляющую техническое сопровождение. Зачастую понадобится около суток. И гораздо проще все сделать самостоятельно прямо на месте. А как это возможно, мы и узнаем в статье.

поле агрегатного объекта не обнаружено аванс. Смотреть фото поле агрегатного объекта не обнаружено аванс. Смотреть картинку поле агрегатного объекта не обнаружено аванс. Картинка про поле агрегатного объекта не обнаружено аванс. Фото поле агрегатного объекта не обнаружено аванс

«Поле объекта не обнаружено»: что значит уведомление и причины его появления

Разбираться можно и простыми логическими изысканиями. Поскольку проблема только с формой, то становится понятно, что сам объект присутствует. Он есть в базе конфигурации, будь то документ, справочник или модуль. Но вот его формальное выражение невозможно, поскольку релиз его не поддерживает. То есть зачастую все связано с тем, что новое программное обеспечение устанавливается напрямую на старую конфигурацию. И они по понятным причинам конфликтуют, ведь система обращается к тем данным и их формам, которые уже просто не используются. Запросы не могут быть нормально обработаны, ведь их способ оформления в коде уже изменился.

Существует несколько причин, по которым такая нестыковка может возникнуть на предприятии. К основным из них стоит отнести:

А теперь разберемся, как устранить этот баг. Приведем несколько вариантов, которые зависят от конкретной первопричины.

Итак, пройдемся конкретно по способам устранения.

Проблемы с обновлением

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

В этом случае мы в первую очередь проводим восстановление сохраненной (резервной) копии. При этом произойдет небольшой откат, ведь база будет без последних изменений, но выбора нет. Смотрим на результат, и если баг повторяется, когда сотрудники обращаются к модулям, значит, переходим к следующей стадии.

Есть вероятность, что сам размер новой информации в апдейте слишком крупный. И он не встает нормально на текущую базу данных. Правда, если неприятность возникает у большинства пользователей, то выпуск отзывается обратно, также переделывается объем информации, который подается дозировано.

Для проверки обновления на корректность перейдем на официальный сайт разработчика. А затем в поле поиска вводим название нашей текущей конфигурации, с которой и работает предприятие. И если действительно это не локальная неурядица, а крупный баг, то сайт выдаст несколько полезных сведений. Это название – поле объекта не обнаружено, код страны, 1С релиз, к которому будет исправлена эта недоработка и дата его выхода.

Баг платформы

Отличный вариант проверки – выявить нормально ли работает конфигурация с платформой. Обычно на диске сохраняется старая версия, и стоит попробовать использовать ее. Устанавливаем ее параллельно на компьютер, а потом запускаем проблемную конфигурацию уже на ней. И проверяем путем банального теста, возникает ли ошибка снова.

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

Чистим кеш

Некоторые пользователи считают, если вам мешает ошибка, «Поле объекта не обнаружено», информация 32-system или временные папки, – temp должна все равно оставаться неприкосновенной. Грубо говоря, вы боитесь трогать материалы, дабы не навредить. Но так поступают лишь люди, которые неграмотны в этой области. Ведь в temp-папках хранится кеш, временная информация. И она может быть как актуальной, так и устаревшей. И когда система обращается к неактуальному архиву, то у нее естественно возникают проблемы с соответствием формы объекта.

Поступаем следующим образом:

В стандартном проводнике вводим набор символов – %appdata%.

Нам понадобится конкретная папка, которая носит название – 1С\1cv8.

Теперь нам необходимо отсортировать сведения, то есть, папки внутри директории по дате последнего изменения. Так мы отсеем старые временные файлы от новых. Сортировка выполняется щелчком мыши по верхней строке – дата изменения. Теперь все старые файлы удаляем. Теоретически, логично попробовать очистить вообще весь кеш. Но это на первое время серьезно увеличит загрузку и темп работы системы. Хотя такой метод считается вполне безопасным.

Настройки пользователя

Если в 1С пишет «Поле объекта не обнаружено», данные, к которым обращается программа, зачастую существуют, но к ним просто нет доступа. И возможной причиной среди прочих стоит назвать некорректно настроенный профиль пользователя.

Переходим в персональные настройки в директории администрирования, а после выбираем полную очистку.

Укажите конкретного человека, профиль которого должен быть исправлен. Помните, что привилегии и права потом придется восстанавливать заново.

Конфигурация

Самый неприятный из возможных исходов. Ведь системных методов починки здесь не предусмотрено, поэтому придется все делать вручную. И если у вас не выйдет, помните, что вы всегда можете обратиться к профессионалам, которые не только решат технические проблемы, но и помогут серьезно расширить текущие возможности программного обеспечения, персонализировать их, а также проведут полную диагностику, выяснят, исправно ли работает ваша версия «1С: Организация», при этом проверка на «Поле объекта не обнаружено» прилагается.

Итак, когда сбой возникает очередной раз, нажимаем на значок подробного разбора.

Нам демонстрируют конкретные модули, с которыми и связана невозможность обработки. То есть, для них не существует корректной формы.

Далее включается конфигуратор. Умная система самостоятельно активирует его.

Смотрим на наличие возможности обработки. Обратите внимание на свойство «видимость» файлов, являющихся проблемными, поле которых не обнаруживается.

Открываем общий справочник по номенклатуре, и вводим там название нашего объекта. Смотрим на выдачу. В большинстве случаев формы программа не находит.

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

Сохраняем внесенные изменения, проводим обновление конфигурации. Проверяем результат. Если проблемы была определена верно, то никаких багов больше не наблюдается. Этот метод работает со всеми конфигурациями и настройками.

Сбой при запуске

Часто если возникает ошибка в 1С, поле объекта не обнаружено, руководитель просто не знает, как точно поступить. Работа стоит, сотрудники ждут решения. Вызывать мастеров или обращаться к сисадмину, в компетенцию которого этого не входит.

А ведь достаточно выполнить алгоритм из трех простых действия:

И если сбой возникает конкретно при запуске, то этих трех действий более, чем в половине случаев будет достаточно для исправления неполадки.

«Падает» модуль, но программа работает

Сложная ситуация. Выяснить конкретную причину стоит попытаться самостоятельно, посредством алгоритма, приведенного выше. Но если этот процесс не увенчается успехом, то неполадка кроется глубже. И здесь уже без специалиста не обойтись. Придется обращаться в специализированную компанию.

Сбиты настройки пользователя

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

Повреждение файла

Если поле не обнаружено, описание ошибки часто сообщает, что сам объект был поврежден. Виной тому становится некорректная установка или системная неполадка при конфликте версией программного обеспечения. Лучшим решением будет запуск Конфигуратора, а после – проверка программы на наличие повреждений тома. Таким образом, будут выявлены все файлы, которые работает на текущем этапе некорректно.

Исправляем ошибку

Теперь посмотрим на стандартные причины, которые уже были описаны выше. Но на несколько других примерах, чтобы было еще более наглядно.

Обновляем платформу

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

Переходим во вкладку «сервис», там смотрим не только конкретику по версии, но и рекомендуемую платформу. А дальше сравниваем ее с той, что установлена на нашем предприятии. Если возникает несоответствие, то логично предположить, что нормально работать система не будет. Она будет обращаться к пустым формам, которые уже не существуют. И в этом варианте, если поле объекта не обнаружено, значение бага кроется просто в конфликте версий. Нужно скачать с официального сайта корректный вариант для установки.

Удаление настроек

Мы не раз уже упоминали про этот пункт. И не зря, ведь львиная доля неполадок связана с ним. Для устранения их необходимо перейти в настройки прав и доступа через меню администрирования.

В следующем меню нам нужно сделать важный выбор. Если конфликт возникает на персональном компьютере одного сотрудника, то конкретного его настройки и вызывают сбой. Тогда нам нужно провести полную чистку его прав и параметров. Но если детально неясно, у кого проблема появляется, а кто ее миновал, то имеет смысл провести глобальную чистку. То есть, удалить настройки всех пользователей, управляющих системой. Да, потом придется повозиться, чтобы восстановить права. Как исправить ситуацию, если в 1С поле агрегатного объекта не обнаружено – это вопрос зачастую с одним ответом – просто сносить все персональные настройки.

поле агрегатного объекта не обнаружено аванс. Смотреть фото поле агрегатного объекта не обнаружено аванс. Смотреть картинку поле агрегатного объекта не обнаружено аванс. Картинка про поле агрегатного объекта не обнаружено аванс. Фото поле агрегатного объекта не обнаружено аванс

Восстанавливаем базу данных

Применяется методика в случае, когда все описанные выше приемы не дали результата. Тогда возникает серьезная вероятность, что неполадка кроется в самой базе. И восстановить ее весьма сложно. Если вы ранее не имели опыта в этом аспекте, возможно, лучше будет довериться профессионалам. Они быстро и без угрозы для системы проведут процедуру.

Самостоятельно же нам понадобится снова запустить конфигуратор, выбрать «тестирование и восстановление базы».

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

Создание файла – это имитация существующего элемента, которого на самом деле не будет. То есть ошибка исчезнет, потому что система будет считать, что обращается не к битому файлу. Но и открыть фантомный элемент не сможет, что логично. Если возникает баг, 1 С поле объекта не обнаружено, то после такой проверки уведомлений больше не будет, но корректная форма не появится из ниоткуда. Все равно придется обновлять платформу.

А вот в случае выбор удаления или очищения, все битые файлы будут автоматически удаляться с сервера. И обращаться к ним ПО не будет. Этот вариант тоже по-своему хорош. Но его лучше производить после обновления. Тогда, у нас останутся старые элементы, которые уже не нужны. И при обращении к ним будет появляться баг, который тормозит деятельность. А полное удаление во время тестирования все нерабочие файлы просто удалит, поэтому никакой путаницы возникать не будет.

Если вашей компании требуется ПО, с помощью которого можно ускорить рутинные операции, оптимизировать и автоматизировать многие рутинные процессы (например, маркировку товаров в магазине или инвентаризацию объектов на складе), обращайтесь в «Клеверенс». У нас найдется отличное решение для вашего бизнеса.

Источник

v7: Поле агрегатного объекта не обнаружено

Есть справочник НормаОбмундирования, на него ссылается другой справочник НормыОбмундирования и документ РасчетКомпенсации.
Для уточнения расчета для некоторой номенклатуры я указал в какой период она действует, чтобы в документе считалось все верно. Т.е создал новые реквизиты ДатаНачала и ДатаОкончания.
В справочнике НормыОбмундирования есть такая процедура
Процедура ЗаполнитьСоставНормы()
Если Выбран()=0 Тогда
Возврат;
КонецЕсли;
СписокНормы.УдалитьСтроки();
Состав = СоздатьОбъект(«Справочник.СоставНормы»);
Состав.ИспользоватьВладельца(ТекущийЭлемент());
Состав.ПорядокНаименований();
Состав.ВыбратьЭлементы();
Пока Состав.ПолучитьЭлемент() = 1 Цикл
Если Состав.ПометкаУдаления() = 1 Тогда
Продолжить;
КонецЕсли;
СписокНормы.НоваяСтрока();
СписокНормы.Ссылка=Состав.ТекущийЭлемент();
СписокНормы.Обмундирование = Состав.Обмундирование;
СписокНормы.ТипОбмундирования = Состав.ТипОбмундирования;
СписокНормы.ДатаНачала = Состав.ДатаНачала; //добавлено мной
СписокНормы.ДатаОкончания = Состав.ДатаОкончания; //добавлено мной
СписокНормы.Количество = Состав.КоличествоНаОдного;
СписокНормы.СрокНоски = Состав.СрокНоски;
СписокНормы.СуммаКомпенсации = Состав.СуммаКомпенсации.Получить(РабочаяДата());
КонецЦикла;
КонецПроцедуры
Эта процедура заполняет табличную часть, которая на вкладке СписокНормы
Также я ссылаюсь на эти новые реквизиты справочника в документе, код

НормаОбмундирования.НоваяСтрока();
НормаОбмундирования.Обмундирование = СоставНормы.Обмундирование;
НормаОбмундирования.ЭтоГруппа = СоставНормы.Обмундирование.ЭтоГруппа();
НормаОбмундирования.Количество = СоставНормы.КоличествоНаОдного;
НормаОбмундирования.СрокНоски = СоставНормы.СрокНоски;
НормаОбмундирования.ДатаНач = СоставНормы.ДатаНачала; //добавлено мной
НормаОбмундирования.ДатаОконч = СоставНормы.ДатаОкончания; //Добавлено мной

Но при добавлении этих новых реквизитов ругается, что справочник, что документ, пишет, что Поле агрегатного объекта не обнаружено. Отладчик пишет тоже самое, просто не идет дальше, а доходит до этих строк, выдает насчет поле агрегатного объекта и пропускает всю процедуру, переходя к следующей. Вот как тут

Источник

Поле агрегатного объекта не обнаружено (Товар)

Здравствуйте!
Сразу оговорюсь, я не программист, я бухгалтер. Сегодня почему-то перестала работать обработка, печатающая товарный отчет ТОРГ-29. Вот что, пишет при попытке сформировать его:
Если Док.Товар=Ит.Операция.Дебет.Субконто(1) Тогда
: Поле агрегатного объекта не обнаружено (Товар)

Помогите! Что это может быть. Раньше обработка работала.

Максим, отчет делаю по документам поступления и реализации.

Tatitutu, (4) так вот найди там 55 строку и напиши код сдесь всей процедуры или функции строка принадлежащую.
Можно попонятнее, что надо сделать. Откуда взять этот код?

Tatitutu, Если Док.Товар=Ит.Операция.Дебет.Субконто(1) Тогда
Это все, что написано в этой строке.

Вот весь модуль обработки:
Процедура Сформировать()
Если ПустоеЗначение(Товар)=1 Тогда
Предупреждение(«Выберите товар»);
СтатусВозврата(0);
Возврат;
КонецЕсли;

Состояние(«Инициализация. «);
Приход=СоздатьОбъект(«ТаблицаЗначений»);
Приход.НоваяКолонка(«Документ», «Документ»);
Приход.НоваяКолонка(«Товар», «Справочник.Номенклатура»);
Приход.НоваяКолонка(«Цена», «Число», 15, 2);
Приход.НоваяКолонка(«Количество», «Число», 14, 3);
Приход.НоваяКолонка(«Сумма», «Число», 15, 2);

Расход=СоздатьОбъект(«ТаблицаЗначений»);
Расход.НоваяКолонка(«Документ», «Документ»);
Расход.НоваяКолонка(«Товар», «Справочник.Номенклатура»);
Расход.НоваяКолонка(«Количество», «Число», 14, 3);
Расход.НоваяКолонка(«Цена», «Число», 14, 3);

Рез=СоздатьОбъект(«ТаблицаЗначений»);
Рез.НоваяКолонка(«Документ», «Документ»);
Рез.НоваяКолонка(«Товар», «Справочник.Номенклатура»); // здесь не использутся, оставлено на будущее
Рез.НоваяКолонка(«Цена», «Число», 15, 2); // здесь не использутся, оставлено на будущее
Рез.НоваяКолонка(«Количество», «Число», 14, 3); // здесь не использутся, оставлено на будущее
Рез.НоваяКолонка(«Сумма», «Число», 15, 2);

Ит = СоздатьОбъект(«БухгалтерскиеИтоги»);
Ит.ИспользоватьПланСчетов(ОсновнойПланСчетов());
Ит.ИспользоватьСубконто(«Номенклатура»,Товар);
Ит.ВыполнитьЗапрос(Дата(1980,1,1), ВыбКонПериода, «41». 1, «Проводка», «СК»);

Состояние(«Анализ прихода. «);
// Подготавливаем приход
Ит.ВыбратьПериоды();
Пока Ит.ПолучитьПериод() = 1 Цикл
Если Ит.Операция.Дебет.Счет.ПринадлежитГруппе(СчетПоКоду(«41»))=1 Тогда
Док=Ит.Операция.Документ;
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку()=1 Цикл
Если Док.Товар=Ит.Операция.Дебет.Субконто(1) Тогда
Приход.НоваяСтрока(1);
Приход.Документ=Док;
Приход.Товар=Док.Товар;
Приход.Цена=Док.Цена;
Если Док.ВариантРасчетаНалогов.СуммаВключаетНДС=1 Тогда
Приход.Цена=Приход.ЦенаЦена*5/6;
КонецЕсли;
Если Док.ВариантРасчетаНалогов.СуммаВключаетНП=1 Тогда
Приход.Цена=Приход.Цена/1.05;
КонецЕсли;
Приход.Количество=Док.Количество;
Приход.Сумма=Приход.Цена*Приход.Количество;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;

Состояние(«Группировка прихода. «);
Приход.Свернуть(«Документ,Товар,Цена», «Количество,Сумма»);
ПриходДляПечати=СоздатьОбъект(«ТаблицаЗначений»);
Приход.Выгрузить(ПриходДляПечати);

Состояние(«Анализ расхода. «);
// Подготавливаем расход
Ит.ВыбратьПериоды();
Пока Ит.ПолучитьПериод() = 1 Цикл
Если Ит.Операция.Кредит.Счет.ПринадлежитГруппе(СчетПоКоду(«41»))=1 Тогда
стр=0; кол=0;
Если Расход.НайтиЗначение(Ит.Операция.Документ, стр, кол)=0 Тогда
Док=Ит.Операция.Документ;
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку()=1 Цикл
Расход.НоваяСтрока();
Расход.Документ=Док.ТекущийДокумент();
Расход.Товар=Док.Товар;
Расход.Количество=Док.Количество;
Расход.Цена=Док.Цена;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЦикла;

// Вычитаем расход из прихода и формируем новый расход с приходными ценами
ВсегоОбработать=Расход.КоличествоСтрок();
Пока Расход.КоличествоСтрок()>0 Цикл
Состояние(«Расчет результирующей таблицы. Выполнено «+(ВсегоОбработать-Расход.КоличествоСтрок())+» из «+ВсегоОбработать);
Расход.ПолучитьСтрокуПоНомеру(1);
стр=0; кол=0;
Если Приход.НайтиЗначение(Расход.Товар, стр, кол)=1 Тогда
Приход.ПолучитьСтрокуПоНомеру(стр);
Если Расход.Количество = Приход.Количество Тогда
Рез.НоваяСтрока();
Рез.Документ=Расход.Документ;
Рез.Товар=Расход.Товар;
Рез.Цена=Расход.Цена;
Рез.Количество=Приход.Количество;
Рез.Сумма=Рез.Цена*Рез.Количество;
Расход.Количество=Расход.Количество-Приход.Количество;
Приход.Количество=0;
КонецЕсли;
Иначе
Расход.УдалитьСтроку(1);
КонецЕсли;
Если Приход.Количество=0 Тогда
Приход.УдалитьСтроку(стр);
КонецЕсли;
Если Расход.Количество=0 Тогда
Расход.УдалитьСтроку(1);
КонецЕсли;
КонецЦикла;

Состояние(«Группировка результатов. «);
Рез.Свернуть(«Документ»,»Сумма,Количество»);

Состояние(«Формирование печатной формы. «);
// Формируем печатную форму
Таб=СоздатьОбъект(«Таблица»);
Таб.ИсходнаяТаблица(«Отчет»);
Таб.ВывестиСекцию(«Шапка»);

БИ=СоздатьОбъект(«БухгалтерскиеИтоги»);
БИ.Рассчитать(ВыбНачПериода,ВыбКонПериода);
ОстатокНачала=БИ.СНД(«41″,»С»,,Товар);
ОстатокНачалаКолво=БИ.СНД(«41″,»К»,,Товар);

ВсегоДоков=0;
Ит.ИспользоватьСубконто(«Номенклатура»,Товар);
Ит.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, «41». 1, «Проводка», «СК»);
//ОстатокНачала=Ит.СНД();
//ОстатокНачалаКолво=Ит.СНД(«К»);

ПриходДляПечати.Свернуть(«Документ», «Сумма,Количество»);
ПриходДляПечати.ВыбратьСтроки();
Пока ПриходДляПечати.ПолучитьСтроку() = 1 Цикл
Док=ПриходДляПечати.Документ;
СуммаДока=ПриходДляПечати.Сумма;
КолвоДока=ПриходДляПечати.Количество;
Если Док.ДатаДок>=ВыбНачПериода Тогда
ИтогоПриход=ИтогоПриход+СуммаДока;
ИтогоПриходКолво=ИтогоПриходКолво+КолвоДока;
Если Док.Вид()=»ПродажаВРозницу» Тогда
Стр=Строка(Док.ПредставлениеВида());
Иначе
Стр=Строка(Док.Контрагент);
КонецЕсли;
Таб.ВывестиСекцию(«Строка»);
ВсегоДоков=ВсегоДоков+1;
КонецЕсли;
КонецЦикла;

Таб.ВывестиСекцию(«ИтогоПриход»);
Таб.ВывестиСекцию(«ВсегоПриход»);
Таб.ВывестиСекцию(«ШапкаРасхода»);

ИтогоРасход=0;
ИтогоРасходКолво=0;
Рез.ВыбратьСтроки();
Пока Рез.ПолучитьСтроку()=1 Цикл
Док=Рез.Документ;
СуммаДока=Рез.Сумма;
КолвоДока=Рез.Количество;
Если Док.ДатаДок>=ВыбНачПериода Тогда
ИтогоРасход=ИтогоРасход+СуммаДока;
ИтогоРасходКолво=ИтогоРасходКолво+КолвоДока;
Если Док.Вид()=»ТоварныйЧек» Тогда
Стр=Строка(Док.ПредставлениеВида());
Иначе
Стр=Строка(Док.Контрагент);
КонецЕсли;
Таб.ВывестиСекцию(«Строка»);
ВсегоДоков=ВсегоДоков+1;
КонецЕсли;
КонецЦикла;

Таб.ВывестиСекцию(«ИтогоРасход»);
Таб.ВывестиСекцию(«ОстатокКонца»);
// Таб.ВывестиСекцию(«ВсегоРасход»);
Таб.ВывестиСекцию(«Подвал»);

Если ВсегоДоков=0 Тогда
Предупреждение(«За указанный период движения по сч. 41 отсутствуют.»+РазделительСтрок+»Отчет не будет сформирован!»);
Иначе
Таб.Показать(«Товарный отчет за период с за период с «+Формат(ВыбНачПериода,»ДДДММММГГГГ»)+» по «+Формат(ВыбКонПериода,»ДДДММММГГГГ»));
КонецЕсли;
КонецПроцедуры

Процедура ПриОткрытии()
ВыбНачПериода = НачалоПериодаБИ();
ВыбКонПериода = КонецПериодаБИ();
КонецПроцедуры
Максим, обычная бухгалтерия, последний релиз.

Источник

Помогите пожалуйста. Поле агрегатного объекта не обнаружено

Всем здравствуйте! Мне нужно по сотрудника в должности отобрать вредные условия.
Написал код:
Сотрудник = СоздатьОбъект(«Справочник.Сотрудники»);
Сотрудник.ВыбратьЭлементы();
ВидыРаботСДосрочнойПенсией = Сотрудник.Должность.ВзимаютсяВзносыЗаЗанятыхНаРаботахСДосрочнойПенсией;

Если ВидыРаботСДосрочнойПенсией=Перечисление.ВидыРаботСДосрочнойПенсией.ПодземныеИВредныеРаботы Тогда

Пишет ошибку:Поле агрегатного объекта не обнаружено (ВзимаютсяВзносыЗаЗанятыхНаРаботахСДосрочнойПенсией)
Где Ошибка?

Должность = СоздатьОбъект(«Справочник.Должности»);
Должность.ИспользоватьВладельца(Сотрудник);
Должность.ВыбратьЭлементы();
Пока Должность.ПолучитьЭлемент() = 1 Цикл
ВидыРаботСДосрочнойПенсией = Сотрудник.Должность.ВзимаютсяВзносыЗаЗанятыхНаРаботахСДосрочнойПенсией;

Если ВидыРаботСДосрочнойПенсией=Перечисление.ВидыРаботСДосрочнойПенсией.ПодземныеИВредныеРаботы Тогда

Z.VSUMMA1 = НачПФР1;
Z.VSUMMA2 = НачПФР2;
Z.VSUMMA3 = НачПФР3;
иначе
Z.VSUMMA1 = 0;
Z.VSUMMA2 = 0;
Z.VSUMMA3 = 0;
КонецЕсли;
Если ВидыРаботСДосрочнойПенсией=Перечисление.ВидыРаботСДосрочнойПенсией.ТяжелыеИПрочиеРаботы Тогда
Z.TSUMMA1 = НачПФР1;
Z.TSUMMA2 = НачПФР2;
Z.TSUMMA3 = НачПФР3;
иначе
Z.TSUMMA1 = 0;
Z.TSUMMA2 = 0;
Z.TSUMMA3 = 0;
КонецЕсли;
КонецЦикла;
пишет ошибку: ВидыРаботСДосрочнойПенсией = Сотрудник.Должность.ВзимаютсяВзносыЗаЗанятыхНаРаботахСДосрочнойПенсией;
<Отчет.КарточкаУчетаПоСтраховымВзносам.Форма.Модуль(413)>: Значение не представляет агрегатный объект (Должность)

Сотрудник = СоздатьОбъект(«Справочник.Сотрудники»);
Сотрудник.ВыбратьЭлементы();
Пока Сотрудник.ПолучитьЭлемент()=1 Цикл
ВидыРаботСДосрочнойПенсией = Сотрудник.Должность.Получить([НужнаяДата]).ВзимаютсяВзносыЗаЗанятыхНаРаботахСДосрочнойПенсией;
Если ВидыРаботСДосрочнойПенсией = Перечисление.ВидыРаботСДосрочнойПенсией.ПодземныеИВредныеРаботы Тогда

Ещё замечу, что в цикле не помешало бы условие
Если Сотрудник.ЭтоГруппа()=1 Тогда
Продолжить
КонецЕсли;

Должность только для элементов.

Сотрудник = СоздатьОбъект(«Справочник.Сотрудники»);
Сотрудник.ВыбратьЭлементы();
ДатаМесяца=КонМесяца(Дата(Год));
Пока Сотрудник.ПолучитьЭлемент()=1 Цикл
ВидыРаботСДосрочнойПенсией = Сотрудник.Должность.Получить(ДатаМесяца).ВзимаютсяВзносыЗаЗанятыхНаРаботахСДосрочнойПенсией;

Если ВидыРаботСДосрочнойПенсией=Перечисление.ВидыРаботСДосрочнойПенсией.ПодземныеИВредныеРаботы Тогда

Z.VSUMMA1 = НачПФР1;
Z.VSUMMA2 = НачПФР2;
Z.VSUMMA3 = НачПФР3;
иначе
Z.VSUMMA1 = 0;
Z.VSUMMA2 = 0;
Z.VSUMMA3 = 0;
КонецЕсли;
Если ВидыРаботСДосрочнойПенсией=Перечисление.ВидыРаботСДосрочнойПенсией.ТяжелыеИПрочиеРаботы Тогда
Z.TSUMMA1 = НачПФР1;
Z.TSUMMA2 = НачПФР2;
Z.TSUMMA3 = НачПФР3;
иначе
Z.TSUMMA1 = 0;
Z.TSUMMA2 = 0;
Z.TSUMMA3 = 0;
КонецЕсли;
КонецЦикла;

НЕ ВИДИТ ВидыРаботСДосрочнойПенсией 🙁

Z.Добавить();
Фамилия = «»; Имя = «»; Отчество = «»;
глФамилияИмяОтчество(ФизЛицо,Фамилия,Имя,Отчество);
Z.KOD = ФизЛицо.Код;

Z.SUMMA1 = НачВсего1;
Z.SUMMA2 = НачВсего2;
Z.SUMMA3 = НачВсего3;
Z.SUMMAPFR1 = НачПФР1;
Z.SUMMAPFR2 = НачПФР2;
Z.SUMMAPFR3 = НачПФР3;

ДатаМесяца=КонМесяца(Дата(Год));
Сотрудник = СоздатьОбъект(«Справочник.Сотрудники»);
Сотрудник.ИспользоватьДату(ДатаМесяца,1);
Сотрудник.ВыбратьЭлементы();
Пока Сотрудник.ПолучитьЭлемент()=1 Цикл
ВидыРаботСДосрочнойПенсией = Сотрудник.Должность.ВзимаютсяВзносыЗаЗанятыхНаРаботахСДосрочнойПенсией;

Если ВидыРаботСДосрочнойПенсией=Перечисление.ВидыРаботСДосрочнойПенсией.ПодземныеИВредныеРаботы Тогда

Z.VSUMMA1 = НачПФР1;
Z.VSUMMA2 = НачПФР2;
Z.VSUMMA3 = НачПФР3;
иначе
Z.VSUMMA1 = 0;
Z.VSUMMA2 = 0;
Z.VSUMMA3 = 0;
КонецЕсли;
Если ВидыРаботСДосрочнойПенсией=Перечисление.ВидыРаботСДосрочнойПенсией.ТяжелыеИПрочиеРаботы Тогда
Z.TSUMMA1 = НачПФР1;
Z.TSUMMA2 = НачПФР2;
Z.TSUMMA3 = НачПФР3;
иначе
Z.TSUMMA1 = 0;
Z.TSUMMA2 = 0;
Z.TSUMMA3 = 0;
КонецЕсли;
КонецЦикла;
НачВсего1=0;
НачВсего2=0;
НачВсего3=0;

НачПФР1=0;
НачПФР2=0;
НачПФР3=0;

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *