8.х Не записывается документ из за пустых реквизитов в движениях.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем TODD22, 28 фев 2017.

  1. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    5.064
    Симпатии:
    185
    Баллы:
    104
    Здравствуйте.
    Наступил я тут на очередные жёлтые грабли.....

    УТ 11. В ней есть документ у которого в ТЧ товары не заполнено несколько позиций номенклатуры.
    Строка есть, количество и тд есть. А самой номенклатуры нет. То же и в движениях этого документа.
    Из за чего при попытке провести, удалить, распровести, записать и тд вылетает ошибка.
    Ошибка при регистрации документа в плане обмена с сайтом. Ругается на второй параметр который как раз и есть номенклатура. Данные берутся из движений и программа пытается зарегистрировать, а там пустые ссылки.

    ТиИ не помогает. Есть вариант через SQL заполнить, но это сложно для меня :). Может есть другие варианты?
  2. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    343
    Баллы:
    104
    А для чего ТиИ?

    Чет не совсем понял. Ну есть документ. В ТЧ его колонка номенклатура не заполнена. Если просто открыть этот документ и заполнить те строки где пропущена номенклатура - так не дает что-ли?
  3. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    5.064
    Симпатии:
    185
    Баллы:
    104
    Документ загружен из обмена между УТ и Розницей.
    В документе в ТЧ не заполнены две позиции. Цена и количество есть. А вместо номенклатуры пусто(не "объект не найден", а пусто). То же и в движениях документа. Есть движения без номенклатуры.
    И теперь программа не даёт ничего делать с документом. Потому что пытается его перерегистрировать в плане обмена с сайтом. И для чего то проверяет его старые движения. А в них есть пустые позиции. Это всё дело вылетает с ошибкой.
  4. nsk1C
    Offline

    nsk1C Профессионал в 1С

    Регистрация:
    25 май 2016
    Сообщения:
    1.797
    Симпатии:
    175
    Баллы:
    104
    А обработкой "Групповое изменение реквизитов" понаходить и позаменять их?
  5. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    5.064
    Симпатии:
    185
    Баллы:
    104
    Проблема не в табличной части. А в уже сформированных движениях. Групповое изменение реквизитов может работать с движениями регистров?
    Тут скорее всего через SQL надо делать.
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.405
    Симпатии:
    973
    Баллы:
    204
    напиши обработку и проставь номенклатуру вручную(в тч и во всех регистрах, которые двигает документ) с помощью нее.

    Через SQL ты умудохаешься писать запрос, чтобы поменять значение на нужное в нужной строке, в нужной(-ых) таблице(-ах).
    Последнее редактирование: 28 фев 2017
  7. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    5.064
    Симпатии:
    185
    Баллы:
    104
    Какую обработку? Как я смогу в движениях регистров проставить значения без их перезаписи?
    Я пробовал вообще очистить через запись пустого набора движений по регистратору. Та же ошибка что и при записи документа и при проведении.
    Программа обрабатывает старые движения. В них не заполнена номенклатура.
    От того что я заполняю её в ТЧ ничего не меняется. Док не перезаписывается.
    Мне достаточно их просто очистить. Что бы я потом руками заполнил в ТЧ документа незаполненную номенклатуру и провёл док.
    Просто сейчас он повис со всеми движениями(не правильными с точки зрения учёта) и не удалить, не перезаписать движения от него я не могу.
  8. nsk1C
    Offline

    nsk1C Профессионал в 1С

    Регистрация:
    25 май 2016
    Сообщения:
    1.797
    Симпатии:
    175
    Баллы:
    104
    Я бы не заморачивался так глубоко
    Ну, или регистры, делающие движения, почистить - можно и вручную + есть в свободном доступе обработки

    Или обработкой "Регистрация изменений для обмена данными" снять все регистрации, а если не поможет, то пометить узлы обмена на удаление и всё, связанное с обменом - содержимре десятка регистров посносить.

    Мне , в основном приходилось иметь дело с конфигурациями на обычных формах - УТ 10.3, БП 2.0
    Там это регистры сведений, не нахожу такого в УТ 11:
    • - КоллизииПриОбмене
    • - ИсторияОбменаДанными
    • - ОтложенныеДвиженияДокументов
    • - др.
    как говорится, что видишь на закладках монитора обмена - так и регистры называются
    Ну по цепочке при удалении вс вылезет

    Мне кажется, кто занимался обменами - обяхательно этим занимался, а если не занимался, то пришла пора
  9. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    5.064
    Симпатии:
    185
    Баллы:
    104
    Хочу планы обмена с сайтом попробовать удалить.
    Регистрацию я уже чистил. Эта проблема при работе плана обмена с сайтом. Все обмены удалять то же не вариант. Там база обменивается с более чем 15 базами БП. Устанешь потом восстанавливать.
  10. nsk1C
    Offline

    nsk1C Профессионал в 1С

    Регистрация:
    25 май 2016
    Сообщения:
    1.797
    Симпатии:
    175
    Баллы:
    104
    Так удалять не надо, только пометить на удаление узлы обмена и поудалять связнное помеченным на удаление по цепочке.
    А потом восстановить
  11. 1с-ник
    Offline

    1с-ник Профессионал в 1С Заблокирован

    Регистрация:
    5 окт 2014
    Сообщения:
    998
    Симпатии:
    162
    Баллы:
    104
    Ну так найди подписку, где происходит регистрация, там 99% будет условие на отмену.
    Вероятно, что
    Код:
    Если Источник.ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;
    Далее открываешь православную обработку "группового изменения реквизитов" -> "режим разработчика", заполняешь ТЧ -> радуешься.
  12. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    5.064
    Симпатии:
    185
    Баллы:
    104
    1сник проблема не в заполнении ТЧ. С этим нет проблем. Проблема с ДВИЖЕНИЯМИ!!!!! В них есть строки с незаполненной номенклатурой. При попытке перезаписи движений система пытается зачем то старые движения с ошибкой регистрировать(или снимать с регистрации) в плане обмена. А так как есть незаполненная номенклатура то вылетает с ошибкой вот из за этой самой не заполненной номенклатуры.
    Мне нужно каким то образом удалить движения регистра, через запись пустого набора то же не получается. Потому что система опять таки пытается обрабатывать "старые" движения.
    А уже после удаления движений можно документ будет отредактировать.
  13. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.405
    Симпатии:
    973
    Баллы:
    204
    Код удаления движений какой был при этом?
  14. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    5.064
    Симпатии:
    185
    Баллы:
    104
    НабЗап = РегистрыНакопления.ОстаткиТоваров.СоздатьНаборЗаписей()
    НабЗап.Отбор.Регистратор.Установить(Док)
    НабЗап.Записать();

    Что то типа такого.
  15. 1с-ник
    Offline

    1с-ник Профессионал в 1С Заблокирован

    Регистрация:
    5 окт 2014
    Сообщения:
    998
    Симпатии:
    162
    Баллы:
    104
    Ну так дальше что происходит? Подписка на событие при изменении набора регистра остатков товара?
  16. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.405
    Симпатии:
    973
    Баллы:
    204
    Делай НабЗап.ОбменДанными.Загрузка = Истина.
  17. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    5.064
    Симпатии:
    185
    Баллы:
    104
    Не проканало.... с Загрузка=Истина.
    Та же ошибка.
    --- Объединение сообщений, 1 мар 2017 ---
    Код:
        СтарыйНаборЗаписей.Прочитать();
               
                Для каждого Запись Из СтарыйНаборЗаписей Цикл
               
                    ПланыОбмена.ЗарегистрироватьИзменения(МассивУзловТовары, Запись.Номенклатура);
               
                КонецЦикла;
    
    В "Запись.Номенклатура" попадает пустая номенклатура из "старого набора" и вылетает с ошибкой.
  18. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.405
    Симпатии:
    973
    Баллы:
    204
    Добавь перед

    Код:
    Если ЗаписываемыйНаборЗаписей.ОбменДанными.Загрузка Тогда
    Возврат;
    КонецЕсли;
    
    это все быстрее и проще, чем лезть в SQL таблицы

Поделиться этой страницей