![]() |
![]() |
![]() |
|
Вывод на экран в обработке | ☑ | ||
---|---|---|---|---|
0
msk-07
28.05.12
✎
19:33
|
Есть код...он не большой
Процедура КнопкаВыполнитьНажатие(Кнопка) Команды=Новый ТаблицаЗначений; Команды.Колонки.Добавить("НомерСтр", Новый ОписаниеТипов("Число")); Команды.Колонки.Добавить("СФ", Новый ОписаниеТипов(Документы.ТипВсеСсылки().Типы())); Команды.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число")); Команды.Колонки.Добавить("НДС", Новый ОписаниеТипов("Число")); Команды.Колонки.Добавить("Разница",Новый ОписаниеТипов ("Число")); Команды.Колонки.Добавить("Разница2", Новый ОписаниеТипов("Число")); Выборка = Документы.НДС_СчетФактураВыданный.Выбрать(Дата1, Дата2); Пока Выборка.Следующий() Цикл Если Выборка.ПолучитьОбъект() Тогда Продолжить; КонецЕсли; Команды.НоваяСторока(); Команды.НомерСтр=Команды.НомерСтроки; Команды.СФ=Выборка.ПолучитьОбъект(); Команды.Сумма=Выборка.Итог("Сумма"); Команды.НДС=Выборка.Итог("НДС"); Команды.Разница=Выборка.Итог("Всего")*18/118-Выборка.Итог("НДС"); Команды.Разница2=Выборка.Итог("Всего")*18/100-Выборка.Итог("НДС"); Выборка.Показать(); КонецЦикла КонецПроцедуры //Процедура ПриОткрытии() // НачалоПериода=НачалоКвартала(ТекущаяДата()); // КонецПериода=КонецКвартала(ТекущаяДата()); //КонецПроцедуры Процедура ПроверкаЗКП () ИтогоОш=0; ИтогоОш2=0; ТЗ = Документы.НДС_СчетФактураВыданный.Выбрать(Дата1, Дата2); ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку() Цикл Разн=Окр(ТЗ.СуммаНДС * 18/100,2)-ТЗ.СтавкаНДС; Если Разн < 0 Тогда Разн=-Разн; КонецЕсли; Если Разн > 0 Тогда Сообщить(Строка(ТЗ.КодВидаОперации)+" "+Строка(Окр(ТЗ.СуммаНДС * 18/100,2)-ТЗ.СтавкаНДС)); КонецЕсли; ИтогоОш=ИтогоОш+ТЗ.СуммаНДС * 18/100-ТЗ.СтавкаНДС; ИтогоОш2=ИтогоОш2+Окр(ТЗ.СуммаНДС * 18/100,2)-ТЗ.СтавкаНДС; КонецЦикла; Сообщить("Ошибка итого" + ИтогоОш); Сообщить("Ошибка итого2" + ИтогоОш2); //ТЗ.Показать(); КонецПроцедуры |
|||
1
Fragster
гуру
28.05.12
✎
19:34
|
продолжайте наблюдения
|
|||
2
msk-07
28.05.12
✎
19:35
|
Я не как не пойму в каком месте надо выводить на экран, так чтобы это действительно выводилось. То есть не пойму на что ссылаться.
ТЗ это реквизит в обработке, таблица значений. Там должно выводиться как минимум 6 колонок, а ни чего нет |
|||
3
msk-07
28.05.12
✎
19:45
|
Я совсем не понимаю, если я создал в форме реквизит ТЗ, который имеет тип таблица значений, как тогда мне все совместить в таком куске кода
Команды=Новый ТаблицаЗначений; Команды.Колонки.Добавить("НомерСтр", Новый ОписаниеТипов("Число")); Команды.Колонки.Добавить("СФ", Новый ОписаниеТипов(Документы.ТипВсеСсылки().Типы())); Команды.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число")); Команды.Колонки.Добавить("НДС", Новый ОписаниеТипов("Число")); Команды.Колонки.Добавить("Разница",Новый ОписаниеТипов ("Число")); Команды.Колонки.Добавить("Разница2", Новый ОписаниеТипов("Число")); Выборка = Документы.НДС_СчетФактураВыданный.Выбрать(Дата1, Дата2); Пока Выборка.Следующий() Цикл Если Выборка.ПолучитьОбъект() Тогда Продолжить; КонецЕсли; |
|||
4
msk-07
28.05.12
✎
19:45
|
то есть какие надо делать ссылки???
|
|||
5
kotletka
28.05.12
✎
19:47
|
ТабличныйДокумент + Макет не пробовал сделать? <- копать туда
|
|||
6
msk-07
28.05.12
✎
19:48
|
не, просто мне сказали писать без макета, вот и не могу теперь вывести все((( горе прям какое-то
|
|||
7
kotletka
28.05.12
✎
19:49
|
нарисуй доп форму, на неё на всю тч и выводи в тч, форму не забудь открыть - самое простое
|
|||
8
Fragster
гуру
28.05.12
✎
19:51
|
1. Зачем юзать доп. переменную, если уже есть ТЗ?
2. что такое Если Выборка.ПолучитьОбъект() Тогда Продолжить; КонецЕсли; ? 3. что такое НоваяСторока(); и вообще это v7 или v8? |
|||
9
msk-07
28.05.12
✎
19:53
|
это 8, но у меня задание переписать с 7.7 на 8.2 и вот сижу мучаюсь, уже третья неделя, уже по созданию моих тем это можно понять(((((
|
|||
10
msk-07
28.05.12
✎
19:55
|
да я изменил сейчас НоваяСторока() на ДобавитьСтроку(), но результата нет(((
|
|||
11
kotletka
28.05.12
✎
19:56
|
а как тебе надо вывести на словах обясни, в форме, в табличном документе (ну или как в отчете, как в списке, ... ) короче приведи пример на типовой
|
|||
12
Fragster
гуру
28.05.12
✎
19:57
|
(10) а сфига ему быть, если ты не видишь отличия табличного поля от таблицы значений и процедуры от функции
|
|||
13
Fragster
гуру
28.05.12
✎
19:58
|
короче, если у тебя есть табличная часть в обработке, то её и заполняй, в СП почитай про методы этой самой табличной части. на форму уж перетащить сможешь, я думаю
|
|||
14
msk-07
28.05.12
✎
19:59
|
(11) как это работает на 7.7 у них в во внешней обработке нарисована таблица значений, куда после выполнения кода записывается результат,
Так в принципе и я делаю, создал новую обработку, нарисовал форму, на форме создал таблицузначений. |
|||
15
hhhh
28.05.12
✎
20:05
|
(14) ну а начальник твой, чего косит, не объясняет, что и как?
|
|||
16
kotletka
28.05.12
✎
20:06
|
у обработки создаешь табличую часть (с нужными колонками), на форме обработки рисуешь табличное поле, в его свойствах в поле данные указываешь свою тч, в коде работаешь не с табличным полем а с тч и все норм, даже показывать не надо, если есть тимвьювер могу быстро накидать как надо
|
|||
17
msk-07
28.05.12
✎
20:06
|
я один работаю все мне больше ни кто не помогает
|
|||
18
msk-07
28.05.12
✎
20:09
|
(16) так вроде бы и я уже создал таблицу значений
|
|||
19
msk-07
28.05.12
✎
20:09
|
Я сейчас пришлю как все выглядет
|
|||
20
kotletka
28.05.12
✎
20:10
|
какая ТЗ, табличную часть надо
|
|||
21
Fragster
гуру
28.05.12
✎
20:12
|
(17) а не пробовал книжки читать, хотя бы самые базовые, прежде, чем на форуме писать?
разбираться методом тыка в языке программирования - вообще не эффективно |
|||
22
msk-07
28.05.12
✎
20:12
|
у меня она есть...http://s019.radikal.ru/i614/1205/4c/4e4fa3b673c5.jpg
http://s45.radikal.ru/i107/1205/72/248241108bed.jpg и вот код Процедура КнопкаВыполнитьНажатие(Кнопка) Команды=Новый ТаблицаЗначений; Команды.Колонки.Добавить("НомерСтр", Новый ОписаниеТипов("Число")); Команды.Колонки.Добавить("СФ", Новый ОписаниеТипов(Документы.ТипВсеСсылки().Типы())); Команды.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число")); Команды.Колонки.Добавить("НДС", Новый ОписаниеТипов("Число")); Команды.Колонки.Добавить("Разница",Новый ОписаниеТипов ("Число")); Команды.Колонки.Добавить("Разница2", Новый ОписаниеТипов("Число")); Выборка = Документы.НДС_СчетФактураВыданный.Выбрать(Дата1, Дата2); Пока Выборка.Следующий() Цикл Если Выборка.ПолучитьОбъект() Тогда Продолжить; КонецЕсли; Команды.ДобавитьСтроку(); Команды.НомерСтр=Команды.НомерСтроки; Команды.СФ=Выборка.ПолучитьОбъект(); Команды.Сумма=Выборка.Итог("Сумма"); Команды.НДС=Выборка.Итог("НДС"); Команды.Разница=Выборка.Итог("Всего")*18/118-Выборка.Итог("НДС"); Команды.Разница2=Выборка.Итог("Всего")*18/100-Выборка.Итог("НДС"); Команды.Показать(); КонецЦикла КонецПроцедуры //Процедура ПриОткрытии() // НачалоПериода=НачалоКвартала(ТекущаяДата()); // КонецПериода=КонецКвартала(ТекущаяДата()); //КонецПроцедуры Процедура ПроверкаЗКП () ИтогоОш=0; ИтогоОш2=0; ЗКП = Документы.НДС_СчетФактураВыданный.Выбрать(Дата1, Дата2); ЗКП.ВыбратьСтроки(); Пока ЗКП.ПолучитьСтроку() Цикл Разн=Окр(ЗКП.СуммаНДС * 18/100,2)-ЗКП.СтавкаНДС; Если Разн < 0 Тогда Разн=-Разн; КонецЕсли; Если Разн > 0 Тогда Сообщить(Строка(ЗКП.КодВидаОперации)+" "+Строка(Окр(ЗКП.СуммаНДС * 18/100,2)-ЗКП.СтавкаНДС)); КонецЕсли; ИтогоОш=ИтогоОш+ЗКП.СуммаНДС * 18/100-ЗКП.СтавкаНДС; ИтогоОш2=ИтогоОш2+Окр(ЗКП.СуммаНДС * 18/100,2)-ЗКП.СтавкаНДС; КонецЦикла; Сообщить("Ошибка итого" + ИтогоОш); Сообщить("Ошибка итого2" + ИтогоОш2); КонецПроцедуры |
|||
23
msk-07
28.05.12
✎
20:13
|
(21) честно я каждый день трачу на книги по 1с около 4 часов((( уже начинаю просто психовать
|
|||
24
hhhh
28.05.12
✎
20:22
|
(23) ну вот сразу Выборка. Открываеи в твоей книге СправочникВыборка. Смотрим, какие методы у него:
Методы: ПолучитьОбъект (GetObject) Следующий (Next) УровеньВВыборке (LevelInSelection) Видишь у выборки всего 3 метода. Смотрим у тебя в процедуре: Выборка.Показать(); - это только после 50-ти фужеров шампанского можно такое написать. Ну нет у выборки метода Показать(). и сидишь, главное, ждешь, что она тебе начнет показывать. Выборка.Итог() - это вообще бред. |
|||
25
msk-07
28.05.12
✎
20:37
|
(24) не я теперь исправил, теперь у меня Команды.Показать();
|
|||
26
msk-07
28.05.12
✎
20:43
|
все равно не работает
|
|||
27
msk-07
28.05.12
✎
20:50
|
понимаю что ошибка наверное в Выборка.Итог но не могу понять как от этого уйти...
|
|||
28
Рэйв
28.05.12
✎
20:52
|
(23)>>естно я каждый день трачу на книги по 1с около 4 часов((( уже начинаю просто психовать
Расслабься, приятель. Знания 1С приходят не от затраченных часов в день, а от затраченных часов в году. Так что сильно не напрягайся, все равно телегу вперед лошади не поставишь. Хоть круглые сутки сиди, быстрее , чем за полгода понимание не придет. |
|||
29
Рэйв
28.05.12
✎
20:53
|
а от затраченных часов в году = а от затраченных ДНЕЙ в году
|
|||
30
hhhh
28.05.12
✎
20:55
|
(26) опять же Если ... Тогда
ведь там должно быть Булево значение: Истина или Ложь. а у тебя Если Выборка.ПолучитьОбъект() Объект - это огромная куча всяких структур и таблиц. Думаешь эта куча может быть равна Истина? Или Ложь? Это же голая математика, а ты - математик. И сравниваещь объекты с истиной и ложью. Такой алгоритм не будет работать. |
|||
31
Рэйв
28.05.12
✎
20:56
|
(30)Да что ты ему объясняешь. Ему еще учить что такое типы и их совместимость.
|
|||
32
Feanor
28.05.12
✎
20:59
|
(17) "я один работаю" - сильно :)
|
|||
33
Рэйв
28.05.12
✎
20:59
|
(32)+1
Я бы даже сказал отчаянно. |
|||
34
msk-07
28.05.12
✎
22:04
|
(30) понял свою ошибку...все завтра приду на работу аккуратненькое просмотрю, перепишу и попробую сделать, но уж если что напишу сюда
|
|||
35
Рэйв
28.05.12
✎
22:06
|
(34)Ты главное не спеши. Аспирин 2 таблетки - это в пользу, а пачка - это удар по здоровью. Так и с изучением 1С.:-)...Так что вполне можешь прийти через месяц
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |