Поле владелец не заполнено 1с
Здравствуйте! Работаю в конфигурации ЗУП 2.5, создаю внешнюю обработку для загрузки данных. Вот часть кода, в которой выдается ошибка. ---------------------------------------------------------------------------------------------------------- Программа ругается и выдает такую ошибку: <Форма.Форма.Форма>: Ошибка при вызове метода контекста (Записать) НовыйЭЛ.Записать; по причине: Значение поля "Владелец" не заполнено или заполнено неверно. Подскажите как избавиться от этой ошибки.Форма.Форма.Форма>
Непонятки еще заключаются в том, что при запуске обработки, эта ошибка вылезает каждый раз по разному. Т.е. в первом запуске ошибка вылезает после обработки 5 строк, при втором запуске после 11 строк, при третьем после 30 строк.
Наверное потому, что где то как то у тебя все таки владелец заполняется
а вообще, нехорошо банки создавать. для этого целый классификатор естт
В принципе в какой стороне искать решение понял, пошел разбираться. Всем спасибо!
Все равно застопорился. Суть проблемы еще заключается в том, что контрагент по ТЗ создается после вот этой проверки. Вот само ТЗ: 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с)------------------------------------------------------------------------------------ Подскажите, где я ошибаюсь в написании кода
а можно я не буду читать гору букв, а спрошу: что не так?
Т.е. при выборе владельца, для элемента справочника "БанковскиеСчета" я не могу выбрать нужного контрагента, т.к. у меня нет нужных контрагентов в справочнике, а создаю я их только после того, как записываю элемент справочника "БанковскиеСчета"
Проблема в том, либо это ТЗ неправильно составлена, либо я что-то не понимаю (а учитывая уровень моих знаний в 1с, то я больше склонен к этой версии)
Для еще не сохраненного объекта можно получить ссылку нового, а потом использовать для других объектов.
не учите его плохому, пусть ТЗ правильно составляют
Сейчас пытаюсь такое провернуть, но есть пунк, который я прописал маленько "нашару", т.к. не знаю как это сделать правильно. Контрагенты.Ссылка ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.ОсновнойБанковскийСчет.Банк.Код = &Код" есть ли в системе контрагент, у которого основной банковский счет принадлежит банку с кодом (БИК-ом) банка из п.3.2 Если контрагент не найден, создать новый элемент справочника "Контрагенты", наименование = наименование элемента справочника Банки из п.3.2, Основной банковский счет = БанковскийСчет из п.3.2.2. ИНН заполнить как ИНН из файла (колонка H) КПП заполнить как КПП из файла (колонка I) Записть элемент справочника "Контрагенты". Я это прописываю так, но пятой точкой чувствую что делаю это неправильно --------------------------------
Включи отладчик и пошагово посмотри в своём коде. Тогда твои ощущения перейдут в практическое исправление ошибок.
Дело в том, что отладчик просто перескакивает весь запрос (что по идее ненормально). Поэтому и возникает такое ощущение, что код у меня неправильный. P.S. Я настолько начинающий, что данные отладчика мне мало что говорят.
А то что он сейчас будет заморачиваться с ПолучитьСсылкуНового и в итоге может получить "Объект не найден"(если будет делать не в транзакции) и дальнейшие проблемы, вместо того чтобы правильно составить ТЗ и создавать сначала владельца, а потом банковский счет.
Для отладки текста запроса есть Консоль запросов. Если остановиться на результате запроса, то его можно выгрузить в ТЗ и посмотреть. Например, Результат.Выгрузить
вот тут бредишь ИначеЕсли РезультатЗапроса = 0 Тогда результат запроса не может быть 0.
ТЗ составлен максимально корректно. Это ТС читать не умеет. Читаем: проверить запросом ВЫБРАТЬ Контрагенты.Ссылка ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.ОсновнойБанковскийСчет.Банк.Код = &Код" есть ли в системе контрагент, у которого основной банковский счет принадлежит банку с кодом (БИК-ом) банка из п.3.2 пока все понятно, проверили, НИЧЕГО НЕ СОЗДАЕМ ПОКА ЕЩЕ (поскольку нет такого в ТЗ). Далее: есть ли в системе контрагент, у которого основной банковский счет принадлежит банку с кодом (БИК-ом) банка из п.3.2 . Если контрагент не найден, создать новый элемент справочника "Контрагенты". наименование = наименование элемента справочника Банки из п.3.2, Если контрагент не найден, создать контрагента (Контрагента, Карл. ) А потом уже банковский счет
Ну вот теперь голову в руки, руки с одного места на правильное пересади и делай в соответствии с ТЗ
Руки в правильном месте. Знаний в голове пока нету. От этого и куча вопросом и непоняток
Собеседование через мисту? Круто, че. ТС спалился походу, теперь не возьмут.
кто вообще составлял это тз? как может название контрагента совпасть с названием банка?
Нет, не собеседование. Уже рабочее задание. На несложных заказах учусь программировать. Стараюсь сам разбираться, но далеко не всегда получается. P.S. Работать взяли абсолютно без знания 1с, так что сейчас все это наверстываю
Начинай с вдумчивого чтения ТЗ. Лучше несколько раз.
Да, уже на своем недельном опыте начинаю это понимать. Внимательность и грамотное обдумывание, ну и конечно знания, без них никуда.
Суть проблемы еще заключается в том, что контрагент по ТЗ создается после вот этой проверки.
Вот само ТЗ:
3.2 Если значение в файле в колонке "J"(БИК) заполнено, поиск по коду в справочнике Банки. Т.е. код справочника = БИК из файла.
3.2.1 Если Банк не найден, создать элемент справочника "Банки", код = "БИК" (колонка J), наименование = "БАНК ПОЛУЧАТЕЛЬ. " (колонка F), ГОРОД = "ГОРОД. " (колонка G), КоррСчет = "КОР. СЧЕТ" (колонка K). Записать новый элемент справочника "Банки".
3.2.2 Следом, создать элемент справочника "БанковскиеСчета", реквизит "Банк" заполнить элементом справочника из п. 3.2.1, записать созданный элемент справочника ""БанковскиеСчета"
3.2.3
проверить запросом"
ВЫБРАТЬ
Контрагенты.Ссылка
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
Контрагенты.ОсновнойБанковскийСчет.Банк.Код = &Код"
есть ли в системе контрагент, у которого основной банковский счет принадлежит банку с кодом (БИК-ом) банка из п.3.2
Если контрагент не найден, создать новый элемент справочника "Контрагенты", наименование = наименование элемента справочника Банки из п.3.2,
Основной банковский счет = БанковскийСчет из п.3.2.2.
ИНН заполнить как ИНН из файла (колонка H)
КПП заполнить как КПП из файла (колонка I)
Записть элемент справочника "Контрагенты".
3.2.4 - Если значение в файле в колонке "J"(БИК) НЕ заполнено, предполагается что банка нет.
Ищем контрагнета в справочнике "Контрагенты" по наименвоанию, колонка "F"
Если контрагент не найден, создаем контрагента аналогично п.3.2.3, Но реквизит "Основной банковский счет" не заполняется, никаких запросов проверки тоже нет, только алгоритм создания. Наименование = значение колонки "F"
Вот код, который я прописываю (не судите строго, всего неделю как изучаю программирование 1с)------------------------------------------------------------------------------------
Подскажите, где я ошибаюсь в написании кода
Значение "ЗонаПарка" не заполнено или заполнено неверно
Добрый вечер! Я создал справочники Аттракционы и ЗоныПарка. В справочнике Аттракционы в качестве.
Error: Обязательное поле "Окончание активности" не заполнено
Доброго времени суток! Создал собственную форму использовал CModule::IncludeModule("iblock");.
Чем заполнено "пустое" поле таблицы DBF?
Подскажите пожалуйста, из аксеса запросом на обновление заполняю дбф-ку. Дбф-ка заполняется на.
Проверить, правильно ли заполнено поле "Город, страна"
Всем доброго времени суток. Собственно, нужно проверить соответствует ли следующему шаблону текст.
Проверить заполнено поле или нет (web)
Подскажите , пожалуйста, как проверить при сохранении документа заполнено поле или нет и вывести.
Проконтролировать, заполнено поле в диалоговом окне или нет
Пытаюсь ввести данные с диалогового окна, надо проконтролировать заполнено поле или нет написал.
Читайте также: