Массово заполнить табличные части 100-а элементов справочника одного объекта.
1.
user1004898
2821.02.20 17:03 Сейчас в теме+2 $m
Массово заполнить табличные части 100-а элементов справочника одного объекта.
К примеру есть 100 соглашений. В каждом соглашении свои ТЧ Этапы оплаты, которые не заполнились при заполнении самого справочника через универсальную обработку "Загрузка данных из табли. документа". Также имею обработку "Групповая обработка данных", которая заполняет табличные части каждого отдельного элемента справочника.
Нигде не встречаю обработку под свои запросы.
Их не реально реализовать?
. Также имею обработку "Групповая обработка данных", которая заполняет табличные части каждого отдельного элемента справочника.
Нигде не встречаю обработку под свои запросы.
Инструменты разработчика тебе в помощь. http://devtool1c.ucoz.ru/ Там групповая обработка спокойно выполняет такие функции. Они есть внешние, но запускать только под толстым клиентом.
(2)
нет.
работают только для одного элемента одного справочника (если касается ТЧ).
Или для всех элементов одного вида справочника ( но ТЧ заполняется всегда почему-то отдельно)
(9)
Да, все соглашения, или отбором по определенным параметрам.
Данные заполняются или из таблицы ecxel, либо предопределенными (ТЧ Этапы оплаты имеет 4 реквизита, одно типа перечисление, остальные три числовые.)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Ссылка
|ИЗ
| Справочник.СоглашенияСКлиентами
|ГДЕ
| НЕ ПометкаУдаления";
//здесь допишите параметры которые вам нужны для отбора соглашений, на пометку уже есть условие
Выборка = Запрос.Выполнить().Выбрать();
Пока выборка.Следующий() Цикл
об = Выборка.ссылка.ПолучитьОбъект();
НовСтр = Об.ЭтапыГрафикаОплаты.Добавить();
НовСтр.ВариантОплаты = Перечисления.ВариантыОплатыКлиентом.АвансДоОбеспечения; //здесь укажите нужное значение перечисления
НовСтр.Сдвиг = 1; //укажите свое значение
НовСтр.ПроцентПлатежа = 100; //укажите свое значение
НовСтр.ПроцентЗалогаЗаТару = 0; //укажите свое значение
Попытка
Об.Записать();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецЦикла;
(13)получайте элементы справочника (как - запрос выше), перебирайте в цикле, проверяйте заполненность ТЧ "ТЧ Этапы оплаты".
Заполнена - следующий. Не заполнена - заполняйте (как в примере).
Вот и будут 100 элементов или сколько их там будет.
Введите счетчик, сосчитаете сразу.
(12)не НаСервере в УФ подобный код не выполнится в принципе.
А непосредственно выполнение - зависит от того, где этот самый код будет. НаКлиенте и НаСервере - актуально только для модуля формы.
(14) вообще всего 100 элементов - ставите "ВЫБРАТЬ ПЕРВЫЕ 100".
А если конкретно какие-то 100 элементов - зависит о того, чем они, эти элементы, отличаются от всех остальных. И это отличие фиксируется в виде условия запроса (или кодом, если, как выше, проверяется заполненность ТЧ, каковой объект в одноэсовых запросах проверить очень проблематично).
(15)
работал в ней.
Писал кстати:
Также имею обработку "Групповая обработка данных", которая заполняет табличные части каждого отдельного элемента справочника.
нужно как тут выражаются пользователи, 100 выборочных элементов.
например первые 20 соглашений, потом 5, потом еще 30, потом через десяток еще 45.
Ну сделайте в запросе Ссылка в (&Список)
А список заполните на форме. Добавьте туда реквизит. Тип укажите списокЗначений и значение Ваш справочник. При подборе используйте фильтры и множественный отбор. Все типовое же.
зачем тогда весь этот огород городить для разового отбора 100 элементов? Аналогично (дольше на 5 сек/элемент) он их переберет обработками "Групповая обработка справочников и документов" или "Групповое изменение реквизитов".
Как-то он же должен определить, какой элемент подлежит изменению? Вручную? Потом его в список? И за ради этого обработку писать? Она тут даже не одноразовая - она вообще не нужна.
я писал в теме.
""Также имею обработку "Групповая обработка данных", которая заполняет табличные части каждого отдельного элемента справочника.""
А хочется к примеру отобрать выборочно 100 соглашений (вот сейчас копаюсь в настройках выбора) и по этим 100 соглашениям сразу заполнить соответсвующие ТЧ ЭтапыОплаты.
(27) Можно отбирать отбором обрабатываемый список, сори за тавтологию. В отборе можно поставить Ссылка в списке. Положите в ваш список что вам нужно, и обрабатывайте на здоровье.
Тынц