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

Автор Тема: Редактирование одной ячейки табличного документа в отчете, созданном вручную  (Прочитано 8261 раз)

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

Оффлайн lighthead9288

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-02-05
  • Сайт: 
Здравствуйте, уважаемые эксперты! Передо мной стоит следующая задача: сформировать отчет с предоставлением пользователю возможности внесения в него ручных изменений(всего в одной ячейке) и с возможностью расшифровки значений некоторых столбцов
Что сделано:
1. Макет с областями "Шапка" и "Строка".
2. Заданы параметры в области "Строка", в которые будут выводиться результаты запроса
3. У столбца, для которого нужно обеспечить возможность редактирования, установлено свойство "Защита = Ложь". У остальных ячеек Защита=Истина
4. На форме отчета создан ТабличныйДокумент, куда и будет выводиться отчёт.
5. Свойство ТолькоПросмотр табличного документа установлено в значение "Истина".
6. Сформирован отчет следующим кодом:
&НаКлиенте
Процедура Сформировать(Команда)
// Вставить содержимое обработчика.

Если (Элементы.Организация.ВыделенныйТекст<>"") И (Элементы.Склад.ВыделенныйТекст<>"") И (Элементы.Дата.ВыделенныйТекст<>"") тогда
//ТабДок.ТолькоПросмотр = Истина;
ПечатьВДокумент(ТабДок);
ТабДок.ОтображатьСетку = Ложь;
//ТабДок.Защита = Ложь;
//ТабДок.Защита = истина;
//ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = ложь;
ЭтаФорма.Элементы.Расчет.Доступность = Истина;
Иначе Сообщить("Не все поля заполнены!"); КонецЕсли;

КонецПроцедуры

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

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

Пока Результат.Следующий() > 0 Цикл
Область = Макет.ПолучитьОбласть("Строка");
Область.Защита = Ложь;
Область.параметры.Наименование = Результат.наименованиеТовара;
Область.параметры.ЕдИзмер = Результат.Единица;
Область.параметры.УчетнаяЦена = Результат.УчетнаяЦена;
Область.Параметры.УчетныйОстаток = Результат.УчетныйОстаток;
Область.Параметры.РасшифровкаТовара = Результат.Ссылка;
Область.параметры.РасшифровкаЕдИзмер = Результат.СсылкаЕдиницаИзмерения;

ТабДок.Вывести(Область);
КонецЦикла;

7. Указаны параметры расшифровки:
Область.Параметры.РасшифровкаТовара = Результат.Ссылка;
   Область.параметры.РасшифровкаЕдИзмер = Результат.СсылкаЕдиницаИзмерения;



Результат: Расшифровка прекрасно работает, а ячейка не редактируется, хотя и её свойство Защита = Ложь.
В чём проблема? Играет ли какую-то роль свойство "Защита"?
Что интересно, свойство Табличного документа ТолькоПросмотр не изменяется программно. Меняется, если только в конфигураторе галку поставить/убрать. А программно - никак (((

Помогите, пожалуйста. Заранее спасибо.

Последний раз редактировалось: MuI_I_Ika; 05 Фев 2014, 16:01


Оффлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 6558
  • РЕПУТАЦИЯ: 775
  • КПД: 12%
  • Регистрация: 2012-08-15
    • Skype: MuI_I_Ika
  • Сайт: 
  • Профессия: Программист 1С
Если установлено только просмотр, то оно применяется для всего документа не зависимо от проставленных защит. Так что надо разрешить изменять таблицу.

Оффлайн lighthead9288

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-02-05
  • Сайт: 
Если установлено только просмотр, то оно применяется для всего документа не зависимо от проставленных защит. Так что надо разрешить изменять таблицу.
Ясно. Но, если свойство табличного документа ТолькоПросмотр будет установлено в Ложь, то тогда не будет работать расшифровка ячеек(по крайней мере, об этом говорит Синтакс-помощник). Можно ли как-то обойти это? Возможна ли расшифровка при выключенном свойстве ТолькоПросмотр?
Добавлено: 06 Фев 2014, 02:08

Если установлено только просмотр, то оно применяется для всего документа не зависимо от проставленных защит. Так что надо разрешить изменять таблицу.
Ясно. Но, если свойство табличного документа ТолькоПросмотр будет установлено в Ложь, то тогда не будет работать расшифровка ячеек(по крайней мере, об этом говорит Синтакс-помощник). Можно ли как-то обойти это? Возможна ли расшифровка при выключенном свойстве ТолькоПросмотр?



Спасибо большое, разобрался!) Как Вы правильно заметили свойство ТолькоПросмотр должно быть Ложь, а чтобы ещё и расшифровка работала, свойство "Защита" табличного документа должно быть установлено в Истину

Последний раз редактировалось: lighthead9288; 06 Фев 2014, 02:08. Причина: Объединение сообщений


Теги:
 

Не открывает форму сохраненного документа, открывает форму нового.

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

Ответов: 1
Просмотров: 4481
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Автоматическое заполнение табличной части документа из табличной части другого

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

Ответов: 6
Просмотров: 15949
Последний ответ 16 Авг 2012, 12:07
от Will
Заполнение поля табличной части документа из табличной части справочника.

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

Ответов: 3
Просмотров: 4203
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

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

Ответов: 1
Просмотров: 639
Последний ответ 10 Май 2017, 20:44
от ilnur75
Добавление сведений в графу "основание" документа "ТОРГ-12"

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

Ответов: 4
Просмотров: 7751
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
157 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
51 Сообщений
oleg-x
44 Сообщений
andron81_81
44 Сообщений
BuhRust
33 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal