|
v7: Эксель: получить Гражданство (1С77) | ☑ | ||
---|---|---|---|---|
0
листопад
20.04.14
✎
14:13
|
Надо вывести у сотрудников Гражданство. Сейчас, даже если у сотрудника не заполнено Гражданство, то все равно выводит "РОССИЯ" и код страны 643. Как это побороть? Вот код:
КодГражданства = глСтранаГражданства(Сотрудники); ОКСМ = СоздатьОбъект("Справочник.ОКСМ"); Если ОКСМ.НайтиПоКоду(КодГражданства,0) = 1 Тогда СтранаГражданства = ОКСМ.ТекущийЭлемент(); Иначе СтранаГражданства = ""; КонецЕсли; Иначе КодГражданства = ""; СтранаГражданства = ""; КонецЕсли; x.WorkSheets(ИмяФайла).Cells(ИтераторСотр,5).Value = "'"+КодГражданства; x.WorkSheets(ИмяФайла).Cells(ИтераторСотр,6).Value = "'"+СтранаГражданства; |
|||
1
ДенисЧ
20.04.14
✎
14:17
|
отладчик украли?
|
|||
2
листопад
20.04.14
✎
14:17
|
Вот функция в глоб.модуле:
//****************************************************************************** // СтранаГражданства() // // Параметры: // ФизЛицо - эл-т спр. Сотрудники // ВернутьКод - по умолчанию функция возвращает код страны гражданства, иначе - элемент справочника // // Возвращаемое значение // Код страны гражданства // Функция глСтранаГражданства(ФизЛицо, ВернутьКод = 1) Экспорт // найдем Россию в справочнике стран СпрСтран = СоздатьОбъект("Справочник.ОКСМ"); Если СпрСтран.НайтиПоНаименованию("Россия") = 1 Тогда Россия = СпрСтран.ТекущийЭлемент(); КодРоссии = Россия.Код; Иначе Россия = ПолучитьПустоеЗначение("Справочник.ОКСМ"); КодРоссии = "643"; // все-таки можно вернуть и 643, даже если страны не заполнены Если ВернутьКод = 0 Тогда Сообщить("Не найдена Россия в справочнике стран"); КонецЕсли; КонецЕсли; СтранаПМЖ = ФизЛицо.Страна; Гражданство = ФизЛицо.Гражданство; //код страны гражданства определим так: если заполнен реквизит гражданство и он равен 1 или 2, то код 643, иначе - код сраны ПМЖ Если ПустоеЗначение(Гражданство) = 0 Тогда Если (Число(Гражданство.Код) = 1) или (Число(Гражданство.Код) = 2) Тогда // гражданин России Возврат ?(ВернутьКод = 1,КодРоссии ,Россия ); // даже если заполнена страна ПМЖ, но при этом в карточке Т2 проставили "гражданин", значит все - таки гражданин России КонецЕсли; КонецЕсли; // гражданство = 3 - не гражданин России или 4 - лицо без гражданства или не задано гражданство вообще Если ПустоеЗначение(СтранаПМЖ) = 0 Тогда Возврат ?(ВернутьКод = 1, СтранаПМЖ.Код , СтранаПМЖ ); Иначе //Сообщить("У сотрудника "+ФизЛицо+" в карточке Т2 указано, что он не является гражданином России, //|однако в форме сотрудника при этом у него не выбрана страна проживания. "); Возврат ?(ВернутьКод = 1, КодРоссии ,Россия ); КонецЕсли; КонецФункции // глСтранаГражданства() |
|||
3
Wobland
20.04.14
✎
14:21
|
да выкладывай уже всю обработку и задачу, чего стесняешься, как первокурсница в бане?
|
|||
4
2S
20.04.14
✎
14:35
|
Сотрудник.страна.код не канает?
|
|||
5
2S
20.04.14
✎
14:36
|
Листопад, откуда ты?
|
|||
6
КонецЦикла
20.04.14
✎
14:43
|
// все-таки можно вернуть и 643, даже если страны не заполнены
Буогаг, какая забота о юзверях |
|||
7
листопад
20.04.14
✎
15:02
|
(4) УРА! Получилось! СПАСИБКИ!!!
|
|||
8
2S
20.04.14
✎
15:13
|
(7) ответьте на (5)
|
|||
9
Дегенератор идей
20.04.14
✎
20:37
|
(8) из Москвы..
|
|||
10
Дегенератор идей
20.04.14
✎
20:40
|
+(9)мне вот больше интересно что она любит кушать.. :)
|
|||
11
Дегенератор идей
20.04.14
✎
20:42
|
(10) хотя уже не интересно.. угадал с первой попытки
|
|||
12
2S
20.04.14
✎
20:57
|
(11) кузнец? )
|
|||
13
Дегенератор идей
20.04.14
✎
20:58
|
учу пользоваться поиском.. дорого :)
|
|||
14
Torquader
20.04.14
✎
21:08
|
Такое впечатление, что (0) ЗУП переписывает от начала и до конца.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |