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

Автор Тема: параметры в печатной форме Больничная аптека  (Прочитано 1492 раз)

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

Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день!Подскажите, пожалуйста.
Есть печатная форма для элемента справочника договоры. Когда заходим в один договор на форме кнопка, по нажатию на которую выходит печатная форма, котррая выводит все номенклатуру, закупленную по этому договору, номер и дату документов потсупления. Вопрос такой - номенклатур в одном документе может быть много, они находятся в табличной части, как сделать чтобы номер документа выводился только один раз, и по нему вся номенклатура??. У меня получается сейчас,на каждую номенклатуру выводится номер,хотя он одинаковый
&НаКлиенте
Процедура акт(Команда)
акты().Показать();
КонецПроцедуры

&НаСервере
функция акты()
Макет = справочники.ДоговорыКонтрагентов.ПолучитьМакет("МакетОтчета");   
ОбластьЗаголовок = Макет.ПолучитьОбласть("заголовочек");
ОбластьСтрокаТЧ = Макет.ПолучитьОбласть("СтрокаТЧ");
ТабДок=Новый ТабличныйДокумент;
сч = 0;
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    ТабДок.Вывести(ОбластьЗаголовок);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДоговорыКонтрагентов.Ссылка,
| ПоступлениеТоваровТовары.Номенклатура,
| ПоступлениеТоваровТовары.Ссылка.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
| ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента,
| ПоступлениеТоваровТовары.Ссылка КАК Ссылка1
|ИЗ
| Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
| ПО (ДоговорыКонтрагентов.Ссылка = ПоступлениеТоваровТовары.Ссылка.ДоговорКонтрагента)
|ГДЕ
| ДоговорыКонтрагентов.Ссылка = &Ссылка
|
|УПОРЯДОЧИТЬ ПО
| НомерВходящегоДокумента";

Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
сч = 0;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
//док = ВыборкаДетальныеЗаписи.НомерВходящегоДокумента
сч = сч +1;
ОбластьСтрокаТЧ.Параметры.НомерПоПорядку = сч;
//Для каждого текстрока из 
//Если ВыборкаДетальныеЗаписи.ДатаВходящегоДокумента = 
ОбластьСтрокаТЧ.Параметры.ДатаДокумента = ВыборкаДетальныеЗаписи.ДатаВходящегоДокумента;
//Если док
ОбластьСтрокаТЧ.Параметры.номерНакладной = ВыборкаДетальныеЗаписи.НомерВходящегоДокумента;
ОбластьСтрокаТЧ.Параметры.номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
ТабДок.Вывести(ОбластьСтрокаТЧ);
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Ложь;
Возврат ТабДок;
Конецфункции


Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Макет

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
1. Левым соединением пристегивайте приходные к договорам, а не так как сейчас у вас договоры к приходным
2. Заполняйте параметр номер только для первой строки.
3. Для вас будет полезным секция "Итоги" в запросе.

Оффлайн Rokkie

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-01-27
  • Сайт: 
  • Профессия: Бухгалтер
Обнаружил неточность в запросе. Тут произвольное указание соединения по строке, хотя не понятно зачем. Так же, чтобы отчет был менее громоздким (в частности, чтобы не повторялась номенклатура), нужно сделать группировку по всем полям. Далее, как правильно предлагает vitasw нужно получить итоговое группировочное поле по полю "НомерВходящегоДокумента" (т.е. вместо одноуровнего результата запроса, мы получаем древовидный: на первом уровне итоговое группировочное поле, на втором детальные записи - все остальные поля включая и сам номер входящего документа). Это налаживается в закладке конструктора запроса "Итоги". Это было сделано, чтобы получить номер всходящего документа один раз и добавить его на печатную форму так же 1 раз. Такого рода неудобный, но все же работающий метод. дальше, чтобы не было трудностей с обходом древовидного результата выложу код:
&НаСервере
функция акты()

Макет = справочники.ДоговорыКонтрагентов.ПолучитьМакет("МакетОтчета");   

ОбластьЗаголовок = Макет.ПолучитьОбласть("заголовочек");
ОбластьСтрокаТЧ = Макет.ПолучитьОбласть("СтрокаТЧ");

