Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
20 Окт 2017, 19:11
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Ошибка в табличной частине  (Прочитано 959 раз)

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

Оффлайн casper21

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-10-04
  • Сайт: 
  • Профессия: Программист 1С
Функция Печать() Экспорт
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("МакетДруку");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьДанные = Макет.ПолучитьОбласть("Данные");
ОбластьПереченьНоменклатурыШапка = Макет.ПолучитьОбласть("ПереченьНоменклатурыШапка");
ОбластьПереченьНоменклатуры = Макет.ПолучитьОбласть("ПереченьНоменклатуры");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ОбластьШапка.Параметры.ТекстЗаголовка = "Печатная форма "+Ссылка.Номер;
ТабДок.Вывести(ОбластьШапка);


Запрос = Новый Запрос;
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
| ОказаниеУслуг.Дата,
| ОказаниеУслуг.Клиент,
| ОказаниеУслуг.Мастер,
| ОказаниеУслуг.Склад,
| ОказаниеУслугПереченьНоменклатуры.НомерСтроки,
| ОказаниеУслугПереченьНоменклатуры.Номенклатура,
| ОказаниеУслугПереченьНоменклатуры.Количество,
| ОказаниеУслугПереченьНоменклатуры.Цена,
| ОказаниеУслугПереченьНоменклатуры.Сумма
|ИЗ
| Документ.ОказаниеУслуг.ПереченьНоменклатуры КАК ОказаниеУслугПереченьНоменклатуры
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОказаниеУслуг КАК ОказаниеУслуг
| ПО ОказаниеУслугПереченьНоменклатуры.Ссылка = ОказаниеУслуг.Ссылка
|ГДЕ
| ОказаниеУслуг.Ссылка В(&Ссылка)";


Выборка = Запрос.Выполнить().Выбрать();
ИтогоСумма = 0;
ИтогоКоличество = 0;

Пока Выборка.Следующий() Цикл

ЗаполнитьЗначенияСвойств(ОбластьДанные.Параметры,Выборка);
ЗаполнитьЗначенияСвойств(ОбластьПереченьНоменклатуры.Параметры,Выборка);
ИтогоСумма = ИтогоСумма + Выборка.Сумма;
    ИтогоКоличество = ИтогоКоличество + Выборка.Количество;

// ????????
//ВыборкаПереченьНоменклатуры = Выборка.ПереченьНоменклатуры.Выбрать();
// Пока ВыборкаПереченьНоменклатуры.Следующий() Цикл
// ЗаполнитьЗначенияСвойств(ОбластьПереченьНоменклатуры.Параметры,Выборка);
//
// КонецЦикла;
// ????????

КонецЦикла;
  ТабДок.Вывести(ОбластьДанные);
  ТабДок.Вывести(ОбластьПереченьНоменклатурыШапка);
  ТабДок.Вывести(ОбластьПереченьНоменклатуры);


ОбластьПодвал.Параметры.ИтогоКоличество = ИтогоКоличество;
ОбластьПодвал.Параметры.ИтогоСумма      = ИтогоСумма;
ТабДок.Вывести(ОбластьПодвал);
ВставлятьРазделительСтраниц = Истина;
ТабДок.Показать();
Возврат ТабДок;


Конецфункции

