Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 мая 2024, 08:41

Поле объекта не обнаружено (БазоваяЕдиницаИзмерения)

Автор Agrippina, 24 мар 2022, 14:02

0 Пользователей и 1 гость просматривают эту тему.

Agrippina

Доброго времени суток,уважаемые.

 При загрузке Отчетов о розничных продажах внешней обработкой в Бухгалтерию предприятия ред. 3.0 (3.0.108.36) платформа 1С:Предприятие 8.3 (8.3.19.1150),выдает ошибку(название темы).
 Обработка была написана для той же конфигурации,только ред.2.
 Обычные формы(конфигурацию открываю тоже не в управляемых)
Понимаю,что нужно сопоставить Единицу измерения Номенклатуры в новой конфигурации. КАК?
Пробовала прописать в коде -НайтиПоПолномуНаименованию("Штука") так же      НоваяНоменклатура.БазоваяЕдиницаИзмерения   = СправочникиСсылка.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");   

Обработка была написана до меня для выгрузки из М-Аптека Style(не 1CРозница Аптека)
 Возврат поставщику,акт списания и ПКО переносит в новую редакцию корректно.    
Буду очень признательна за помощь.

Yotram

Дело в том, что в БП 3.0 у реквизита справочника "Номенклатура" нет реквизита "БазоваяЕдиницаИзмерения". Зато есть реквизит "ЕдиницаИзмерения". По этому, Вам надо

Убрать
НоваяНоменклатура.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");

Добавить
НоваяНоменклатура.ЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");
"Дай человеку рыбу, и ты накормишь его на один день, научи его рыбачить, и он будет сыт всю жизнь"

Agrippina

Так и сделала-ошибка ушла.Правда возникла другая-разбираюсь с кодом,тем не менее-огромное спасибо за подсказку.

Agrippina

Ребята,приношу извинения,но теперь другая проблема(в приложенном скрине).
На мой взгляд(не программист я)функция "закольцевалась"
 Склоняюсь к полному удалению этого кода,но все-равно-сомневаюсь.
Пожалуйста,прошу помощи!

Yotram

Ну тут достаточно много ошибок.

1) Отсутствует препроцессорная директива &НаСервере. (не критичная, но в клиент сервере не стоит забывать)
2) Контрагент = Документ.Контрагент.ПолучитьОбъект();Излишне было "ПолучитьОбъект()" Вполне достаточно
Контрагент = Документ.Контрагент3. У справочника "Контрагенты" нет реквизита "ДоговорКонтрагента". Поэтому ошибка.

Здесь подробнее. Стоит иметь в виду что у контрагента может быть не один договор контрагента. Получить договор можно запросом, но какой запрос - зависит от условий. Смею предположить что нужен основной договор с поставщиком.

&НаСервере
Функция НайтиДоговор(Документ)

// ПолучитьОбъект() - не нужно. Мы работаем с ссылкой
Контрагент = Документ.Контрагент.ПолучитьОбъект();

// Запросом получаем основной договор контрагента.
// Дополнительно стоит добавить параметр "Организация" в случае если у Вас несколько организаций в базе
ТекстЗапроса = "ВЫБРАТЬ
               | ОсновныеДоговорыКонтрагента.Договор КАК Договор
               |ИЗ
               | РегистрСведений.ОсновныеДоговорыКонтрагента КАК ОсновныеДоговорыКонтрагента
               |ГДЕ
               | ОсновныеДоговорыКонтрагента.Контрагент = &Контрагент
               | И ОсновныеДоговорыКонтрагента.ВидДоговора = &ВидДоговора";

Запрос = Новый Запрос();
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Запрос.УстановитьПараметр("ВидДоговора", Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком);

// Делаем выборку (по желанию можно выгрузку). Если Договор есть до помещаем его в переменную
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ДоговорКонтрагента = Выборка.Договор;
Иначе
НовыйДоговор = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
НовыйДоговор.Владелец = Контрагент;
НовыйДоговор.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком;
НовыйДоговор.Организация = Организация; // Здесь, скорее всего вылезет ошибка. Ошибка будет если на форме нет реквизита формы "Организация"
НовыйДоговор.ВалютаВзаиморасчетов = Валюта; // Аналогично предыдущему пункту
НовыйДоговор.Наименование = "Основной договор";
НовыйДоговор.Записать();
ДоговорКонтрагента = НовыйДоговор.Ссылка;
КонецЕсли; 

Возврат ДоговорКонтрагента;

КонецФункции
"Дай человеку рыбу, и ты накормишь его на один день, научи его рыбачить, и он будет сыт всю жизнь"

Agrippina

Yotram, спасибо огромное Вам за помощь,док-ты Поступления товаров загрузились благополучно,НО..программа считает,что я загружаю ФИЗЛИЦ и "ругается" на ИНН(12 цифр,скрин прилагаю),хотя в программе все корректно,кроме того-создает при переносе док-ов новый договор,что неприемлемо(у нас строго партионный учет(УСН 15%)).
 Что я сделала не так?
Скрин кода -в приложении.   

DmitriyF

Цитата: Agrippina от 28 мар 2022, 13:45Yotram, спасибо огромное Вам за помощь,док-ты Поступления товаров загрузились благополучно,НО..программа считает,что я загружаю ФИЗЛИЦ и "ругается" на ИНН(12 цифр,скрин прилагаю),хотя в программе все корректно,кроме того-создает при переносе док-ов новый договор,что неприемлемо(у нас строго партионный учет(УСН 15%)).
 Что я сделала не так?
Скрин кода -в приложении.   
В вы откуда это все загружаете?

Agrippina

DmitriyF,из файла-M Аптека Style по запросу выгружает таблицы в файлы
txt.Складывает все в одну папку,которую я обработкой прописываю в каталог(путь) и загружаю в 1С.Пересматриваю код-не соображу-ГДЕ ПРОБЛЕМА?Если "ткнете носом"в "косяк",буду очень благодарна.Самой пока сложно понять...

DmitriyF

Цитата: Agrippina от 28 мар 2022, 16:35DmitriyF,из файла-M Аптека Style по запросу выгружает таблицы в файлы
txt.Складывает все в одну папку,которую я обработкой прописываю в каталог(путь) и загружаю в 1С.Пересматриваю код-не соображу-ГДЕ ПРОБЛЕМА?Если "ткнете носом"в "косяк",буду очень благодарна.Самой пока сложно понять...
Вам лучше обратиться к программисту. Там может еще не одно место в коде править придется

Agrippina

DmitriyF,спасибо за внимание и совет,но хочется самой понять,т.к.это не последняя,похоже,правка.Если в последующих релизах будут изменения,код придется снова править.Спасибо,всё-равно.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск