Присвоение переменных происходит по ссылке? Всем привет! Подскажите, плиз, где я здесь накосячил: Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.Потребители, ВыбСубконто1, 2); Ит.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "ОСН",,, 1, "Проводка", "С"); ТекДокумент = СоздатьОбъект("Документ"); ТекЗадолженность = 0; ТекСумма = 0; Ит.ВыбратьПериоды(); Пока Ит.ПолучитьПериод() = 1 Цикл // Вот в этот момент сам собой меняется ТекДокумент Если Ит.Операция.Документ<>ТекДокумент Тогда ТекДата = Ит.НачДата; ТекДокумент = Ит.Операция.Документ; ТекЗадолженность = Ит.СНД(); КонецЕсли; ТекСумма = ТекСумма + Ит.ДО(); КонецЦикла; Проблема в следующем: переменная ТекДокумент ВСЕГДА равна Ит.Операция.Документ. Лично я в шоке... |
логика бландинки |
Спасибо. А по существу? |
Да, тоже сталкивался когда-то с этим и долго втыкал в чем прикол |
А в чем - уже не помнишь? |
А я решил по другому, в обход. Искал по номеру и дате через СоздатьОбъект() и использовал ту ссылку |
Я тоже пошел в обход. Только через строковое представление. Ит.ВыбратьПериоды(); Пока Ит.ПолучитьПериод() = 1 Цикл ТекДок = Ит.Операция.Документ; ТекПредставлениеОперации = ТекДок.Вид()+" "+ТекДок.НомерДок+" ("+ТекДок.ДатаДок+")"; Если ТекПредставлениеОперации<>ТекДокумент Тогда ТекДокумент = ТекПредставлениеОперации; Вобщем-то - проблема обойдена. Но хотелось бы все-таки понять причины проблемы... |
наверное, стоит взять текущий доокумент и дать афтару по башке Ит.Операция.Документ.ТекущийДокумент() Ит.Операция.Документ - это ваще то ссылка на курсор |
нда, логика брюнеток - в операции может быть множество документов... |
опять логика тупого одноэсника со стандартной дуростью можно перебирать документы (операции), а можно проводки по птицам - механизм универсальный |
Я спорить не буду - спасибо за науку. :) Просто хочется заметить: если дурость стандартная - может она не дурость? а интуитивное восприятие? |
(8) каюсь, может быть туплю, но что значит "в операции может быть множество документов" |
[quote=stpd;28048554] если дурость стандартная - может она не дурость? а интуитивное восприятие? [/quote] это таки дурость из-за отсутствия навыков программирования на традиционных объектно-ориентированных языках |
[quote=asupsam;28048558] (8) ...что значит "в операции может быть множество документов" [/quote] Ит.Операция.Документ.ТекущийДокумент() - получается, что в операции хранится не какой-то конкретный документ. И обращаясь к данному объекту я еще должен выбирать некий текущий - из множества. |
маразм крепчает |
(14) @->- Не дуйся, я хороший... :) |
(15) изучай - умным станешь [img]http://cs305713.vkontakte.ru/u15203966/138074073/x_b5d78b98.jpg[/img] |
А еще следует прочитать про метод (для объекта БухгалтерскиеИтоги) [b]Опции(параметр)[/b]. На всякий случай ;) |
Текущее время: 19:54. Часовой пояс GMT +3. |