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

Переноса документа 2

Автор herosmart, 12 мар 2015, 09:18

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

herosmart

Доброго времени суток.

  Переношу документ из одной базы в другую. Проблема состоит в том, что если в базе-приемнике уже есть такой документ, то вылетает ошибка, что поле НОМЕР не уникально. Суть ошибки я понимаю, но мне нужно, чтобы в таком случае документ либо заменялся, либо цикл шел дальше (пока не найдет и не запишет документ, которого еще нет в базе). Когда реализовывал то же самое со справочниками - проблем не было. Код отдельный для замены уже имеющихся элементов никакой не писал. Все происходило автоматом. В чем сейчас ошибка?

P.S. Код обработки прилагаю.

SitnovaMarina

Скорее всего проблема в условии
если значениезаполнено(найденныйдокумент)....

Если документ не найден, то он по-моему возвращает пустую ссылку, поэтому нужно проверять на условие ....документы.счетнаоплату.пустаяссылка()....

Поставьте точку остановки
Народная мудрость: Программу встречают по интерфейсу

herosmart

Цитата: SitnovaMarina от 12 мар 2015, 09:27
Скорее всего проблема в условии
если значениезаполнено(найденныйдокумент)....

Если документ не найден, то он по-моему возвращает пустую ссылку, поэтому нужно проверять на условие ....документы.счетнаоплату.пустаяссылка()....

Поставьте точку остановки

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

LexaK

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

НайденныйДокумент = Документы.СчетНаОплатуПокупателю.НайтиПоНомеру(УИД, Выборка.Ссылка.Дата);
если помогло нажмите: Спасибо!

cska-fanat-kz

в последнем условии не хватает ветки "Иначе"
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

herosmart

Цитата: cska-fanat-kz от 12 мар 2015, 10:13
в последнем условии не хватает ветки "Иначе"

Так ветка эта есть же.

Иначе Сообщить("...");
Проблема была как раз в дате, как подсказали выше.
Добавлено: 12 мар 2015, 10:29


Цитата: LexaK от 12 мар 2015, 09:54
наверно дату забыли указать при поиске документа по номеру, читайте СП.

НайденныйДокумент = Документы.СчетНаОплатуПокупателю.НайтиПоНомеру(УИД, Выборка.Ссылка.Дата);


Огромное спасибо! Все работает. Даже не подумал, что все так просто решается.

cska-fanat-kz

Цитата: herosmart от 12 мар 2015, 10:27Так ветка эта есть же.

Иначе Сообщить("...");
Проблема была как раз в дате, как подсказали выше.

на скрине с кодом нет никакой ветки "Иначе"...
ну да бог с ним, помогло так помогло.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

herosmart

Цитата: cska-fanat-kz от 12 мар 2015, 11:03
Цитата: herosmart от 12 мар 2015, 10:27Так ветка эта есть же.

Иначе Сообщить("...");
Проблема была как раз в дате, как подсказали выше.

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

Прошу прощения, скрин старый. Не увидел)

Теги:

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

Рейтинг@Mail.ru

Поиск