Имя: Пароль:
1C
 
Дата создания номенклатуры
0 Cobranet
 
30.10.09
12:44
Можно ли как нибудь узнать дату создания номенклатуры?
1 ДенисЧ
 
30.10.09
12:44
В журнале регистрации, если интерактивно.
2 Шахид
 
30.10.09
12:45
а если программно то скорее всего никак
на периодические реквизиты опираться бесполезно
3 Cobranet
 
30.10.09
12:46
Нее, мне бы программно это узнать как нибудь...
4 also
 
30.10.09
12:46
(3) Также как и в (1)
5 also
 
30.10.09
12:46
Journal.dll тебе в помощь
6 Cobranet
 
30.10.09
12:47
просто надо написать обработку которая кидает в определенную группу "Архив" всю неиспользуемую за определенный период номенклатуру и при этом созданную не позднее определенной даты.
Все написал, тока вот проблема с определение создания номенклатуры возникла, вот и спрашиваю совета...
7 Шахид
 
30.10.09
12:48
(0) тебе же говорят
есть два способа создания элемента справочника

1 интерактивный это когда пользователь ВРУЧНУЮ создает элемент справочника. и тогда это записывается в журнал регистрации

2 программный.
Спр=СоздатьОбъект("Справочник.Товар")
Спр.Новый();
....
Спр.Записать()

в этом случае если программист сам не записывает значения в журнал регистрации там ничего не будет
8 Шахид
 
30.10.09
12:49
(0) для того чтобы исследовать журнал регистрации тебе (5) советует испльзовать ВК.
9 Cobranet
 
30.10.09
12:49
Понятно, буду искать ее.
10 Rie
 
30.10.09
12:50
(9) Добавь реквизит ДатаСоздания и заполняй его.
11 Шахид
 
30.10.09
12:53
(9) по поробуй определять комплексно по остаткам, последнему приходу,продаже?перемещению

хотя это менее точно но тем не менне информацию для предварительного анализа соберешь
ну а там ручками выбирай и будет тебе счастье
12 supremum
 
30.10.09
13:15
(6) в этом случае лучше движения смотреть, если с определенной даты движения не было, значит в архив
13 1Сергей
 
30.10.09
13:25
зачем?
14 supremum
 
30.10.09
13:28
(6) или как вариант, что бы журнал регистрации не листать, посмотреть первый приход товара
15 FN
 
30.10.09
13:29
(6) Если это разово, то береш Журнал регистрации - просмотр по событию созданэлементсправочника с нужной даты - находишь первый элемент - смотришь его код - все товары с меньшим кодом подходят под условие.
(если конечно код элемента присваивается стандартно)
16 Cobranet
 
30.10.09
13:31
(15) Неа, код элемента не присваивается стандартно, в каждой группе справчника свой префикс нумерации идет..
17 FN
 
30.10.09
13:32
или вот код парсинга журнала:

Функция ПолучитьЛогПоФильтру(ЗначФильтра=";RefNew;")
   РазмерДляАнализа=ГлубинаПоиска.ПолучитьЗначение(ГлубинаПоиска.ТекущаяСтрока());
   
   Тек=СоздатьОбъект("Текст");
   fso=СоздатьОбъект("Scripting.FileSystemObject");
   ссылкаНаФайл=fso.GetFile(КаталогИБ()+"SYSLOG\1cv7.mlg");
   РазмерФайла=ссылкаНаФайл.Size;
   Журнал=ссылкаНаФайл.OpenAsTextStream(1);
   
   Если РазмерДляАнализа<>0 тогда
       ПропускаемРаз=Цел((РазмерФайла-метр*РазмерДляАнализа))/метр;
       для х=1 по ПропускаемРаз Цикл
           Состояние("Позиционирование выборки...");
           Журнал.Skip(метр);
       КонецЦикла;
       Журнал.Skip(РазмерФайла-метр*РазмерДляАнализа-метр*ПропускаемРаз);
       ш=(Журнал.ReadLine());
   КонецЕсли;
   ОтчетСтр="Выборка событий с "+Дата8(Лев(Журнал.ReadLine(),8));
   Пока Журнал.AtEndOfStream=0 Цикл
       Состояние("Фильтрация...");
       ТекСтрока=Журнал.ReadLine();
       Если Найти(ТекСтрока,ЗначФильтра)=0 Тогда Продолжить; КонецЕсли;
       Тек.ДобавитьСтроку(ТекСтрока);
   КонецЦикла;
   ОтчетСтр=ОтчетСтр+" по "+Дата8(Лев(ТекСтрока,8))+". Отобрано "+Тек.КоличествоСтрок()+" событий.";
   Возврат Тек;
КонецФункции
18 FN
 
30.10.09
13:33
Вот без "лишнего"

Функция ПолучитьЛогПоФильтру(ЗначФильтра=";RefNew;")
   
   
   Тек=СоздатьОбъект("Текст");
   fso=СоздатьОбъект("Scripting.FileSystemObject");
   ссылкаНаФайл=fso.GetFile(КаталогИБ()+"SYSLOG\1cv7.mlg");
РазмерФайла=ссылкаНаФайл.Size;
   Журнал=ссылкаНаФайл.OpenAsTextStream(1);
   ОтчетСтр="Выборка событий с "+Дата8(Лев(Журнал.ReadLine(),8));
   Пока Журнал.AtEndOfStream=0 Цикл
       Состояние("Фильтрация...");
       ТекСтрока=Журнал.ReadLine();
       Если Найти(ТекСтрока,ЗначФильтра)=0 Тогда Продолжить; КонецЕсли;
       Тек.ДобавитьСтроку(ТекСтрока);
   КонецЦикла;
   ОтчетСтр=ОтчетСтр+" по "+Дата8(Лев(ТекСтрока,8))+". Отобрано "+Тек.КоличествоСтрок()+" событий.";
   Возврат Тек;
КонецФункции
19 Cobranet
 
30.10.09
13:37
Аха, спасиб, буду смотреть
20 skunk
 
30.10.09
13:38
парсинг журнала не дает 100% гарантий... стоит ли тогда заморачиваться
21 FN
 
30.10.09
13:40
в его случае нет ни одного способа, который даст 100%
на будущее можно завести реквизит датасоздания