ТабДок=Новый ТабличныйДокумент;
ТабДок.Вывести(ОбластьЗаголовок);   

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДоговорыКонтрагентов.Ссылка,
| ПоступлениеТоваровТовары.Номенклатура,
| ПоступлениеТоваровТовары.Ссылка.НомерВходящегоДокумента КАК НомерВходящегоДокумента,
| ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента,
| ПоступлениеТоваровТовары.Ссылка КАК Ссылка1
|ИЗ
| Документ.ПоступлениеТоваров.Товары КАК ПоступлениеТоваровТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
| ПО ПоступлениеТоваровТовары.Ссылка.ДоговорКонтрагента = ДоговорыКонтрагентов.Ссылка
|ГДЕ
| ДоговорыКонтрагентов.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ПоступлениеТоваровТовары.Номенклатура,
| ДоговорыКонтрагентов.Ссылка,
| ПоступлениеТоваровТовары.Ссылка,
| ПоступлениеТоваровТовары.Ссылка.НомерВходящегоДокумента,
| ПоступлениеТоваровТовары.Ссылка.ДатаВходящегоДокумента
|
|УПОРЯДОЧИТЬ ПО
| НомерВходящегоДокумента
|ИТОГИ ПО
| НомерВходящегоДокумента";

Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);

Результат = Запрос.Выполнить();
ВыборкаИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); // 1 уровень

сч = 0;

ВыборкаИтог.Следующий();
НомерДок = ВыборкаИтог.НомерВходящегоДокумента;

ВыборкаДетальныеЗаписи = ВыборкаИтог.Выбрать(); // 2 уровень

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
сч = сч+1;

ОбластьСтрокаТЧ.Параметры.НомерПоПорядку = сч;
ОбластьСтрокаТЧ.Параметры.ДатаДокумента = ВыборкаДетальныеЗаписи.ДатаВходящегоДокумента;
ОбластьСтрокаТЧ.Параметры.номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
ОбластьСтрокаТЧ.Параметры.номерНакладной = НомерДок;
ТабДок.Вывести(ОбластьСтрокаТЧ);
НомерДок = 0;

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Ложь;
Возврат ТабДок;
Конецфункции

PS Финальное д/з

Оффлайн ppkmlite

  • **
  • Сообщений: 78
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Спасибо большое. Скажите,пожалуйста,как нужно запретить редактирование табличного документа,пишу
ТабДок.ТолькоПросмотр = Истина;
    ТабДок.Защита = Истина;
Но не работает, пользовательсвободно редактирует макет в режиме 1с предприятие. КАк можно еще запретить редактирование? (Мне нужно сделать расшифровку для документа)

Оффлайн Дмитрий@

  • *****
  • Сообщений: 735
  • РЕПУТАЦИЯ: 134
  • КПД: 18%
  • Ссылка на примеры работ https://yadi.sk/d/ksVluPMB
  • Регистрация: 2015-02-27
    • Skype: ShuplecovDima
  • Сайт: 
  • Профессия: Программист 1С
ТабДок.ТолькоПросмотр = истина
Ссылка на примеры работ https://yadi.sk/d/ksVluPMB


 

Группа "СписокКомпоновщикНастроекПользовательскиеНастройки" в форме "Перечисления"

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

Ответов: 1
Просмотров: 1753
Последний ответ 12 Ноя 2016, 18:08
от Азамат Хубиев
Изменение цвета при подборе сотрудника в форме списка справочника "Сотрудники организации" для документа "Зарплата к выплате организаций" ЗУП 2.5

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

Ответов: 2
Просмотров: 263
Последний ответ 12 Окт 2017, 14:02
от wise
Как настроить отображение на форме "группа плательщика единого налога" при выборе системы налогообложения "Единый налог"?

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

Ответов: 1
Просмотров: 2272
Последний ответ 17 Авг 2015, 07:48
от cska-fanat-kz
Добавление строки и заполнение строки в ТЗ на форме

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

Ответов: 1
Просмотров: 286
Последний ответ 25 Сен 2017, 09:00
от Св Ч
Ребята, срочно нужна помощь. Какую процедуру нужно написать в форме справочника, чтобы таблица заполнялась данными из другого справочника?

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

Ответов: 5
Просмотров: 2751
Последний ответ 27 Май 2016, 15:19
от Олька Бякина

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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
166 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
36 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
28 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal