Имя: Пароль:
1C
 
Последний проведенный документ
0 Vitpan
 
22.06.07
14:24
Подскажите пожалуйста: как получить в переменную значение последнего проведённого в конфигурации документа?
1 igork1966
 
22.06.07
14:25
Последнего по какому критерию?
Имеется в виду документ ТА?
2 Лефмихалыч
 
22.06.07
14:25
ОратныйПорядок  или ПолучитьПозициюТА
3 Джинн
 
22.06.07
14:25
ОбратныйПорядок, ВыбратьДокументы, ПолучитьДокумент, Проведен
4 Лефмихалыч
 
22.06.07
14:26
или из журнала регистраци время выцеплять
5 Лефмихалыч
 
22.06.07
14:26
+(4) а если документ проведен программно, то, навреное - ни как
6 igork1966
 
22.06.07
14:26
(1) +
ПолучитьДокументТА()
Синтаксис:
ПолучитьДокументТА()
Назначение:
Возвращает значение типа документ, который стоит на ТА.
7 Vitpan
 
22.06.07
14:27
Из журнала регистрации
8 Vitpan
 
22.06.07
14:28
Т.е. документ, который был фактически проведён последним, а не ТА или последний по дате-времени документ в базе
9 Лефмихалыч
 
22.06.07
14:38
10 Vitpan
 
22.06.07
14:44
Помогите пожалуйста! Подробнее задача такова: имеется конфигурация, в которую заносятся документы "Поступление товаров" и "Наценка". Причём документ "Наценка" соответствует определённому и единственному документу "Поступление товаров" и вносится в базу сразу после документа "Поступление товаров". Причём все реквизиты в нем заполняются вручную, в то время как они на 100% совпадают с документом "Поступление товаров". Изменения в конфигурацию вносить ЗАПРЕЩЕНО! Поэтому единственная возможность - внешняя обработка. Какие есть варианты для формирования документа "Наценка"? У меня на уме единственный способ - определить какой документ был занесен последним (он может быть от любой даты, задним числом и т.д.) - и по его реквизитам добавить и заполнить новый документ "Наценка". На как мне получить в переменную информацию о том, какой документ был проведён последним? Или может есть какие-нибудь тругие способы?
11 Ёпрст2
 
22.06.07
14:46
(10) Тупость какая то ...
12 igork1966
 
22.06.07
14:47
Насколько я знаю, общий реквизит ДокументОснование можно заполнить, даж если в конфе не указано что документ вводится на основании...
Так пойдет?  ;-)
Ищешь потом документы у которых нет на основани документа Наценка.  ;-)
13 Kondarat
 
22.06.07
14:50
(10)"Причём документ "Наценка" соответствует определённому и единственному документу "Поступление товаров""
На форму обработки кидаешь реквизит с типом документ ПоступлениеТоваров, выбираешь конкретный документ и по нему формируешь документ Наценка и пофиг, где в это время находится первый документ
14 Vitpan
 
22.06.07
14:56
(11) Извините, о мудрейший, что заняли Ваше драгоценное время. Но запрет изменять конфигурацию - требование клиента.
15 Vitpan
 
22.06.07
14:58
(13) Спасибо. Но к сожалению ежедневное количество вносимых документов "Поступление товаров" - около 100, искать в списке кокретно тот, с которым сейчас работаем - долго. А задача - упростить ввод оператору.
16 Азат
 
22.06.07
15:00
У меня на уме единственный способ - определить какой документ был занесен последним (он может быть от любой даты, задним числом и т.д.):

Док = СоздатьОбъект("Документ.Поступление");
Док.ОбратныйПорядок(1);
Док.ВыбратьДокументы(ДатаНачала, ДатаКонца);
Док.ПолучитьДокумент();
Док.ТекущийДокумент() - последний документ
17 Kondarat
 
22.06.07
15:02
(13) А НайтиПоНомеру не прокатит?
18 Vitpan
 
22.06.07
15:03
(16) Увеличивается объём работы и соответственно время бухгалтера-оператора. Ведь тогда надо вводить дату документа. + Увеличивается риск ошибки в связи с большими объёмами документов. А зачем если только что введён документ, где эта дата уже указана?
19 igork1966
 
