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

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

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

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

Agrippina

Цитата: DmitriyF от 28 мар 2022, 18:44еще
Все остальное я поправила сама(конечно с помощью Yotram+М.Г.Радченко и Е.Ю.Хрусталева).

Yotram

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

Штош... По поводу первого пункта
Цитировать"программа считает,что я загружаю ФИЗЛИЦ"
В данном случае, надо копать в сторону создания контрагента. Полагаю вы его тоже создаете программно. Что то не так с реквизитом "ЮридическоеФизическоеЛицо". Попробуйте перевыбрать вид контрагента в карточке контрагента, программа проведет проверку, сообщение должно пропасть.

Цитироватьсоздает при переносе док-ов новый договор
Здесь все проще. Так как мы запросом ищем "Основной договор контрагента", а вновь созданный договор основным договором не является, он не найдя такого договора снова делает новый договор. Полагаю что небольшой кусок кода может поправить это.

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

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

    КонецЕсли; 
   
    Возврат ДоговорКонтрагента;
   
КонецФункции

Agrippina

Yotram,
Цитата: Yotram от 29 мар 2022, 00:40В данном случае, надо копать в сторону создания контрагента. Полагаю вы его тоже создаете программно. Что то не так с реквизитом "ЮридическоеФизическоеЛицо". Попробуйте перевыбрать вид контрагента в карточке контрагента, программа проведет проверку, сообщение должно пропасть.
Проделала это еще вчера-все встает на свои места,верно.И опцию"Использовать как основной"в списке договоров к/агента перепроверила.Мне вечером из фирмы прислали актуальную выгрузку-хочу"под микроскопом" перепроверить код и пробовать загружать документы.Отпишусь по результату в любом случае.Спасибо огромное ,что уделяете внимание моей проблеме. И да,организация в информационной базе одна и договор "С поставщиком"у каждого к/агента тоже-один(за редким исключением).

Оптимус

Цитата: Agrippina от 29 мар 2022, 08:51(за редким исключением)
Советую сюда всё же присмотреться, так как порой редкое бьёт метко!

Agrippina

Оптимус, согласна,особенно когда код правит"чайник"вроде меня,спасибо,что уделили внимание.

Agrippina

Цитата: Yotram от 29 мар 2022, 00:40Здесь все проще. Так как мы запросом ищем "Основной договор контрагента", а вновь созданный договор основным договором не является, он не найдя такого договора снова делает новый договор. Полагаю что небольшой кусок кода может поправить это.
Все поправила,предупреждений не выдает,но ругается на отсутствие поля"СтавкаНДС".Изменила код на "Виды ставокНДС"-проблема осталась.Закончу самые неотложные дела(по бухгалтерии)-вернусь к проблеме.Хочется докопаться самой :)
 

Теги:

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

Рейтинг@Mail.ru

Поиск