Имя: Пароль:
1C
1С v8
Модуль управляемого приложения не показывает Сообщить();
0 Paracoccidioidomicos
 
03.07.17
12:50
Общий модуль
Функция ПолучитьСписокИменинников() Экспорт
    
              ТДДень = День(ТекущаяДата());
          ТДМесяц = Месяц(ТекущаяДата());
            
          Массив = Новый Массив;
             Выборка = Справочники.Сотрудники.Выбрать();

    Пока Выборка.Следующий() Цикл
         ДРДень = День(Выборка.ДатаРождения);
         ДРМесяц = Месяц(Выборка.ДатаРождения);
        
         Если ДРМесяц = ТДМесяц И ДРДень = ТДМесяц Тогда
            
             Массив.Добавить(Выборка.Наименование);
             КонецЕсли;
        КонецЦикла;
             Возврат Массив;
    КонецФункции

Модуль управляемого приложения

Процедура ПриНачалеРаботыСистемы()
    
    СписокИменинников = ОбщиеМеханизмы.ПолучитьСписокИменинников();
    
    Для каждого ЭлементМассива из СписокИменинников Цикл
        Сообщить("Сегодня ДР у " + ЭлементМассива)
        
        КонецЦикла;
КонецПроцедуры

Ничего не сообщает и массив почему то пустой, но проходя по циклу видно, что в Массив.Добавить(Выборка.Наименование); наименование есть
1 Buster007
 
03.07.17
12:52
"массив почему то пустой"
а почему ты пишешь про сообщить, когда у тебя цикл пустой?
2 PiotrLoginov
 
03.07.17
12:56
(0) Посмотреть на содержимое массива перед возвратом из ПолучитьСписокИменинников() и посмотреть на содержимое массива сразу после этого возврата. О результатах отписаться.

(1) Присоединяюсь
3 Лефмихалыч
 
03.07.17
12:59
(0) Массив.Добавить(Выборка.Наименование)-то оно, может быть и есть, но не выполняется. По этому массив на выходе из цикла пустой.
4 Лефмихалыч
 
03.07.17
13:00
сегодня просто ни кто не родился
5 Paracoccidioidomicos
 
03.07.17
13:00
Я спрашиваю, почему массив пустой ? в цикле в Массив.Добавить(Выборка.Наименование);
в Выборка.Наименование перебирает сотрудинков
6 Paracoccidioidomicos
 
03.07.17
13:00
Ну даже если не родился, то вывести то должен что-то
7 dezss
 
03.07.17
13:01
Такие вещи, ИМХО, лучше запросом выбирать.
(6) а он точно заходит в строку?
Массив.Добавить(Выборка.Наименование);
8 Buster007
 
03.07.17
13:02
(6) и что же?
9 Лефмихалыч
 
03.07.17
13:02
(6) не должен. У тебя Добавить происходит только, если сотрудник родился сегодня.
10 Лефмихалыч
 
03.07.17
13:03
(7) точно не заходит. Иначе бы ветки не было
11 Paracoccidioidomicos
 
03.07.17
13:04
(9) Ну так или иначе, сотрудник есть такой
http://screenshot.ru/upload/image/ScAM
http://screenshot.ru/upload/image/ScAq
12 Лефмихалыч
 
03.07.17
13:07
(11) отладчиком остановись в обоих циклах и всё поймешь
13 Paracoccidioidomicos
 
03.07.17
13:10
(12) Я понимаю, что массив пустой, а почему - нет
14 Feunoir
 
03.07.17
13:15
(13) Потомучто

Если ДРМесяц = ТДМесяц И ДРДень = ТДМесяц Тогда

видео_про_грибы_и_огурцы
15 Лефмихалыч
 
03.07.17
13:18
ДРДень = ТДМесяц
16 Лефмихалыч
 
03.07.17
13:18
но, блять, виновата точно 1С и массив по-любому не пустой
17 Feunoir
 
03.07.17
13:18
(15) бинго!
18 Paracoccidioidomicos
 
03.07.17
13:21
(15) Спасибо )))
19 dezss
 
03.07.17
14:27
а делов-то, добавить переменные в табло и пройтись отладкой...мда...
20 Cyberhawk
 
03.07.17
14:33
(19) В 8.3 и добавлять уже не надо - добавили пункт меню (и кнопочку на панель) "Локальные переменные":)