Как проверить наличие документа с опред. датой и суммой?
04.06.2009
08:30
#1
7.7 Бюджет 632..
Какой функцией проверить, есть ли уже документ определенного вида?
нужно сделать проверку БО, если уже есть, то сообщать..
подскажите..
Какой функцией проверить, есть ли уже документ определенного вида?
нужно сделать проверку БО, если уже есть, то сообщать..
подскажите..
04.06.2009
09:41
#2
""БО" = это что такое? Зря в вопросах сокращаете текст. Не все живут вашей задачей и мне вот, совершенно непонятно что это означает.
По сути вопроса:
"Как проверить наличие документа с опред. датой и суммой?":
Вариант 1:
Найден=0;
НужнаяДата=Дата("04.06.2009");
НужнаяСумма=1000;
Доки=СоздатьОбъект("Документ.БО");
Доки.ВыбратьДокументы(НужнаяДата,НужнаяДата);
Пока Доки.ПолучитьДокумент()=1 Цикл
Если Доки.Сумма=НужнаяСумма Тогда
Найден=1;
Прервать;
КонецЕсли;
КонецЦикла;
Если Найден=1 Тогда
Сообщить("Найденный документ: "+Строка(Доки.ТекущийДокумент()));
КонецЕсли;
Вариант 2:
НужнаяДата=Дата("04.06.2009");
НужнаяСумма=1000;
ТекстЗапроса="Период с НужнаяДата по НужнаяДата;
|Обрабатывать Все;
|ОбрабатыватьДокументы Все;
|Док=Документ.БО.ТекущийДокумент;
|СуммаВДокументе=Документ.БО.Сумма;
|Условие(СуммаВДокументе=НужнаяСумма);
|Группировка Док;";
Запрос=СоздатьОбъект("Запрос");
Если Запрос.Выполнить(ТекстЗапроса)=1 Тогда
Пока Запрос.Группировка(1)=1 Цикл
Сообщить("Найденный документ: "+Строка(Запрос.Док));
КонецЦикла;
КонецЕсли;
P.S. кстати, документов может быть и несколько в дне с нужной суммой, второй вариант выведет все, а первый чуть подправить надо, если интересуют все документы, соответствующие условию
"
По сути вопроса:
"Как проверить наличие документа с опред. датой и суммой?":
Вариант 1:
Найден=0;
НужнаяДата=Дата("04.06.2009");
НужнаяСумма=1000;
Доки=СоздатьОбъект("Документ.БО");
Доки.ВыбратьДокументы(НужнаяДата,НужнаяДата);
Пока Доки.ПолучитьДокумент()=1 Цикл
Если Доки.Сумма=НужнаяСумма Тогда
Найден=1;
Прервать;
КонецЕсли;
КонецЦикла;
Если Найден=1 Тогда
Сообщить("Найденный документ: "+Строка(Доки.ТекущийДокумент()));
КонецЕсли;
Вариант 2:
НужнаяДата=Дата("04.06.2009");
НужнаяСумма=1000;
ТекстЗапроса="Период с НужнаяДата по НужнаяДата;
|Обрабатывать Все;
|ОбрабатыватьДокументы Все;
|Док=Документ.БО.ТекущийДокумент;
|СуммаВДокументе=Документ.БО.Сумма;
|Условие(СуммаВДокументе=НужнаяСумма);
|Группировка Док;";
Запрос=СоздатьОбъект("Запрос");
Если Запрос.Выполнить(ТекстЗапроса)=1 Тогда
Пока Запрос.Группировка(1)=1 Цикл
Сообщить("Найденный документ: "+Строка(Запрос.Док));
КонецЦикла;
КонецЕсли;
P.S. кстати, документов может быть и несколько в дне с нужной суммой, второй вариант выведет все, а первый чуть подправить надо, если интересуют все документы, соответствующие условию
"
Ошибка при обновлении конфигурацииПодскажите как при преобразовании строки в число не потерять знаки после запятой.
Читают тему
(гостей: 1)