22.06.07
15:04
(18) Еще раз (12)
20 Vitpan
 
22.06.07
15:05
(17) Нет. У оператора нет времени смотреть и запоминать или записывать номер + риск ошибки из-за усталости к концу дня. А номера в базе 5-значные. Вот такая вот проблемка.
21 Лефмихалыч
 
22.06.07
15:11
(14) ну, тогда пусть клиент сам свои вопросы и решает. Чо за илиотизм: "Хочу, чтобы все было правильно, но ни чего для этого делать не позволю"?
22 Лефмихалыч
 
22.06.07
15:13
мля, задача решается организацией ввода на основании. щас изза какаих-то мудацких запретов будешь огород городить, который все равно работать не будет...
23 kazam
 
22.06.07
15:15
(0) никак, если нужно знать программно проведенные.
Хотя можно ЗаписьЖурналаРегистрации(<?>,,,,);
Синтаксис:
ЗаписьЖурналаРегистрации(<Коммент>,<ТипСобытия>,<Событие>,<Объект>,<Категория>)
Назначение:
Выводит строку текста в системный журнал регистрации.
Параметры:
<Коммент> - строковое выражение, комментарий к событию. Если этот параметр - единственный переданный при вызове метода, то тогда в журнал записывается стандартное дополнительное событие с указанным комментарием.
<ТипСобытия> - необязательный параметр. Строковое выражение -  тип события. По умолчанию или при пустой строке ''Дополнительные события''.
<Событие> - необязательный параметр. Строковое выражение -  событие. По умолчанию ''Дополнительное событие''.
<Объект> - необязательный параметр. Объект события, по умолчанию отсутствует. Для переданных в функцию объектов типа Документ/ Справочник/ Счет представление объекта будет записано автоматически (это не зависит от типа события и самого события).
<Категория> - необязательный параметр. Число - категория события: 1 - администрирование; 2 - изменение данных; 3 - информация; 4 - предупреждение; 5 - ошибка. Значение по умолчанию 3.
Замечание:
Системой зарезервирован большой перечень типов событий/события. Незарезервированные имена позволяют пользователю фактически указывать свои собственные типы событий и события. Подробнее см. в документации гл. ''Системные процедуры и функции''.
24 kazam
 
22.06.07
15:15
+23 и смотреть *.млг файл
25 Vitpan
 
22.06.07
15:37
(14) Лёвыч! Ситуёвины в жизни разные бывают. Они - сторонняя организация и не хотят, чтобы мы лезли в их конфигурацию. А мы - аудиторская фирма, восстанавливаем им учёт. Сделаем - и уйдём. Вот и получается: менять нельзя! И посылать не хочется - платят неплохо (если на занесении время съэкономить). Вот так. А послать клиента проще всего! Вот только всех не пошлёшь. :)))
26 Азат
 
22.06.07
15:41
Тогда вот так сделай
Док = СоздатьОбъект("Документ.Поступление");
Док.ОбратныйПорядок(1);
Док.ВыбратьДокументы(,);
Док.ПолучитьДокумент();
Док.ТекущийДокумент() - последний документ
27 Азат
 
22.06.07
15:41
Даже так:

Док = СоздатьОбъект("Документ.Поступление");
Док.ОбратныйПорядок(1);
Док.УстановитьФильтр(1, 0);
Док.ВыбратьДокументы(,);
Док.ПолучитьДокумент();
Док.ТекущийДокумент() - последний проведенный документ
28 Лефмихалыч
 
22.06.07
15:44
(25) ну, так и скажите им, что пока не будет программно запрещен ввод "Наценки" без основания, ни какого порядка у них не будет. Пусть заказчик решит, кто это будет делать. Там изменений-то - куй да ни куя.
Просто в твоем случае ЖР не поможет - его можно удалить, при программном проведении автоматом в него ни чего не пишется, кроме того, врея от времени его нужно удалять, поскольку, распухая до размера >=500Мб, он мешает заходить в базу...
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс