#0
by pnamik
Есть некий код в процедуре ПередЗаписью, который проверяет табличные части документа Для Каждого ТЧ Из Мета.ТабличныеЧасти Цикл 1) При удалении строки выводится сообщение "изменено кол.строк" Как сделать так, чтобы выводилось более подробная информация, например Удалена строка №... Варианты НовСтр.НовоеЗначение=НомерСтроки.Накладная; или НовСтр.НовоеЗначение=НомСтр.Накладная; не подходят по причине ошибки Переменная не определена (НомСтр) 2) Если в документе сделать одно изменение (например менять количество в одной строке), потом без записи документа документа сделать второе изменение (например менять количество в другой строке), и записывать документ, фиксируется только одно (первое) изменение. Как устранить? Спасибо за возможные помощь и подсказку
#1
by pnamik
Первую проблему удалось решить так Теперь при удалении самой последней строки накладной выдает ошибку {Документ.ПриходнаяНакладная.Форма.ФормаДокумента}: Индекс находится за границами массива При удалении других строк нормально фиксирует
#3
by pnamik
Если один раз менять, фиксирует нормально, если несколько раз, только последнюю фиксирует
#4
by pnamik
в модуле объекта не подходит. Как получить номер строки табличной части "Накладная" документа "Приходная Накладная"? Перепробовал всякие варианты Накладная.ТекСтрока.НомерСтроки НомСтр Строка (ТекСтрока.НомерСтроки) Ошибка Поле объекта не обнаружено
#5
by pnamik
или же другая ошибка {Документ.ПриходнаяНакладная}: Значение не является значением объектного типа (НомерСтроки)
#6
by pnamik
Ошибка {Документ.ПриходнаяНакладная}: Поле объекта не обнаружено (НомерСтроки) НомСтр=ЭтотОбъект.Накладная.НомерСтроки;
#8
by fishb1
У ЭтотОбъект.Накладная (если это ТЧ) не может быть свойства НомерСтроки. Лучше оставь как было, ты сейчас все сломаешь. :(
#9
by pnamik
Накладная это Табличная часть. Как с нее "выдрать" номер той строки, которая была удалена?
#10
by pnamik
сломать точно ничего не буду. Проверяю варианты, не подходит, возвращаюсь к исходной точке
#11
by pnamik
Накладная это табличная часть документа ПриходнойНакладной. Код в модуле документа в процедуре ПередЗаписью
#12
by fishb1
Объект ТЧ это по сути коллекция строк. Нужно циклом пройти по всем строкам в исходной ТЧ и если такой строки нет в измененной ТЧ, то значит она была удалена. Но по номеру строки связывать две тч не верно. Как уже говорили выше, пользователь может изменить порядок строк в измененной ТЧ. Нужно связывать по всем реквизитам, кроме номера строки, при условии, что значения будут уникальными.
#14
by pnamik
в выше указанном коде если заменить Если Ссылка[ИмяТЧ][НомСтр][ИмяРек]<>ЭтотОбъект[ИмяТЧ][НомСтр][ИмяРек] Тогда .... ... ... НовСтр.Реквизит="ТЧ."+ИмяТЧ; с в истории объекта номер строки, где были изменения, показывает с минусом -1, т.е. если изменения произвел на строке 6, в истории документа эта строка будет показана как 5-я. Нумерация строк с нуля начинается. Но это неважно. Хоть так. Но, если меняю Если Ссылка[ИмяТЧ].Количество<>ЭтотОбъект[ИмяТЧ].Количество Тогда ... на Ругается Переменная не определена (НомСтр)
#15
by fishb1
Правильно ругается, у тебя НомСтр используется в цикле ниже по коду. Если я правильно понял суть задачи, нужно делать примерно так: ... ...
#17
by pnamik
Эта система (код) хранит историю изменения объектов. История потом выводится в виде таблички, что и где и когда менял. То, что Вы предлагаете, это явно не то. Если есть время могу по тиму дать доступ, чтобы смотреть
#18
by pnamik
Здесь нужно что-то такое НомСтр=ЭтотОбъект.ФормаДокумента.ТекСтрока.НомерСтроки; чтобы определить, что такое НомСтр
#19
by Drac0
Не майся фигней. Положи рядом новый документ ТвойДокумент_Версия ,добавь ему реквизиты Родитель ,Автор, времяВерсии и создавай при его при записи.
#20
by pnamik
тут все заново получится. а так работающий код, только одну строку нужно менять/добавить. кто смелее 312 263 519 8311 две минуты активен
#23
by pnamik
какой то замкнутый круг. в первой части кода получается вывести в макет номер строки. а на первой части никак. ошибки то поле не обнаружено, то значение не то, то индекс не тот.
#24
by МимохожийОднако
Добавь реквизит ИсторияНомеровСтрок и кидай туда что хочешь перед началом редактирования
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Длина номера строки в табличной части.
- ТЗ. Удаление строки сдвигает строки?
- Вывод номера на печать
- Построитель отчетов: вывод (не вывод) группировок
- Данные строки при выводе строки - парево с видимостью
- Длина номера строки табличной части в 1С (v7.7)
- Ошибка "...Вывод запрещен по причине: Вывод запрещен" - ничего не понимаю :(
- СКД: СКД: Вывод итогов запроса периодами, вывод счетчика строк...
- Как при выводе строки в форме выбора выводить только определенные строки
- в СКД необходим вывод группировок выглядящий как вывод детальных записей
- Динамический список - выделенные строки - суммирование содержимого строки..
- v7: Перебрать строки табличной части документа. Реквизит строки с типом - Документ.
В этой группе 1С
- ВыделенныеСтроки не обновляются значения
- Сохранение декларации регламентной по НДС
- v7: Выгрузка декларации по НДС в комплексной 77 по шагам
- Перенос остатков на начало года из 8.3 в 8.3
- Как перебрать строки элемента ТаблицаФорма со свойствам ОтборСтрок
- как при запуске 1с, автоматически запустить внешний отчет?
- ЗначениеЗаполнено() за и против
- Применимость товаров в 1с УТ 11.1
- УТ 10.3 проблемы с обновлением
- Ошибка СУБД
- 1С: Розница 2.0.8.8 не вся сумма в z-отчете по безналу
- 1С 8.2 . СКД, запускать отчет с настройками по умолчанию
- Очень долго формируется типовая печатная форма MS Word из УТ 11
- Ограничение доступности полей по состоянию в 1с Документооборот
- Фискальный регистратор Штрих- М ФР
- Обращение к веб-сервису 1С
- v7: Хранение двоичных данных внутри обработки (ert)
- Конвертация данных из строки в перечисление
- 1с ЗУП 4ФСС
- v7: Как открыть форму не сохраненного документа ?