Имя: Пароль:
1C
1C 7.7
v7: обращение к документу создавшему движение по регистру
0 Kapystin
 
16.07.14
13:56
Все привет, я новенький)
делаю отчет по кпк, данные беру из регистра.
нужно получить дату записи документа, который сделал движение.
|ДатаДок = Регистр.ОстаткиКПК.ТекущийДокумент.ДатаДок;
...
ДатаДок = Запрос.ДатаДок;
...
Сообщить(ДатаДок);
Выдает" .. " пустая дата
1 Ёпрст
 
16.07.14
13:59
ну и ладно
2 ikea
 
16.07.14
14:05
Группировка в запросе нужна, однако)
3 ikea
 
16.07.14
14:06
(1) Ответ огонь)))
4 Kapystin
 
16.07.14
14:45
Группировка есть по агентам.
не стал выкладывать весь код.
5 vcv
 
16.07.14
14:59
А функции какие? Приход/расход есть?
6 Kapystin
 
16.07.14
15:07
Процедура Сформировать()
      
      Таблица = СоздатьОбъект("Таблица");
      Таблица.ВывестиСекцию("Заголовок");
      Таблица.ВывестиСекцию("Шапка");
      Запрос = СоздатьОбъект("Запрос");
      ТекстЗапроса = "
      |КПК = Регистр.ОстаткиКПК.КПК;
      |ОстаткиКПК = Регистр.ОстаткиКПК.ОстаткиКоличество;
      |Агент = Регистр.ОстаткиКПК.Агент;
      |ДатаДок = Регистр.ОстаткиКПК.ТекущийДокумент.ДатаДок;
      |                                                  
      |Функция КонОст =                 КонОст(ОстаткиКПК);
      |Группировка Агент;
      |
      |";
      
      Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
          Возврат;
      КонецЕсли;
      а = 0;
      Пока Запрос.Группировка("Агент") = 1 Цикл
          КпкИмеиТаб = Запрос.КПК;
          АгентТаб = Запрос.Агент;
          МодельКпкТаб = КпкИмеиТаб.МаркаКПК;
                ДатаДок = Запрос.ДатаДок;
          а = а +1;  
          
            Сообщить(ДатаДок);
          
          Таблица.ВывестиСекцию("Строка1");
      КонецЦикла;
       Сообщить("Количество КПК: " + а);
      Таблица.Показать();
      
КонецПроцедуры
   ОчиститьОкноСообщений();


Сообщить(ДатаДок);-----выводит пустые даты ".."
остальные данные выводятся корректно.
7 fedoss
 
16.07.14
15:10
Ну а как он получит дату без группировки "Документ"? Да еще и в запросе к остаткам, а не движениям.
8 ДенисЧ
 
16.07.14
15:12
Документ движения? В остатках?
Откуда же вы такие, титаноклювые, берётесь??

Где это неразведанное месторождение титана?
9 Ёпрст
 
16.07.14
15:13
(6) ну как тебе сказать...
нет не было и не будет документа движения при получении останков.
10 Ёпрст
 
16.07.14
15:13
чорт, запятые проср..ал где-то по дороге..
11 Kapystin
 
16.07.14
15:14
ок добавлю группировку по документу, спасибо
а вот "Да еще и в запросе к остаткам, а не движениям." с этим сложно!
каким образом я смогу получить дату документа, при запросе из регистра или это не реально?
12 fedoss
 
16.07.14
15:15
(11) Что получить-то надо? В остатках нет никаких документов, по документам есть Приход и Расход
13 Ёпрст
 
16.07.14
15:16
(11) и.. получишь болт
14 Kapystin
 
16.07.14
15:19
хочу получить дату проведения документа через регистр
15 fedoss
 
16.07.14
15:20
(14) Какого документа?
16 ДенисЧ
 
16.07.14
15:21
(14) У меня в кармане 154 рубля. Когда каждый из этих рублей туда попал?
17 Kapystin
 
16.07.14
15:21
проводится док в регистре создает проводку из регистра я получаю данные (которые оставил док) но еще хочу получить дату проведения дока
18 fedoss
 
16.07.14
15:23
(14) + Пример:

НачОст: 10
01.07.14 Документ1 приход +5
02.07.14 Документ2 расход -13
03.07.14 Документ3 приход +1
КонОст: 3

Какую дату нужно показать в результате?
19 Kapystin
 
16.07.14
15:28
всем спасибо за уделенное время!
видимо я не смогу объяснить что требуется получить.

попробую еще погуглить и мозжечок найти)))
20 varelchik
 
16.07.14
16:22
(19) МДАА.Тежелый у нас народ пошел.
Поройся.
Вот только большего чем то что тебе тут сказали не найдешь.
21 Попытка1С
 
16.07.14
16:24
(16) Если ты ведешь учет по партиям почему бы и нет)
22 ivanov-i-i
 
16.07.14
16:29
Не уверен, но меня смущает название переменной ДатаДок

|ДатаДок = Регистр.ОстаткиКПК.ТекущийДокумент.ДатаДок;
Замени на
|ТекДок = Регистр.ОстаткиКПК.ТекущийДокумент;
...
ПечДатаДок = Запрос.ТекДок.ДатаДок;
23 Builder
 
16.07.14
16:34
(22) Не надо смущаться от названий переменных, все тут нормально.
24 Kapystin
 
16.07.14
19:27
Хотел в отчете через запрос к регистру, получить дату создания дока.

Всем еще разок спасибо!
Все как всегда элементарно, когда есть опыт и знания, но я еще ЗЕЛЕН)

Нужно было знать :
1) При работе с регистрами имеется возможность обращения к  документу, вызвавшему движение регистра:

Док = Регистр.ИмяРегистра.ТекущийДокумент;
2) |Функция Приход        =      Приход(Количество);
3) и не забыть про    |Период С Дата1 По Дата2;