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

#11
Дружественные проекты / Re: 1sqlite
Последний ответ от alyuev - 08 июня 2026, 14:58
А есть возможность поделиться содержимым https://snegopat.ru/1sqlite/dir?name=sqlite1c/_1Common/ - ?
У меня этот сайт недоступен. Хочу попробовать натравить исходники на ИИ. Может что-то получится реанимировать.
На данный момент просит дать ему _1Common
#12
Дружественные проекты / Re: 1sqlite
Последний ответ от alyuev - 08 июня 2026, 13:59
Спасибо.
#13
Размышлизмы / Re: Личное: Антон Азанов aka D...
Последний ответ от alyuev - 08 июня 2026, 13:53
А кто это - Buhta?
#14
7.7 / Re: Определить актуальность ТА...
Последний ответ от Злоп - 07 июня 2026, 23:47
Тогда на том и порешу.
Закрыто.
#15
7.7 / Re: Определить актуальность ТА...
Последний ответ от Ветер в поле - 07 июня 2026, 15:53
Все остальные методы определения наличия проведенных документов требуют прямого запроса. И это скорее костыль, чем красивое решение. Если бы стандартное решение было долгим, то прямой запрос имело бы смысл использовать. Но тут явно не тот случай.
#16
7.7 / Re: Определить актуальность ТА...
Последний ответ от Злоп - 07 июня 2026, 13:39
Ответ:
ТипЗначенияСтр(ПолучитьДокументТА()) = Документ
ПолучитьДокументТА().Выбран() = 0
ПолучитьДокументТА().ТекущийДокумент() =
#17
7.7 / Re: Определить актуальность ТА...
Последний ответ от Злоп - 07 июня 2026, 13:35
Кстати, а что вернет ПолучитьДокументТА() если в ТА нет документа?
#18
7.7 / Re: Определить актуальность ТА...
Последний ответ от Злоп - 07 июня 2026, 13:33
Ну, мы тут из одного инкубатора, поэтому это очевидно, но "некрасиво".
.
у меня так написано

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

Тут только не учитывается ТекущаяДата, не совсем понятна зачем она тут
Будет выполнено максимум две итерации цикла, смысла в использовании ПрямогоЗапроса тут не вижу
#20
7.7 / Определить актуальность ТА...?
Последний ответ от Злоп - 07 июня 2026, 10:15
Рассмотрим случай когда ТА <= ТекущаяДата()
Как определить КРАСИВО что ТА - актуальная, то есть после ТА нет проведенных оперативных документов?
Перебирать в обратном направлении оперативные доки - ну, это как-то неаккуратненько...