Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вот в этой процедуре где-то у меня чегой-то не хватает по заполнению справочников видимо, а что конкретно понять не могу
Процедура ЗаполнитьСписокКВД(ЭУ, Источник, ИмяРеквизита = "", ИмяТЧ = "", СтруктураРазделителей = Неопределено) Экспорт
МассивКВДизНастройкиРПС = Неопределено;
Если СтруктураРазделителей <> Неопределено Тогда
МассивКВДизНастройкиРПС = ПолучениеНСИ.ПолучитьМассивДоступныхКВДпоРазделителям(СтруктураРазделителей.Дата, СтруктураРазделителей.Учреждение, СтруктураРазделителей.Баланс)
КонецЕсли;
Если ТипЗнч(Источник) = Тип("Массив") Тогда
МассивКВД = Источник;
ИначеЕсли ТипЗнч(Источник) = Тип("ТаблицаЗначений") Тогда
Если ИмяРеквизита = "" Тогда
Возврат;
КонецЕсли;
Если ИмяТЧ = "" Тогда
НайденнаяСтрока = Источник.Найти(ИмяРеквизита);
Иначе
СтруктураПоиска = Новый Структура("ИмяРеквизита, ИмяТЧРеквизитаДокумента", ИмяРеквизита, ИмяТЧ);
МассивНайденныхСтрок = Источник.НайтиСтроки(СтруктураПоиска);
НайденнаяСтрока = ?(МассивНайденныхСтрок.Количество() = 0, Неопределено, МассивНайденныхСтрок[0]);
КонецЕсли;
Если НайденнаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
МассивКВД = НайденнаяСтрока.ДопустимыеЗначения;
КонецЕсли;
Если МассивКВДизНастройкиРПС <> Неопределено Тогда
МассивКВД = ОбщегоНазначения.ПолучитьПересечениеМассивов(МассивКВД, МассивКВДизНастройкиРПС);
КонецЕсли;
ЭУ.СписокВыбора.ЗагрузитьЗначения(МассивКВД);
НайденноеКВД = МассивКВД.Найти(ЭУ.Значение);
Если НайденноеКВД = Неопределено И ЗначениеЗаполнено(ЭУ.Значение) Тогда
ЭУ.Значение = Перечисления.КВД.ПустаяСсылка();
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьСписокКВД(ЭУ, Источник, ИмяРеквизита = "", ИмяТЧ = "", СтруктураРазделителей = Неопределено) Экспорт
МассивКВДизНастройкиРПС = Неопределено;
Если СтруктураРазделителей <> Неопределено Тогда
МассивКВДизНастройкиРПС = ПолучениеНСИ.ПолучитьМассивДоступныхКВДпоРазделителям(СтруктураРазделителей.Дата, СтруктураРазделителей.Учреждение, СтруктураРазделителей.Баланс)
КонецЕсли;
Если ТипЗнч(Источник) = Тип("Массив") Тогда
МассивКВД = Источник;
ИначеЕсли ТипЗнч(Источник) = Тип("ТаблицаЗначений") Тогда
Если ИмяРеквизита = "" Тогда
Возврат;
КонецЕсли;
Если ИмяТЧ = "" Тогда
НайденнаяСтрока = Источник.Найти(ИмяРеквизита);
Иначе
СтруктураПоиска = Новый Структура("ИмяРеквизита, ИмяТЧРеквизитаДокумента", ИмяРеквизита, ИмяТЧ);
МассивНайденныхСтрок = Источник.НайтиСтроки(СтруктураПоиска);
НайденнаяСтрока = ?(МассивНайденныхСтрок.Количество() = 0, Неопределено, МассивНайденныхСтрок[0]);
КонецЕсли;
Если НайденнаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
МассивКВД = НайденнаяСтрока.ДопустимыеЗначения;
КонецЕсли;
Если МассивКВДизНастройкиРПС <> Неопределено Тогда
МассивКВД = ОбщегоНазначения.ПолучитьПересечениеМассивов(МассивКВД, МассивКВДизНастройкиРПС);
КонецЕсли;
ЭУ.СписокВыбора.ЗагрузитьЗначения(МассивКВД);
НайденноеКВД = МассивКВД.Найти(ЭУ.Значение);
Если НайденноеКВД = Неопределено И ЗначениеЗаполнено(ЭУ.Значение) Тогда
ЭУ.Значение = Перечисления.КВД.ПустаяСсылка();
КонецЕсли;
КонецПроцедуры
А нет ли у вас случайно ИФО? сталкивалась с такой штукой, помогала проверка регистра "Настройка типа учета по ИФО" каким-то образом клиенты умудрялись в него завести пустые строки... каким - для меня до сих пор остается загадкой :)
(14) Tatiana_orel, не, эт нормально от нас три конторы уже отпочковались - проблем не было по одной приводить в порядок, а кучей гружу ошибка dbug8 вылазит вот и приходится их поодиночке зафигачивать, просто уже кое-что из рег. отчетов сохранили хотелось сохранить а вот и не получается никак в чистую базу грузит.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот