#0
by Гений 1С
В общем задача такая - при добавлении новой строки нужно проставить в ней флажок Добавлена, означающий что строка была добавлена вручную. Добавлена строка может быть или кнопкой INS(добавление) или кнопкой F9 (дублирование). При добавлении последовательность событий такая: * ПередНачаломДобавления - строка еще не доступна * ПриАктивизацииЯчейки - строка уже доступна, анализируя было ли перед этим событие ПередНачаломДобавления определяем, что строка новая, нужно проставить флаг. При дублировании последовательность событий такая: * ПередНачаломДобавления - строка еще не доступна * ПриАктивизацииЯчейки - строка уже доступна, но строка пустая. * Повторная ПриАктивизацииЯчейки - строка уже заполнена. Ну и как мне однозначно в обработчике ПриАктивизацииЯчейки определить, строка новая или не новая, блин.
#2
by zbv
а зачем обзательно при ПриАктивизацииЯчейки определять? Точно не помню, а 8-ки нет под рукой, но вроде есть процедуры, связанные с редактированием, а там есть параметры НоваяСтрока, Копирование...
#3
by Великий Нехочуха
Синтаксис: ПриНачалеРедактирования(<Новая строка>, <Копирование>) Параметры: <Новая строка> Тип: Булево. Признак редактирования новой строки. Имеет значение Истина, если строка была добавлена или скопирована. <Копирование> Тип: Булево. Если данный параметр имеет значение Истина, то выполняется копирование строки.
#8
by Гений 1С
нехочуха в пролете - если в строке нет доступных для редактирования полей, то приначалередактирования не вызывается!!! Короче я вышел из положения - в событии передначаломДобавления ставлю отказ и добавляю строку собственными силами. Маразматическая схема событий, просто идиотская... Нуралиева - на мыло!
#11
by wPa
А добавить невидимое булево поле в таб часть и при записи его занулять, а при вводу строки устанавливать? тогда при активизации всегда знаешь новая или нет...как?
#15
by Гений 1С
тогда уж проще сэмулировать добавление. К тому же для невидимых полей не будет вызываться событие "ПриНачалеРедактирвования", оно вызывается не при добавлении строки, а при БУКВАЛЬНо начале редактирования поля. Убого, с тоской вспоминаю триггеры Navision
#18
by Гений 1С
Ну на самом деле, там есть доступные поля. Просто при добавлении новой строки активизируется ячейка, которую пользователь не имеет права редактировать, и я ставлю на эту колонку ТолькоПросмотр=истина, в результате чего ПриНачалеРедактирования не вызывается. Т.е. иными словами, в 1С нельзя гарантированно получить событие добавление новой строки. Криво
#22
by Гений 1С
Гы, товарищ, ты не понял. Есть строки, добавленные обработкой - например по нажатию кнопочки заполнить, а есть строки, добавленныя ручками, пользователем по нажатии кнопочки Инсерт.
#24
by Neco
Кстати, всяческие события можно эмулировать с помощью подключения обработчика ожидания (ПодключитьОбработчикОжидания) и в этой процедуры с некой периодичностью проверять нужные данные. ЗЫ: Согласен, не совсем правильный подход обработки событий но иногда помогает ;-)
#25
by wPa
При заполнении обработкой ставишь скрытое поле связанных данных в истина для строки - т.е. заполнено обработкой. Если при активизации поле ложь - значит строка добавлена не твоей обработкой. Иль опять я не догнал ) ок.
#26
by wPa
Единственное что - в обработке события ПередНачаломДобавления проверять передаваемый параметр Копирование - если истина обнулять это поле...
#30
by Jolly Roger
Гений, а чем не нравится решение в ? По-моему, нормально: перехватить добавление и добавить строку вручную.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- V8: Как перебрать строки поля табличного документа?
- Как обойти строки табличного поля?
- Как программно задать Связь по Владельцу для Поля ввода Табличного поля?
- Хитрая система оповещений, чтобы не насиловать типовой ЗУП.
- программно вызвать обработку события поля ввода табличного поля "начало выбора"?
- Как обойти строки табличного поля?
- Тип значения для поля ввода в колонке Табличного поля
- Хитрая нумерация документов
- Активизация строки табличного поля
- Обработчик события ПриИзменении у поля ввода у ячейки табличного поля
- Подстроить размер выводимой области табличного документа к окну табличного поля
- Как в конфигураторе добраться до поля ввода табличного поля невидимого на форме
В этой группе 1С
- Ожидается константа типа Число, Строка, Дата или Булево
- v7: Как правильно отразить Поступление ОС по договору лизинга ?
- Как запросом выбрать записи из регистра с признаком движения "Приход"
- Способы уменьшения трафика RDP при удаленке
- Аппаратная ошибка ntvdm.exe
- Отличие Индекс() и НомерСтроки в табличной части
- внутренний код элемента справочника
- Где найти все описания Типов?
- Как сохранить значения табличного поля в форме?
- Поиск в табличной части формы списка справочника
- Амортизация ОС
- УПП - переделы
- TCPClient'ом из .Net к 1С через netaInet.dll
- ФР Спарк 700 ТК не печатает Чек, помогите.
- Как принудительно удалить периодический реквизит справочника заданный докум
- Из справочника в регистр сведений
- Торговля "Кратность взаиморасчетов"
- Принтер надпечатки при сканировании. Кто что знает?
- Выплата зарплаты в БП
- Анализе Заказов покупателей в УТ 10,2.11