![]() |
![]() |
![]() |
|
v7: Внешний отчет в 7.7 | ☑ | ||
---|---|---|---|---|
0
msk-07
22.08.12
✎
22:12
|
Добрый вечер. Надеюсь на вашу помощь, здесь попросили изменить внешний отчет в 7.7....короче нужно добавить название документа....и я не могу понять где в коде за это отвечает какая переменная, чтобы ее запихнуть в макет, может кто подскажет.... В макете выделено место где должно быть название документа, а рядом <Контрагент>, контрагент данного документа, я там понимаю, код уже прописан к этому документу, просто нужно понять где именно. Подскажите пожалуйста! Заранее спасибо!
http://s40.radikal.ru/i087/1208/58/f37b1894b6ef.jpg Перем СтрокаТек; Функция НайтиКонтрагента(Опер) Далее Процедура Сформировать() ФИОПредставителя = ФИО(Склад); Должность = СокрЛП(Склад.Должность); Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Орган = СокрЛП(Орг.ПолнНаименование); ФирмаОКПО = Орг.ОКПО; Если Тип=1 Тогда Если ПустоеЗначение(МХ)=0 Тогда Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения,МХ); КонецЕсли; Ит.ВыполнитьЗапрос(ДатаНач,ДатаКон,СчетПоКоду("41.2")); Иначе Ит.ВыполнитьЗапрос(ДатаНач,ДатаКон,СчетПоКоду("41.1")); КонецЕсли; Сальдо = Ит.СНД(); Таб = СоздатьОбъект("Таблица"); Таб.ВывестиСекцию("Шапка"); Таб.ВывестиСекцию("приход"); Таб.Опции(0,0,0,0); ТабПрих = СоздатьОбъект("ТаблицаЗначений"); ТабПрих.НоваяКолонка("Приход","Число"); ТабПрих.НоваяКолонка("Контрагент","ВидыСубконто.Контрагенты"); ТабПрих.НоваяКолонка("ДатаДокум"); ТабПрих.НоваяКолонка("НомерДок","Строка"); ТабПрих.НоваяКолонка("Документ","Документ"); ТабРасх = СоздатьОбъект("ТаблицаЗначений"); ТабРасх.НоваяКолонка("Расход","Число"); ТабРасх.НоваяКолонка("Контрагент","ВидыСубконто.Контрагенты"); ТабРасх.НоваяКолонка("ДатаДокум","Дата"); ТабРасх.НоваяКолонка("НомерДок","Строка"); ТабРасх.НоваяКолонка("Документ","Документ"); Опер = СоздатьОбъект("Операция"); Если Тип=1 Тогда Если ПустоеЗначение(МХ)=0 Тогда Опер.ИспользоватьСубконто(ВидыСубконто.МестаХранения,МХ); КонецЕсли; Опер.ВыбратьОперацииСПроводками(ДатаНач,ДатаКон,"41.2"); Иначе Опер.ВыбратьОперацииСПроводками(ДатаНач,ДатаКон,"41.1"); КонецЕсли; Пока Опер.ПолучитьПроводку() = 1 Цикл Если (Опер.Дебет.Счет = СчетПоКоду("41.1")) или (Опер.Дебет.Счет = СчетПоКоду("41.2")) Тогда Если Опер.Документ.Вид() <> "Операция" Тогда ТабПрих.НоваяСтрока(); ТабПрих.Приход = Опер.Сумма; ТабПрих.ДатаДокум = Опер.ДатаОперации; ТабПрих.НомерДок = Опер.Документ.НомерДок; Если Опер.Документ.Вид() = "Сторно" Тогда ТабПрих.Контрагент = Опер.Документ.СторнируемыйДокумент.Контрагент; ИначеЕсли Опер.Документ.Вид() = "ЗакрытиеМесяца" Тогда ТабПрих.Контрагент = "Корректир. средней ст-ти"; Иначе ТабПрих.Контрагент = НайтиКонтрагента(Опер); КонецЕсли; ТабПрих.Документ = Опер.Документ; Иначе ТабПрих.НоваяСтрока(); ТабПрих.Приход = Опер.Сумма; ТабПрих.ДатаДокум = Опер.ДатаОперации; ТабПрих.НомерДок = Прав(Опер,6); ТабПрих.Контрагент = НайтиКонтрагента(Опер); ТабПрих.Документ = Опер.Документ; КонецЕсли; ИначеЕсли (Опер.Кредит.Счет = СчетПоКоду("41.1")) или (Опер.Кредит.Счет = СчетПоКоду("41.2")) Тогда Если Опер.Документ.Вид() <> "Операция" Тогда ТабРасх.НоваяСтрока(); ТабРасх.Расход = Опер.Сумма; Если Опер.Документ.Вид() = "Сторно" Тогда ТабРасх.Контрагент = Опер.Документ.СторнируемыйДокумент.Контрагент; ИначеЕсли Опер.Документ.Вид() = "ЗакрытиеМесяца" Тогда ТабРасх.Контрагент = "Корректир. средней ст-ти"; Иначе ТабРасх.Контрагент = НайтиКонтрагента(Опер); КонецЕсли; ТабРасх.ДатаДокум = Опер.ДатаОперации; ТабРасх.НомерДок = Опер.Документ.НомерДок; ТабРасх.Документ = Опер.Документ; Иначе ТабРасх.НоваяСтрока(); ТабРасх.Расход = Опер.Сумма; ТабРасх.ДатаДокум = Опер.ДатаОперации; ТабРасх.НомерДок = Прав(Опер,6); ТабРасх.Контрагент = НайтиКонтрагента(Опер); ТабРасх.Документ = Опер.Документ; КонецЕсли; КонецЕсли; КонецЦикла; ТабПрих.Сортировать("ДатаДокум"); ТабРасх.Сортировать("ДатаДокум"); ТабПрих.Свернуть("НомерДок,Контрагент,ДатаДокум,Документ","Приход"); ТабРасх.Свернуть("НомерДок,Контрагент,ДатаДокум,Документ","Расход"); ЧислоДок=0; ТабПрих.ВыбратьСтроки(); Пока ТабПрих.ПолучитьСтроку()=1 Цикл ЧислоДок=ЧислоДок+1; Контрагент = ТабПРих.Контрагент; ДатаДок = ТабПРих.ДатаДокум; НомерДок = ТабПРих.НомерДок; Сумма = ТабПРих.Приход; Таб.ВывестиСекцию("Строка"); ИтогПриход = ИтогПриход + ТабПРих.Приход; КонецЦикла; Таб.ВывестиСекцию("ИтогоПоПриходу"); ТабРасх.ВыбратьСтроки(); Пока ТабРасх.ПолучитьСтроку()=1 Цикл ЧислоДок=ЧислоДок+1; Контрагент = ТабРасх.Контрагент; ДатаДок = ТабРасх.ДатаДокум; НомерДок = ТабРасх.НомерДок; Сумма = ТабРасх.Расход; Если ТабРасх.НомерСтроки = 1 Тогда Таб.ВывестиСекцию("Расход"); Таб.ВывестиСекцию("строкаР"); ИтогРасход = ИтогРасход + ТабРасх.РАсход; Иначе Таб.ВывестиСекцию("строкаР"); ИтогРасход = ИтогРасход + ТабРасх.РАсход; КонецЕсли; КонецЦикла; Таб.ВывестиСекцию("ИтогоПоРасходу"); Таб.ВывестиСекцию("Подвал"); Таб.ТолькоПросмотр(1); Таб.ПараметрыСтраницы(,,,20,,,,,, 1); Таб.Показать("Товарный отчёт",""); КонецПроцедуры Процедура ПриОткрытии() ДатаСост=ТекущаяДата(); ДатаНач=НачалоПериодаБИ(); ДатаКон=КонецПериодаБИ(); КонецПроцедуры Функция НайтиКонтрагента(Опер) Опер1 = СоздатьОбъект("Операция"); Опер1.НайтиОперацию(Опер.Документ); Опер1.ВыбратьПроводки(); Пока Опер1.ПолучитьПроводку() = 1 Цикл Если ПустоеЗначение(Опер1.Дебет.Контрагенты)=0 Тогда Контрагент = Опер1.Дебет.Контрагенты; Прервать; ИначеЕсли ПустоеЗначение(Опер1.Кредит.Контрагенты)=0 Тогда Контрагент = Опер1.Кредит.Контрагенты; Прервать; Иначе Контрагент = Опер1.Содержание; КонецЕсли; КонецЦикла; Возврат Контрагент; КонецФункции |
|||
1
ДенисЧ
22.08.12
✎
22:15
|
Русские слова Опер.Документ ни о чём не говорят?
|
|||
2
msk-07
22.08.12
✎
22:15
|
Пробовал, выдает ошибку
|
|||
3
ДенисЧ
22.08.12
✎
22:17
|
Ошибку выдаёт не 1сный код, а кое-какой другой...
|
|||
4
msk-07
22.08.12
✎
22:19
|
<Объект не найден>(54583/)
|
|||
5
msk-07
22.08.12
✎
22:19
|
Явно 1С
|
|||
6
msk-07
22.08.12
✎
22:20
|
Может что-то в свойствах надо прописывать в макете?
|
|||
7
Рэйв
22.08.12
✎
22:22
|
(0)Не парь мозг и позови адинесника.
|
|||
8
msk-07
22.08.12
✎
22:25
|
Мне просто не понятно, если выводит имя контрагента этого документа, то почему название этого документа вывести нельзя?
|
|||
9
Рэйв
22.08.12
✎
22:27
|
(8)
E=MC^2 что тебе это говорит? Готов поспорить - НИЧЕГО. А некоторым людям -говорит. |
|||
10
Рэйв
22.08.12
✎
22:28
|
+(9)Это не значит что они умные...
Это просто ты тупой |
|||
11
Джордж1
22.08.12
✎
22:29
|
Попробуй ТабПрих.Документ и ТабРасх.Документ
|
|||
12
msk-07
22.08.12
✎
22:29
|
(10) Ты кто такой? Давай, до свидания со своей формулой (квадрат скорости на константный множитель)!!!!
|
|||
13
alex74
22.08.12
✎
22:30
|
В ТабПрих добавь колонку "Документ" и пиши туда Опер.Документ, потом выводи на печать
|
|||
14
msk-07
22.08.12
✎
22:30
|
(11) Спасибо! Сейчас попробую! А в свойствах макета в данной ячейки ни чего добавлять кроме как "выражение" не надо?
|
|||
15
msk-07
22.08.12
✎
22:31
|
(13) так так и делаю....но не формирует он
|
|||
16
Рэйв
22.08.12
✎
22:31
|
(12)Если что...Все претензии к Альберту Энштейну, молодой человек:-)
|
|||
17
alex74
22.08.12
✎
22:32
|
(14) в ячейке пропиши "ТабПрих.Документ"
|
|||
18
ДенисЧ
22.08.12
✎
22:36
|
(5) не... Не 1с... А DNA...
|
|||
19
msk-07
22.08.12
✎
22:37
|
||||
20
msk-07
22.08.12
✎
22:38
|
(14)! Спасибо!!! Сейчас попробую
|
|||
21
msk-07
22.08.12
✎
22:40
|
не ошибка, поле агрегатного объекта не найдено(Документ)
|
|||
22
alex74
22.08.12
✎
22:45
|
Ты в макете написал ТабПрих.Докумен
забыл т в конце добавить |
|||
23
alex74
22.08.12
✎
22:46
|
и не указал тип ячейки "выражение"
|
|||
24
alex74
22.08.12
✎
22:46
|
а в коде на какую строку ругается?
|
|||
25
msk-07
22.08.12
✎
22:48
|
(23) Указал. Ошибка " поле агрегатного объекта не найдено(Документ)"
|
|||
26
alex74
22.08.12
✎
22:50
|
напиши сюда полный текст ошибки
|
|||
27
msk-07
22.08.12
✎
22:50
|
||||
28
msk-07
22.08.12
✎
22:52
|
||||
29
alex74
22.08.12
✎
22:52
|
слово Документ заканчивается на букву т
|
|||
30
Рэйв
22.08.12
✎
22:58
|
А может в правила форума внесем статью " Бан на неделю за особый идиотизм"?
|
|||
31
msk-07
22.08.12
✎
22:58
|
Ой, спасибо! ВСе работает, но вместе с документом пишется код его
|
|||
32
viktor_vv
22.08.12
✎
22:58
|
(31) Это как ? Номер что ли ?
|
|||
33
msk-07
22.08.12
✎
22:59
|
СокрЛП(ТабПрих.Документ) попробовал отсечь...не получилось
|
|||
34
viktor_vv
22.08.12
✎
23:00
|
(33) Ты скопировать можешь, что вывелось, и что тебе хотелось бы ?
|
|||
35
msk-07
22.08.12
✎
23:01
|
Оприходование ТМЦ KLSP000062 (18.06.12) <-Это выводится
А надо только Оприходование ТМЦ |
|||
36
alex74
22.08.12
✎
23:02
|
(31) не нравится как выглядит текстовое представление документа, - формируй его сам, типа
"Документ " + ТабРасх.Документ.Вид() + " номер " + ТабрРасх.Документ.НомерДок + " от " + ТабРасх.Документ.ДатаДок + " ура, я теперь программист!" |
|||
37
alex74
22.08.12
✎
23:03
|
(35) в ячейке пропиши ТабРасх.Документ.Вид()
|
|||
38
viktor_vv
22.08.12
✎
23:03
|
(35) ТабПрих.Документ.ПредставлениеВида();
|
|||
39
msk-07
22.08.12
✎
23:03
|
(36) :(
|
|||
40
msk-07
22.08.12
✎
23:07
|
(38) ошибка Поле агрегатного объекта не обнаружено (ПредставлениеВид)
|
|||
41
msk-07
22.08.12
✎
23:08
|
а в ячейке написал ТабПрих.Документ.ПредставлениеВид()
|
|||
42
viktor_vv
22.08.12
✎
23:09
|
(40) Ты копировать можешь нормально. ТабПрих.Документ.ПредставлениеВидА() .
|
|||
43
alex74
22.08.12
✎
23:09
|
(41) ПредставлениеВидА()
в конце А у тебя клавиатура неисправна, что ли? |
|||
44
viktor_vv
22.08.12
✎
23:09
|
(41) Если хочешь стать программером, самое первое научись копипастить :).
|
|||
45
msk-07
22.08.12
✎
23:10
|
Да, да, да...я уже исправил! Спасибо всем огромное за помощь! Очень благодарен!
|
|||
46
Мимохожий Однако
22.08.12
✎
23:11
|
ОФФ: не булькает
|
|||
47
Lionee
23.08.12
✎
21:56
|
мда разборки
|
|||
48
SED
23.08.12
✎
22:00
|
Lionee настальгия нахлынула??
))) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |