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

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

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с предприятие. КАк можно еще запретить редактирование? (Мне нужно сделать расшифровку для документа)

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

  • *****
  • Сообщений: 759
  • РЕПУТАЦИЯ: 138
  • КПД: 18%
  • Регистрация: 2015-02-27
  • Сайт: 
  • Профессия: Программист 1С
ТабДок.ТолькоПросмотр = истина


 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
159 Сообщений
alex0402
73 Сообщений
oleg-x
68 Сообщений
AIFrame AIFrame
59 Сообщений
buketov.av buketov.av
44 Сообщений
wise wise
39 Сообщений
KOI8-R
34 Сообщений
ilyay ilyay
29 Сообщений
Анюта17
28 Сообщений
Alter
28 Сообщений

* Кто онлайн

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal