Имя: Пароль:
1C
1С v8
Перебор записей документа. Не получается.
0 Phantomir
 
05.12.11
15:10
Доброго дня!
помогите понять что неправильно сделал:
должно При открытии просматривать записи документа и выводить все записи
в которых дата ввода +9 дней равна текущей дате

Процедура ПриОткрытии()
   
   Для каждого стр из ДокументСписок цикл
       Если стр.ДатаВвода+9 = ТекущаяДата()Тогда    
   Сообщить (стр.ДатаВвода);
       КонецЕсли;
   КонецЦикла;
   
КонецПроцедуры
1 ДенисЧ
 
05.12.11
15:12
стр.ДатаВвода+9 - это дата + 9 секунд...
2 Reset
 
05.12.11
15:12
Что неправильно? Да всё.
3 marvak
 
05.12.11
15:13
ДокументСписок - это что за элемент?

ПриОткрытии() - это в форме самого документа?
4 Maxus43
 
05.12.11
15:13
НачалоДня(ДобавитьДень(стр.ДатаВвода, 9)) = НачалоДня(ТекущаяДата())
5 Phantomir
 
05.12.11
15:15
код в модуле ФормаСписка
Документы Список Формы Форма списка
извините если много ошибок я только начинаю изучать 1С
6 Reset
 
05.12.11
15:16
По моему, "дата ввода + 9 дней равно текущей" это логика наоборот. Вроде ж понятней  "дата ввода равно текущая минус 9 дней" (9 дней назад, по русски)
7 Reset
 
05.12.11
15:17
(5) Запрос нужен, никак ты не переберешь "записи"
8 marvak
 
05.12.11
15:18
(5)

Хе.
Ну у тебя в корне неправильный подход тады.
Обычно с документами так не работают в форме списка.
Сделай запрос к нужным тебе документам и их выборку предварительно, а уже с выборкой работай.
9 marvak
 
05.12.11
15:19
(8)+
а уже в  выборке применяй конструкцию наподобие (4)
10 Reset
 
05.12.11
15:20
(9) Наверное, в запросе тоже можно сравнить даты, нет :D
11 PVV65
 
05.12.11
15:22
(0)
Расширение табличного поля списка документов
СтандартныйПериод (StandardPeriod)
Использование:
Чтение и запись.
Описание:
Тип: НастройкаПериода. Содержит объект НастройкаПериода, в соответствии с которым осуществляется настройка периода списка документов при открытии формы, содержащей данное табличное поле.
См. также:
НастройкаПериода
12 marvak
 
05.12.11
15:22
(10) Да, конечно.
Но у него кстати нужно сделать фиьтр именно в форме списка..
Отбор по ДатеВвода может ему поставить лучше?
13 PVV65
 
05.12.11
15:26
Если ДатаВвода - это не Дата документа, тогда "Отбор".
14 Reset
 
05.12.11
15:26
(12) У него непонятно сформулировано, что нужно сделать. Буквально - вывести что-то из документов за тот день.
"должно При открытии просматривать записи документа и выводить все записи
в которых дата ввода +9 дней равна текущей дате"
Куда выводить? Далее по тексту он использует "сообщить".Ок.

Пущу по простому пути, недостойному настоящих джедаев.

НачПериода=НачалоДня(ТекущаяДата())-9*24*60*60; // -9 дней
КонПериода=КонецДня(НачПериода);
Выборка=Документы.ИмяТвоегоДокумента.Выбрать(НачПериода,КонПериода);
Пока Выборка.Следующий() цикл
Сообщить(Выборка.Номер);
КонецЦикла;
15 Reset
 
05.12.11
15:30
(5) У тебе пока не "много ошибок", а "вообще полный пц"
16 Reset
 
05.12.11
15:31
(5) Начни джедайскую подготовку с тренировки по внятному описанию задачи :)
17 marvak
 
05.12.11
15:34
(16)
Запугали мы его походу :)
Слишком много информации вывалили.
18 Reset
 
05.12.11
15:36
(17) Ну да, сразу много вариантов дали. Кто как понял - то и ответил xd
19 Phantomir
 
05.12.11
15:42
:)
я в 1С знаю еще очень мало...
20 Phantomir
 
05.12.11
15:42
щас попытаюсь обьяснить суть проблемы "по человечески"
21 Абыр
 
05.12.11
15:45
(0), видимо, на 7ке писал раньше.
- в 8ке, как правильно замечено в (1), "стр.ДатаВвода + 9" прибавит не дни, а секунды
- в 8ке ТекущаяДата() вернет не просто дату, а дату со временем, т.е. совпадение будет проверяться с точностью до секунды.
22 Phantomir
 
05.12.11
15:50
в Конфигураторе создал пустую конфигурацию (это 1С8.1)
создал в "Документы" один документ называется "Список"
его реквизиты:
ФИО
Город
Улица
Дом
Отметка (это флажок: Истина; Ложь)
...в форме этого документа (Список) создал выходную форму "ФормаСписка"
в диалоге при открытии этого документа есть поле "Дата_Ввода" данные из Дата
присваивается автоматом при создании новой записи...
мне необходимо чтоб выводился список (куда угодно) хоть в виде системного сообщения всех записей которые были введены 9 дней назад...
23 shuhard
 
05.12.11
15:56
(22) [всех записей которые были введены 9 дней назад]
а если кто-то поменял дату документа, чё - кабздец ?
24 Phantomir
 
05.12.11
16:00
ну...там по условию "не выгодно" менять дату
проблема не в этом
25 shuhard
 
05.12.11
16:13
(24) [проблема не в этом]
а в чём ?
26 Phantomir
 
05.12.11
16:27
в том что я не знаю как написать код
потому и прошу о помощи, более просвещенных в этом вопросе людей
27 Reset
 
05.12.11
17:05
(26) к примеру,кусок кода в (14) делает то что описано в (22). Разумеется, без учета (23).
Только нужно заменить <ИмяТвоегоДокумента> на имя твоего документа.
28 Phantomir
 
05.12.11
17:52
...и решить как вывеси список...
буду пробовать...
Всем спасибо!