Зачем так сложно - копировать строки документа в цикле. Я так понял - нужно создать точную копию исходного документа? Используйте ВыгрузитьТабличнуюЧасть(..), ЗагрузитьТабличнуюЧасть(..). PS: Использование ДокОснование.ПолучитьСтрокуПоНомеру(стр); в начале циклов Для а=стр по ДокОснование.КоличествоСтрок() Цикл лишено смысла. Условие внутри цикла Пока ДокОснование.ПолучитьСтроку()=1 Цикл не совсем прозрачное для стороннего взгляда, нужно пройтись отладчиком на реальных данных. Лучше ставьте отладочные сообщения в этом цикле, и помотрите, сколько на самом деле копируется строк в новый документ. Но все эти "выкрутасы" с циклами не совсем понятны, если цель - ввести точно такой-же документ на основании.
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0
Цитата(DAS_Alex @ 30.05.11, 16:40)
Я говорил, что в программе проблемы не вижу. Теперь и Вам видно, что этот код не может удалять строки.
Но проблема-то есть. И разница между доками и операциями над ними есть только внутри 1с. Сети пофиг, что именно терять. Еще раз спрошу: как выполняется ввод на основании? Из какой формы и какими средствами?
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(vadim007 @ 30.05.11, 16:28)
Но все эти "выкрутасы" с циклами не совсем понятны, если цель - ввести точно такой-же документ на основании.
Табличная часть не всегда одинакова. Бывает точная копия, бывает со второй строки, бывает половина.
Цитата(Zaval @ 30.05.11, 17:20)
Но проблема-то есть. И разница между доками и операциями над ними есть только внутри 1с. Сети пофиг, что именно терять. Еще раз спрошу: как выполняется ввод на основании? Из какой формы и какими средствами?
В журнале выделяю документ и через правую кнопку мыши ввести на основании
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0
Новому доку присваивается Номер = Номеру Основания. Это зачем? Ищите, нет ли в системе хитрой общей процедуры, подравнивающей Основание по Подчиненному - для связки Счет - РН иногда такое делают, чтобы получить пакет доков, выправив только один.
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Zaval @ 31.05.11, 9:34)
Новому доку присваивается Номер = Номеру Основания. Это зачем?
Номер нового документа состоит из номера основания и отличительной буквы: новыйномер=старномер+например буква А и т.д. Так нужно производству. Так отслеживается цепочка до конца изготовления продукции.
Все равно не вижу проблемы в коде. Раньше было все нормально, а тут вдруг раз и ко стал корявым..
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0
Цитата(Zaval @ 30.05.11, 15:21)
Не могу понять разницы между "стр=1" и "иначе".
Аналогично. И еще вопрос. Переменной стр еще где-нибудь присваивается значение или она где-то еще определяется? Если данное условие
Если (Число(ДокОснование.Дата_к)<>0) и (ДокОснование.ПринятоКоличество<>0) Тогда
не выполняется, переменная стр остается неопределенной. Но даже это не должно удалять строки из документа основания, если нет еще каких-либо процедур, принимающих участие в процессе. Если раньше работало нормально и вдруг перестало, а при тестировании базы обнаружены ошибки, необходимо, как минимум, убрать ошибки. Удалить все индексы, выгрузить базу и загрузить в саму себя. Если получится, ошибки должны устраниться. А тогда уже анализировать работу ввода на основании. Не исключайте вариант, что и раньше бывали удаления строк, просто их не замечали. Вы сами своими руками делали подобный ввод на основании, при котором пропадали строки, или опираетесь на слова пользователей?
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0
Цитата(DAS_Alex @ 01.06.11, 15:37)
Сам видел только результат: открытый документ, введенный на основании, с оставшимися строками.
В таком случае нет никакой гарантии, что это не дело рук самих пользователей. Лучше лично убедиться в наличии описанной проблемы, а потом уже голову ломать. Совет из личного опыта.
Группа: Пользователи
Сообщений: 61
Спасибо сказали: 0 раз
Рейтинг: 0
Новая ситуация. Пользователь открыл документ в котором были строки, документ открылся с пустой многострочной частью. Нажав на кнопку "Закрыть" - документ не изменялся - 1С попросила сохранить документ. Пользователь не согласился и при следующем открытии многострочная часть документа была с строками.
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0
Цитата(DAS_Alex @ 07.06.11, 10:28)
Новая ситуация. Пользователь открыл документ в котором были строки, документ открылся с пустой многострочной частью. Нажав на кнопку "Закрыть" - документ не изменялся - 1С попросила сохранить документ. Пользователь не согласился и при следующем открытии многострочная часть документа была с строками.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!