Надо вывести данные в табличную часть. А оно перезаписывает данные и виводить последнюю инфу.
Я уже что то там перезаписывал, уже забил че и как зделал. Может кто увидит((
а надо так




Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1098
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
переведи ui;;t;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Golickoff

  • ****
  • Сообщений: 321
  • РЕПУТАЦИЯ: 27
  • КПД: 8%
  • Регистрация: 2015-02-05
  • Сайт: 
  • Профессия: Ученик 1С
ТабДок.Вывести
Проблема здесь. Ты сначала заполняешь нужные поля в цикле, который длится пока не закончатся нужные данные, а затем ты выводишь это поле. Отсюда и твоя проблема. Как только заполнил все нужные поля области макета -- выводи её, а не перезаписывай. Тот код, с которого я начал своё сообщение, должен находиться ВНУТРИ цикла, а не после него.
Пока Выборка.Следующий() Цикл
   
        ЗаполнитьЗначенияСвойств(ОбластьДанные.Параметры,Выборка);
        ЗаполнитьЗначенияСвойств(ОбластьПереченьНоменклатуры.Параметры,Выборка);
        ИтогоСумма = ИтогоСумма + Выборка.Сумма;
        ИтогоКоличество = ИтогоКоличество + Выборка.Количество;
        ТабДок.Вывести(ОбластьДанные);
        ТабДок.Вывести(ОбластьПереченьНоменклатуры);

    КонецЦикла;
    ТабДок.Вывести(ОбластьПереченьНоменклатурыШапка);
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Оффлайн casper21

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-10-04
  • Сайт: 
  • Профессия: Программист 1С
http://s016.radikal.ru/i336/1510/02/ebdb55b1bd02.png
Вот такое...в табличной части все ок.
Но ОбластьДанные повторяются

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1098
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
ну так вытащи вывод ОбластьДанные из цикла!
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн casper21

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-10-04
  • Сайт: 
  • Профессия: Программист 1С
а как сделать чтобы область данные были сверху.
Перед табличной части.
Но в цикле описуэться что там писать
http://s020.radikal.ru/i705/1510/b9/ee53b4ca347a.png
Добавлено: 22 Окт 2015, 14:46

Зделал!:wacko:
Функция Печать() Экспорт
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("МакетДруку");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьДанные = Макет.ПолучитьОбласть("Данные");
ОбластьПереченьНоменклатурыШапка = Макет.ПолучитьОбласть("ПереченьНоменклатурыШапка");
ОбластьПереченьНоменклатуры = Макет.ПолучитьОбласть("ПереченьНоменклатуры");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ОбластьШапка.Параметры.ТекстЗаголовка = "Печатная форма "+Ссылка.Номер;
ТабДок.Вывести(ОбластьШапка);


Запрос = Новый Запрос;
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
| ОказаниеУслуг.Дата,
| ОказаниеУслуг.Клиент,
| ОказаниеУслуг.Мастер,
| ОказаниеУслуг.Склад,
| ОказаниеУслугПереченьНоменклатуры.НомерСтроки,
| ОказаниеУслугПереченьНоменклатуры.Номенклатура,
| ОказаниеУслугПереченьНоменклатуры.Количество,
| ОказаниеУслугПереченьНоменклатуры.Цена,
| ОказаниеУслугПереченьНоменклатуры.Сумма
|ИЗ
| Документ.ОказаниеУслуг.ПереченьНоменклатуры КАК ОказаниеУслугПереченьНоменклатуры
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОказаниеУслуг КАК ОказаниеУслуг
| ПО ОказаниеУслугПереченьНоменклатуры.Ссылка = ОказаниеУслуг.Ссылка
|ГДЕ
| ОказаниеУслуг.Ссылка В(&Ссылка)";


Выборка = Запрос.Выполнить().Выбрать();
ИтогоСумма = 0;
ИтогоКоличество = 0;
ОбластьДанные.Параметры.Заполнить(Ссылка);
ТабДок.Вывести(ОбластьДанные);
ТабДок.Вывести(ОбластьПереченьНоменклатурыШапка);
Пока Выборка.Следующий() Цикл
       // ЗаполнитьЗначенияСвойств(ОбластьДанные.Параметры,Выборка);
ЗаполнитьЗначенияСвойств(ОбластьПереченьНоменклатуры.Параметры,Выборка);
ИтогоСумма = ИтогоСумма + Выборка.Сумма;
    ИтогоКоличество = ИтогоКоличество + Выборка.Количество;
ТабДок.Вывести(ОбластьПереченьНоменклатуры);
КонецЦикла;
   //  ТабДок.Вывести(ОбластьДанные);
ОбластьПодвал.Параметры.ИтогоКоличество = ИтогоКоличество;
ОбластьПодвал.Параметры.ИтогоСумма      = ИтогоСумма;
ТабДок.Вывести(ОбластьПодвал);
ВставлятьРазделительСтраниц = Истина;
ТабДок.Показать();
Возврат ТабДок;


Конецфункции

Последний раз редактировалось: casper21; 22 Окт 2015, 14:46. Причина: Объединение сообщений

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1098
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Ну естественно кто за кем у вас ...Вывести(...) расположены, так они сверху вниз и идут в табдоке!
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.


Теги:
 

При открытии обр-ки в "Предприятии" есть ошибка, а в "Отладке" нет

Автор proofetРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4386
Последний ответ 21 Сен 2011, 17:35
от proofet
ошибка "Невозможно обработать параметр "ПрофильПолномочийПользователя""

Автор lindeluРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 5875
Последний ответ 06 Июн 2012, 09:15
от lindelu
Синтаксическая ошибка "В" Номенклатура.Ссылка = <<?>> В ИЕРАРХИИ(&Ссылка)

Автор maskitoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 4031
Последний ответ 28 Апр 2014, 15:53
от maskito
При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

Автор ppkmliteРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 7959
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz
Ошибка при загрузке данных через (Обработка "Выгрузка и загрузка данных XML")

Автор Сергей_87Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 8336
Последний ответ 26 Апр 2012, 23:08
от Dethmontt

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

oleg-x
93 Сообщений
alex0402
53 Сообщений
AIFrame
43 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
38 Сообщений
Oldman06
31 Сообщений
Golickoff Golickoff
30 Сообщений
vitasw
29 Сообщений
MuI_I_Ika MuI_I_Ika
19 Сообщений
DmitriyF DmitriyF
14 Сообщений
BuhRust
13 Сообщений

* Кто онлайн

  • Точка Гостей: 311
  • Точка Скрытых: 0
  • Точка Пользователей: 17
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal