#0
by 5jam
КД 2.1.5.1 Из БП в УАТ пользователь выгружает номенклатуру. Чтобы пользователь по ошибке не выгрузил весь справочник хотелось бы установить ограничение: если количество выгружаемой за раз номенклатуры больше 30, то не выгружать (или хотябы не загружать). Добавил Параметры.ТаблицаНоменклатуры и заносил туда Номенклатуру ПослеВыгрузки затем считаю ее там и пытаюсь как то предотвратить выгрузку или хотя бы загрузку. Если сделать Отказ = Истина ПослеВыгрузкиДанных или ПослеВыгрОбъекта, то выгрузка прерывается, но выгруженные до этого объекты все же загружаются в Приемник. Передавал параметр в Приемник, так они доступны только ПослеЗагрузкиДанных (когда они уже нафиг не нужны) Что подскажите?
#2
by GenV
Жуть задача. Как пользователь отбор накладывает? Или он никогда не сможет выгрузить номенклатуру с номером п/п 31?
#3
by 5jam
Отбор стандартный, в табличном поле ПостроительОтбор. Надо чтобы выгрузка (или загрузка) отменялась, если выгружено более 30 элементов спр Номенклатура Можно попробовать ПередВыгрузкой получить выборку запросом. Надо туда отбор передать...
#5
by GenV
4+ в обработчике ПВД "Перред выгрузкой". Он последовательно вызывается при выгрузке каждого объекта. После достижения значения Отказ = Истина;
#6
by 5jam
Да, но пользователь несмотря на сообщения при выгрузке попробует загрузить файл. При загрузке возникает ошибка, но перед этим загружается все, что успело выгрузиться до Отказа.
#8
by 5jam
выгруженных юзером по ошибке. А желательно полностью предотвратить загрузку ошибочных данных.
#13
by GenV
98) :) Так ему нужно не больше 30 выгружать или что? Или другое хотел? Например, вообще не выгружать, если номенклатур больше 30?
#14
by Naumov
Ну для гарантии добавь параметр передаваемый в загрузку, его после превышение возводи в какое-то значение, по которому перед загрузкой будешь в отказ уходить
#17
by 5jam
Уточню задачу: надо, чтобы вообще не было загрузки, если польз попытался выгрузить больше 30 Номенклатур
#19
by Naumov
хотя параметры надо до выгрузки инициализировать. ну тогда можешь после предела дописать кривой XML-кусок, чтобы файл стал нечитаемым :)
#22
by Aleksey
посмотри в пко номенклатуры параметр ВыгруженныеОбъекты Обработчики "Правила конвертации объектов" Перед выгрузкой Условия возникновения события Событие выполняется перед выгрузкой каждого объекта в файл обмена, не зависимо от того как выгружается объект по правилу выгрузки данных либо потому что на него есть ссылки. Событие вызывается, когда узел объекта приемника еще не создан и недоступен. Возможен отказ от выгрузки, например, в случае невыполнения каких-либо условий. Параметры: ВыгруженныеОбъекты - Соответствие. Содержит перечень выгруженных по данному правилу объектов. Ключом соответствия является параметр КлючВыгружаемыхДанных, значением - число-номер объекта в файле. Может использоваться для проверки - выгружен ли объект по ссылкам из других объектов. В целях оптимизации, при выгрузке больших массивов данных, значение параметра может быть очищено - например в обработчике ПослеОбработкиПравилаВыгрузкиДанных
#23
by 5jam
Интересная идея. Пробовал ПослеВыгрузкиДанных УдалитьФайлы(ИмяФайлаОбмена); Но похоже файл заблокирован
#24
by GenV
По идее при стандартном алгоритме при выгрузке ссылок в "Перед выгрузкой" ПВД должна быть доступна переменная "ВыборкаДляВыгрузкиДанных" с типом выборка из результата запроса. А у неё есть метод количество
#28
by Naumov
А как пользователь может по ошибке назначить к выгрузке весь справочник? Убери это ПВД и его не выберут.
#29
by GenV
24+ В любом случае это можно решить на этапе выгрузке. Хоть самому отбор программно наложить на выборку. Код же есть.
#30
by 5jam
Не пашет, это все равно, что Отказ = Истина. Ошибка вываливается, но то, что до ошибки выгружено в файл обмена успешно загружается в базу приемник как это "после предела дописать кривой XML-кусок"?
#31
by 5jam
В ПВД ПередВыгрузкой ВыборкаДляВыгрузкиДанных доступна, но ТипЗнч(ВыборкаДляВыгрузкиДанных): Не определено
#32
by GenV
Для типовой обработки УниверсальныйОбменДаннымиXML можно сделать так: Если НЕ ЗначениеЗаполнено(Параметры.КоличествоЭлементов) Тогда
#33
by Naumov
Этот отказ не отменит выгруженное до этого, а автор хочет именно всю выгрузку отменить.
#34
by GenV
При выгрузке первого элемента определяется их общее количество. Если их общее количество больше 30, то не выгрузится не первый, не любой другой элемент выборки ...
#37
by GenV
В смысле, я тебя не понял? Автор выгружает только справочник номенклатура . Соотв. этот код не даст при установленном отборе выгрузить больше 30 позиций. Без отбора - пусть решает как поступать автор.
#38
by GenV
37+ если позиций при отборе будет больше 30 - не выгрузиться ничего. Если меньше - каждая
#39
by Naumov
Это откуда у тебя такая гипотеза по поводу того, что выгружается только справочник номенклатуры?
#44
by 5jam
ПередВыгрузкой ПВД Номенклатура прописал следующий код и все удалось. Когда отбор отключен или количество номенклатуры превышает 30, выдается предупреждение, а в файл обмена не записывается ничего, кроме правил.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Перенос данных КД.2.0 (особенность конвертации)
- КД: можно ли ограничить список объектов выгрузки...
- КД. Глюки.
- КД 2.0. Как проводить документы после загрузки?
- КД: Как отменить перенос конкретной строки в табличной части документа
- КД 2.0. Как сделать настройку выгрузку документов только по определенной организации.
- УРДБ - отменить выгрузку физического удаления данных
- Помогите разобраться с КД. Как отменить выгрузку 1 свойства?
- Настройка порядок выгрузки объектов в КД 2.1
- КД. Как правильно обратиться после выгрузки к ссылке выгружаемого объекта?
- КД: отказ от записи нового объекта в обработчике После Загрузки
- КД 2.0 или КД 3.0
В этой группе 1С
- Формирование универсального отчета в привилегированном режиме
- как сохранить значение переменной, управляемая 8.2
- СКД обязательные поля в отчете
- Табель Т_13 (ЗУП 2.5)
- Как узнать сколько строк на листе xls?
- ЗУП Начисление произвольной формулой задваивает количество отработанных дней.
- ABC/XYZ анализ номенклатуры
- запрос not exists
- v7: Слетели настройки печати но принтеры по умолчанию на месте
- Зарплата и управление персоналом 8.2. Непонятное фоновое задание
- Как регулярным выражением привести серию паспорта РФ к одному виду?
- v7: Программно "Разъединить" ячейки таблицы
- v7: excel программно узнать отступ и цвет ячейки
- НДС - взять к зачету на основании товарного чека, при отсутствии НДС в чеке ККМ
- Поиск в таблице значений по первым символам
- ЗУП не учитывает кадровый документ - "Неявки"
- Ошибка использования Менеджера блокировок
- ЗУП: Исключаемые из расчета среднего для БЛ по БиР дни - откуда берутся?
- ОграничениеТипа 1С УФ
- Backup на сетевой диск из MS SQL server 2008