Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 16:39

Как Запросом выбрать данные Документа-Основания?

Автор Nail2010, 28 фев 2011, 10:45

0 Пользователей и 6 гостей просматривают эту тему.

Nail2010

Дело еще в том, что простое добавление реквизита "Документ основание" в необходимые мне для отбора "РеализацияТоваров и услуг" задачи не решает - мне нужно отобрать именно те "Реализации", которые в дереве обработки "Структура подчиненности" отображены вместе с "Приходным кассовым ордером.." Вот такая задачка. Жду очень подсказки!

progmikon

Думаю соль в процедуре "ПолучитьСписокПодчиненныхДокументов". общего модуля "Полные права". Посмотрите через отладчик на текст формируемого запроса. Как я понял он ищет хоть какую-то ссылку на текущий документ.

Nail2010

По идее алгоритм такой:
       
           ВЫБРАТЬ
               Документ.РеализацияТоваровУслуг
           ИЗ
               Дерева обработки СтруктураПодчиненности
           ГДЕ
               РеализацияТоваровУслуг ВМЕСТЕ С ПриходныйКассовыйОрдер.


progmikon


Nail2010

Это я схему запроса написал, что бы был понятен смысл моей задачи.
Если кодом отлавливаются ссылки на подчиненные документы, может все-таки это можно как-то сделать запросом?

Nail2010

Ну и попутный вопрос: Как в запросе задать условие отболра по реквизиту Комментарий?
                 (Текст запроса)
               ГДЕ
                    Документ.реализацияТоваровУслуг.Комментарий=(ПУСТОЕ ЗНАЧЕНИЕ), то есть пустая строка.
Пишешь ...Комментарий ПОДОБНО " " - ошибка
                Комментарий = " " - ошибка......
                Коменнтарий ПОДОБНО NULL - ошибка....

progmikon

По поводу последнего вопроса. Комментарий - реквизит неограниченной длины?
Если так, то можно поступить так

"|ГДЕ
| ПОДСТРОКА(РеализацияТоваровУслуг.Комментарий, 1, 50) = """"";

progmikon

По поводу первого вопроса - посмотрите с отладчиком в той процедуре, о которой я писал. Там и запрос готовый есть.

Nail2010

Спасибо, с комментарием работает. С запросом буду разбираться.....

Asadoff

У меня похожий случай на первый вопрос

Есть Документ ПриходОтУслуг у него есть табличная часть ПриходПоКлиентам
в ней реквизиты Контрагент, Договор, НомерДоговора, ДатаДоговора ....
Этот документ играет роль реестра, и при проведении создаются документы:
Соглашение, СчётКОплате, Квитанция и др...

+ Code
//Вот отрывок из процедуры проведения ПриходОтУслуг

НовыйДок = Документы.Соглашение.СоздатьДокумент();
НовыйДок.Дата = ТекСтрокаПриходПоКлиентам.ДатаДоговора;
НовыйДок.ДатаДоговора = ТекСтрокаПриходПоКлиентам.ДатаДоговора;
НовыйДок.Номер = ТекСтрокаПриходПоКлиентам.НомерДоговора;
НовыйДок.НомерДоговора = ТекСтрокаПриходПоКлиентам.НомерДоговора;
НовыйДок.Контрагент = ТекСтрокаПриходПоКлиентам.Контрагент;
НовыйДок.ВидДела = ТекСтрокаПриходПоКлиентам.ВидДела;
НовыйДок.Сумма = ТекСтрокаПриходПоКлиентам.Сумма;
НовыйДок.УстановитьВремя();
НовыйДок.УстановитьНовыйНомер();
Документ.Записать(РежимЗаписиДокумента.Запись);
//Конец отрывка

Помогите составить запрос на проверку существования записанного документа, а в случае его обнаружения, обработка должна переписать его реквизиты.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск