Значение поля "Владелец" не заполнено или заполнено неверно #758318


#0 by Reclaim
Здравствуйте! Работаю в конфигурации ЗУП 2.5, создаю внешнюю обработку для загрузки данных. Вот часть кода, в которой выдается ошибка. ---------------------------------------------------------------------------------------------------------- Программа ругается и выдает такую ошибку: {Форма.Форма.Форма}: Ошибка при вызове метода контекста (Записать) НовыйЭЛ.Записать; по причине: Значение поля "Владелец" не заполнено или заполнено неверно. Подскажите как избавиться от этой ошибки.
#1 by Горогуля
заполнить поле? нет, не то
#2 by tixis
Заполнить владельца наверное
#3 by Горогуля
это слишком просто, автор явно уже подумал об этом
#4 by Reclaim
Непонятки еще заключаются в том, что при запуске обработки, эта ошибка вылезает каждый раз по разному. Т.е. в первом запуске ошибка вылезает после обработки 5 строк, при втором запуске после 11 строк, при третьем после 30 строк...
#5 by cw014
Наверное потому, что где то как то у тебя все таки владелец заполняется
#6 by Горогуля
вот так выглядит работа условного перехода
#7 by МимохожийОднако
#8 by Горогуля
а вообще, нехорошо банки создавать. для этого целый классификатор естт
#9 by Reclaim
В принципе в какой стороне искать решение понял, пошел разбираться. Всем спасибо!
#10 by Reclaim
Все равно застопорился... Суть проблемы еще заключается в том, что контрагент по ТЗ создается после вот этой проверки. Вот само ТЗ: 3.2 Если значение в файле в колонке "J"(БИК) заполнено, поиск по коду в справочнике Банки. Т.е. код справочника = БИК из файла. 3.2.1 Если Банк не найден, создать элемент справочника "Банки", код = "БИК" (колонка J), наименование = "БАНК ПОЛУЧАТЕЛЬ..." (колонка F), ГОРОД = "ГОРОД..." (колонка G), КоррСчет = "КОР. СЧЕТ" (колонка K). Записать новый элемент справочника "Банки". 3.2.2 Следом, создать элемент справочника "БанковскиеСчета", реквизит "Банк" заполнить элементом справочника из п. 3.2.1, записать созданный элемент справочника ""БанковскиеСчета" Контрагенты.Ссылка ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.ОсновнойБанковскийСчет.Банк.Код = &Код" есть ли в системе контрагент, у которого основной банковский счет принадлежит банку с кодом (БИК-ом) банка из п.3.2 Если контрагент не найден, создать новый элемент справочника "Контрагенты", наименование = наименование элемента справочника Банки из п.3.2, Основной банковский счет = БанковскийСчет из п.3.2.2. ИНН заполнить как ИНН из файла (колонка H) КПП заполнить как КПП из файла (колонка I) Записть элемент справочника "Контрагенты". 3.2.4 - Если значение в файле в колонке "J"(БИК) НЕ заполнено, предполагается что банка нет. Ищем контрагнета в справочнике "Контрагенты" по наименвоанию, колонка "F" Если контрагент не найден, создаем контрагента аналогично п.3.2.3, Но реквизит "Основной банковский счет" не заполняется, никаких запросов проверки тоже нет, только алгоритм создания. Наименование = значение колонки "F" Вот код, который я прописываю (не судите строго, всего неделю как изучаю программирование 1с)------------------------------------------------------------------------------------ Подскажите, где я ошибаюсь в написании кода
#11 by Горогуля
а можно я не буду читать гору букв, а спрошу: что не так?
#12 by Reclaim
Т.е. при выборе владельца, для элемента справочника "БанковскиеСчета" я не могу выбрать нужного контрагента, т.к. у меня нет нужных контрагентов в справочнике, а создаю я их только после того, как записываю элемент справочника "БанковскиеСчета"
#13 by Горогуля
это очень хорошо
#14 by Reclaim
Проблема в том, либо это ТЗ неправильно составлена, либо я что-то не понимаю (а учитывая уровень моих знаний в 1с, то я больше склонен к этой версии)
#15 by redding
А в чем проблема делать наоборот?)
#16 by МимохожийОднако
Для еще не сохраненного объекта можно получить ссылку нового, а потом использовать для других объектов.
#17 by aleks_default
не учите его плохому, пусть ТЗ правильно составляют
#18 by Reclaim
Сейчас пытаюсь такое провернуть, но есть пунк, который я прописал маленько "нашару", т.к. не знаю как это сделать правильно. Контрагенты.Ссылка ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.ОсновнойБанковскийСчет.Банк.Код = &Код" есть ли в системе контрагент, у которого основной банковский счет принадлежит банку с кодом (БИК-ом) банка из п.3.2 Если контрагент не найден, создать новый элемент справочника "Контрагенты", наименование = наименование элемента справочника Банки из п.3.2, Основной банковский счет = БанковскийСчет из п.3.2.2. ИНН заполнить как ИНН из файла (колонка H) КПП заполнить как КПП из файла (колонка I) Записть элемент справочника "Контрагенты". Я это прописываю так, но пятой точкой чувствую что делаю это неправильно --------------------------------
#19 by МимохожийОднако
Что же плохого? (если это всерьёз)
#20 by МимохожийОднако
Включи отладчик и пошагово посмотри в своём коде. Тогда твои ощущения перейдут в практическое исправление ошибок.
#21 by Reclaim
Дело в том, что отладчик просто перескакивает весь запрос (что по идее ненормально). Поэтому и возникает такое ощущение, что код у меня неправильный. P.S. Я настолько начинающий, что данные отладчика мне мало что говорят.
#22 by Горогуля
пошаговая отладка запроса в принципе невозможна
#23 by aleks_default
А то что он сейчас будет заморачиваться с ПолучитьСсылкуНового и в итоге может получить "Объект не найден"(если будет делать не в транзакции) и дальнейшие проблемы, вместо того чтобы правильно составить ТЗ и создавать сначала владельца, а потом банковский счет.
#24 by МимохожийОднако
Для отладки текста запроса есть Консоль запросов. Если остановиться на результате запроса, то его можно выгрузить в ТЗ и посмотреть. Например, Результат.Выгрузить
#25 by МимохожийОднако
Думаешь, ему будут повторно ТЗ составлять?
#26 by aleks_default
сам не дурак должен быть
#27 by hhhh
вот тут бредишь                        ИначеЕсли РезультатЗапроса = 0 Тогда результат запроса не может быть 0.
#28 by МимохожийОднако
ОФФ:Строг ты, батенька. Мы также начинали.
#29 by cw014
ТЗ составлен максимально корректно. Это ТС читать не умеет. Читаем: проверить запросом ВЫБРАТЬ Контрагенты.Ссылка ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.ОсновнойБанковскийСчет.Банк.Код = &Код" есть ли в системе контрагент, у которого основной банковский счет принадлежит банку с кодом (БИК-ом) банка из п.3.2 пока все понятно, проверили, НИЧЕГО НЕ СОЗДАЕМ ПОКА ЕЩЕ (поскольку нет такого в ТЗ). Далее: есть ли в системе контрагент, у которого основной банковский счет принадлежит банку с кодом (БИК-ом) банка из п.3.2 !!!Если контрагент не найден, создать новый элемент справочника "Контрагенты",!!! наименование = наименование элемента справочника Банки из п.3.2, Если контрагент не найден, создать контрагента (Контрагента, Карл!!!) А потом уже банковский счет
#30 by Reclaim
Проблема в том, либо это ТЗ неправильно составлена, либо я что-то не понимаю (а учитывая уровень моих знаний в 1с, то я больше склонен к этой версии) Писал такое некоторое количество сообщений назад, так что замечание правильное
#31 by cw014
Ну вот теперь голову в руки, руки с одного места на правильное пересади и делай в соответствии с ТЗ
#32 by Reclaim
Руки в правильном месте. Знаний в голове пока нету. От этого и куча вопросом и непоняток
#33 by aleks_default
Собеседование через мисту? Круто, че. ТС спалился походу, теперь не возьмут...
#34 by hhhh
кто вообще составлял это тз? как может название контрагента совпасть с названием банка?
#35 by ДенисЧ
А кто сказал, что не может?
#36 by Reclaim
Нет, не собеседование. Уже рабочее задание. На несложных заказах учусь программировать. Стараюсь сам разбираться, но далеко не всегда получается. P.S. Работать взяли абсолютно без знания 1с, так что сейчас все это наверстываю
#37 by aleks_default
Начинай с вдумчивого чтения ТЗ. Лучше несколько раз.
#38 by Reclaim
Да, уже на своем недельном опыте начинаю это понимать. Внимательность и грамотное обдумывание, ну и конечно знания, без них никуда.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С