Последние сообщения

#51
Размышлизмы / Re: Личное: Антон Азанов aka D...
Последний ответ от alyuev - 08 июня 2026, 13:53
А кто это - Buhta?
#52
7.7 / Re: Определить актуальность ТА...
Последний ответ от Злоп - 07 июня 2026, 23:47
Тогда на том и порешу.
Закрыто.
#53
7.7 / Re: Определить актуальность ТА...
Последний ответ от Ветер в поле - 07 июня 2026, 15:53
Все остальные методы определения наличия проведенных документов требуют прямого запроса. И это скорее костыль, чем красивое решение. Если бы стандартное решение было долгим, то прямой запрос имело бы смысл использовать. Но тут явно не тот случай.
#54
7.7 / Re: Определить актуальность ТА...
Последний ответ от Злоп - 07 июня 2026, 13:39
Ответ:
ТипЗначенияСтр(ПолучитьДокументТА()) = Документ
ПолучитьДокументТА().Выбран() = 0
ПолучитьДокументТА().ТекущийДокумент() =
#55
7.7 / Re: Определить актуальность ТА...
Последний ответ от Злоп - 07 июня 2026, 13:35
Кстати, а что вернет ПолучитьДокументТА() если в ТА нет документа?
#56
7.7 / Re: Определить актуальность ТА...
Последний ответ от Злоп - 07 июня 2026, 13:33
Ну, мы тут из одного инкубатора, поэтому это очевидно, но "некрасиво".
.
у меня так написано

Док = СоздатьОбъект("Документ"); 
		Док.УстановитьФильтр(1,0,0,2,1,1); // проведенные, оперативные
		Док.ОбратныйПорядок(1);
		Док.ВыбратьДокументы(ПозицияТА,);
		Если Док.ПолучитьДокумент() = 1 Тогда
			Если Док.ПолучитьПозицию() > ПозицияТА
			Тогда // есть проведенные доки после ТА, остатки по базе не соответствуют реальным
				УстановитьРезультат(0,"типяБяка");
				Возврат;
			КонецЕсли;
		КонецЕсли;
#57
7.7 / Re: Определить актуальность ТА...
Последний ответ от Ветер в поле - 07 июня 2026, 12:18
Примерно такая функция может ответить на вопрос актуальности ТА
//*****************************************************************************
Функция глЕстьПроведенныеДокПослеТА() Экспорт
	
	докВсе = СоздатьОбъект("Документ");
	докВсе.УстановитьФильтр(1, 0, 0, 2, 0); //только проведенные, только ОперУчет
	докВсе.ВыбратьДокументы(ПолучитьПозициюТА(), );
	Пока докВсе.ПолучитьДокумент() = 1 Цикл
		Если докВсе.ТекущийДокумент() <> ПолучитьДокументТА() Тогда
			Возврат 1;
		КонецЕсли;
	КонецЦикла;
	
	Возврат 0;
	
КонецФункции //глЕстьПроведенныеДокПослеТА

Тут только не учитывается ТекущаяДата, не совсем понятна зачем она тут
Будет выполнено максимум две итерации цикла, смысла в использовании ПрямогоЗапроса тут не вижу
#58
7.7 / Определить актуальность ТА...?
Последний ответ от Злоп - 07 июня 2026, 10:15
Рассмотрим случай когда ТА <= ТекущаяДата()
Как определить КРАСИВО что ТА - актуальная, то есть после ТА нет проведенных оперативных документов?
Перебирать в обратном направлении оперативные доки - ну, это как-то неаккуратненько...
#59
Размышлизмы / Re: Личное: Антон Азанов aka D...
Последний ответ от amo|obs - 05 июня 2026, 16:11
Помянем...
#60
Размышлизмы / Re: Личное: Антон Азанов aka D...
Последний ответ от Злоп - 05 июня 2026, 10:24
Цитата: cr от 04 июня 2026, 18:01Buhta умерла.
Похороны в субботу.
В курсе, буду на похоронах.