|
v7: Глючит ВыбратьПодчиненныеДокументы() | ☑ | ||
---|---|---|---|---|
0
DrRaptor
01.11.13
✎
11:18
|
Подскажите, пожалуйста, в чем ошибка:
Процедура ПроводкиПоСделке(ДокСделки,Доля,_ПроведеннаяСумма,_ПроведенныйНДС) Если ДокСделки.Вид()="ОснованиеСделки" Тогда ДкОсн=СоздатьОбъект("Документ.Сделка"); ИначеЕсли ДокСделки.Вид()="ОснованиеОперации" Тогда ДкОсн=СоздатьОбъект("Документ.ОперацияЦБ"); ИначеЕсли ДокСделки.Вид()="Сделка" Тогда ДкОсн=СоздатьОбъект("Документ.Поставка"); Иначе Сообщить("Ошибочно выбран документ "+ДокСделки); Возврат; КонецЕсли; ИсполненоШтук=0; ПроведеннаяСумма=0; ПроведенныйНДС=0; СуммарноПроведено=0; СуммарноНДС=0; Если ДокСделки.Завершенность=0 Тогда КФЦ=1; глИсторияКонвертаций(ДокСделки.ДатаДок,ДатаДок,ДокСделки.ЦБ,,КФЦ); ИсполненоШтук=ДокСделки.Количество*КФЦ; Иначе Если ДкОсн.ВыбратьПодчиненныеДокументы(,,ДокСделки)=1 Тогда Пока ДкОсн.ПолучитьДокумент() = 1 Цикл Если ДкОсн.Проведен()=1 Тогда КФЦ=1; глИсторияКонвертаций(ДкОсн.ДатаДок,ДатаДок,ДкОсн.ЦБ,,КФЦ); ИсполненоШтук=ИсполненоШтук+(ДкОсн.Количество*КФЦ); КонецЕсли; КонецЦикла; КонецЕсли; КонецЕсли; При выполнении выдает: Если ДкОсн.ВыбратьПодчиненныеДокументы(,,ДокСделки)=1 Тогда {Документ.Платежи.Модуль Документа(248)}: Объект - документ определенного вида! Отладчик нормально видит и ДкОсн и ДокСделки. Вид() у них определяется нормально. Документ ДокСделки и любой его атрибут в отладчике при запросе отображаются. |
|||
1
lamme
01.11.13
✎
11:21
|
а потому что не так делается выборка по подчиненному документу
|
|||
2
lamme
01.11.13
✎
11:21
|
вернее - подлчиненных документов )
|
|||
3
lamme
01.11.13
✎
11:22
|
твое
ДкОсн.ВыбратьПодчиненныеДокументы(,,ДокСделки) заменить бы на Д = СоздатьОбъект("Документ") Д.ВыбратьПодчиненныеДокументы(,,ДокСделки) |
|||
4
DrRaptor
01.11.13
✎
11:22
|
А где я ошибся?
|
|||
5
DrRaptor
01.11.13
✎
11:24
|
А
Д=СоздатьОбъект("Документ.Поставка"); Д.ВыбратьПодчиненныеДокументы(,,ДокСделки); 1С не понимает? Можно только обобщенно "Документы"? |
|||
6
lamme
01.11.13
✎
11:24
|
ну короче как-то так.
Д.ВыбратьПодчиненныеДокументы(,,ДкОсн ); так вроде правильнее будет ты ж у ДкОсн выбираешь подчиненные документы |
|||
7
lamme
01.11.13
✎
11:25
|
(5)
я хз .. просто на этом месте тоже пару раз споткнулся пока не запомнил - что делается именно так |
|||
9
DrRaptor
01.11.13
✎
11:28
|
(6) Я выбираю документы, которые подчинены документу ДокСделки, а не документу ДкОсн. ДкОсн - это и есть подчиненные документы
|
|||
10
mishaPH
модератор
01.11.13
✎
11:30
|
(9) обвыбирайся. правильно (5) только по общему доку
а далее если надо выбрать подчиненные опр. вида то перебор их с определением Д.Вид() = ?? |
|||
11
lamme
01.11.13
✎
11:31
|
(9)
ну тогда (3) Д.ВыбратьПодчиненныеДокументы(,,ДокСделки) |
|||
12
lamme
01.11.13
✎
11:31
|
(10)
да. или запросом |
|||
13
mishaPH
модератор
01.11.13
✎
11:33
|
(12) ;) я в курсе, что надо перебирать. это я автору пример написал.
|
|||
14
Ыщъ
01.11.13
✎
11:44
|
(5) Подчиненные могут быть разных видов. Поэтому так.
|
|||
15
DrRaptor
01.11.13
✎
11:55
|
Спасибо - так оно и есть.
Если делаешь Д.ВыбратьДокументы() то Д может быть конкретного вида, а если Д.ВыбратьПодчиненныеДокументы(), то только общего вида "Документы". |
|||
16
Ыщъ
01.11.13
✎
11:57
|
(15) Далле как (10) подсказал
Если Д.Вид() = "ДокСделки" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |