ТекущаяСтрока(<?>); Синтаксис: ТекущаяСтрока(<Строка>) Назначение: Установить/определить текущую строку таблицы в элементе диалога типа ''ТаблицаЗначений''. Возвращает число, соответствующее индексу текущей строки поля диалога (до его изменения), или 0, если текущей строки нет. Параметры: <Строка> - необязательный параметр. Числовое выражение с задаваемым индексом строки для элемента диалога типа ''ТаблицаЗначений'', на которую требуется установить курсор. Если параметр не задан, то положение курсора в поле диалога не меняется.
видимость и доступность реквизитов нужно прописать в процедуре ПриВыбореЗакладки() примерно так:
Процедура ПриВыбореЗакладки(Номер,Значение) Если Значение = "Основной" Тогда Форма.ИспользоватьСлой("Совместный,Основной",2); //если реквизиты на слое Основной Если ПолноеИмяПользователя() <> "Simeon" Тогда Форма.Спл.Видимость(0); Форма.Спл.Доступность(0); Форма.СПЛАЧЕНО.Доступность(0); КонецЕсли; Если Спл=0 тогда Форма.СПЛАЧЕНО.Видимость(0); Иначе Форма.СПЛАЧЕНО.Видимость(1); КонецЕсли; ИначеЕсли Значение = "Доверенность" Тогда Форма.ИспользоватьСлой("Совместный,Доверенность",2);
каждая скобка - это цвет каждой колонки, если в скобках пусто - автоматически закрашивается как предыдущая если BRUSH[NONE] - без цвета
Это все для таблицы, которая выводится на форму, а для печатной формы - это совсем другая песня. Если ячейку независимо от значения нужно подкрасить, свойства ячейки, закладка "Узор", поле "Фон". Если в зависимости от значения, то вам поможет метод ЦветОбласти.
Тд.НоваяКолонка("FormEx_ПланРаскраски",,,,"FormEx_ПланРаскраски",); //обязательно первая Тд.НоваяКолонка(" //... и т.д. Тд.ВидимостьКолонки("FormEx_ПланРаскраски",0);
ZUBR @ Вчера, 17:45
, В семерке (в отличии от восьмерки) может быть только одна табличная часть у документа, и ни одной у справочника (( Для справочника можно реализовать через подчиненный справочник, или
ЗначениеВСтрокуВнутр(СписокТелефонов)
и хранить это безобразие в строке, но строки неограниченной длины - это зло. По-моему, самый оптимальный вариант - это строка ограниченной длины, в которой телефоны указаны через запятую или другой разделитель
ZUBR @ Вчера, 23:20
, На форме в свойсвах поля ввода "Клиент" на вкладке Дополнительно в поле Формула прописываем процедуру, которая будет вызыватся при изменении реквизита Клиент. Например КлиентприИзменении() В модуле формы создаем процедуру КлиентприИзменении(), а в ней прописываем както так
ОткрытьФорму(<?>,,) Синтаксис: ОткрытьФорму(<Документ>,<КонтекстФормы>,<РежимПросмотра>) Назначение: Открывает визуальную форму существующего документа или элемента/группы справочника. Возвращает: 1 - если действие выполнено, 0 - иначе. Параметры: <Документ> - выражение со значением типа 'документ'; <КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен); <РежимПросмотра> - необязательный параметр. Числовое выражение: 1 - открыть форму в режиме только просмотра; 0 - открыть форму в режиме редактирования; -1 (минус единица) - в этом случае используется вариант, предусмотренный текущим значением параметра ''Режим открытия объектов'', установленным пользователем интерактивно. Замечание: Пока форма открыта, тип значения параметра <КонтекстФормы> равен 100, когда закрыта - 0.
В конфигураторе "Поиском во всех текстах" поискать фразу "Данное действие запрещено полтикой предприятия", а тогда уже два решения - или переписывать код, или расширять права
К обработке было описание? Возможно она написана под другую конфигурацию (не ЗиК) или требуются доработки этой конфигурации. Судя по сообщению, вам нужно добавить новую константу "НазваниеОрганизации"
и в таблице заменить ТабОбщ.СкидкаКДоходамДляСтраховыхВзносов на ТабОбщ.СкидкаКДоходамДляСтраховыхВзносовСумма ТабОбщ.СкидкаКДоходамДляСтраховыхВзносов1 на ТабОбщ.СкидкаКДоходамДляСтраховыхВзносовСумма1
ДокументАкциз = СоздатьОбъект("Документ.Акциз"); Если ДокументАкциз.НайтиПоНомеру(НомерДляПоиска,ТекущаяДата)=1 Тогда ОткрытьФорму(ДокументАкциз.ТекущийДокумент()); КонецЕсли
ПолучитьСтрокуПоНомеру(<?>); Синтаксис: ПолучитьСтрокуПоНомеру(<НомерСтроки>) Назначение: Получить строку таблицы значений по номеру. Указанная строка становится текущей. Параметры: <НомерСтроки> - номер строки, на которую следует переместиться.
СпрКонтрагенты = СоздатьОбъект("Справочник.Контрагенты"); Если СпрКонтрагенты.НайтиПоРеквизиту("ЕДРПОУ",<ваш код из таблицы>,1)= 1 Тогда текущийКонтрагент = СпрКонтрагенты.ТекущийЭлемент(); КонецЕсли;
и вынесите строки
Док = СоздатьОбъект("Документ.ОказаниеУслуг"); Спр = СоздатьОбъект("Справочник.Контрагенты");
SergXP @ Сегодня, 11:49
, нужно два запроса: один к счету учета 10, другой - к счету 13, обходите первый запрос, внутри по ОС получаете износ из второго запроса. Только следует помнить, если ОС у вас во множественном числе, то износ нужно брать пропорционально пример кода здесь
ТЗ.ВыбратьВтроки(); Пока ТЗ.ПолучитьСтроку()=1 Цикл БудемРедактироватьСуществующий = 0; ДокПЛ.ВыбратьДокументы(Дата1,Дата2); Пока ДокПл.ПолучитьДокумент()=1 Цикл Если ДокПЛ.ПометкаУдаления() = 0 Тогда // проверяем все кроме помеченных!! Если (ДокПЛ.Автомобиль=ТЗ.Автомобиль.ТекущийЭлемент()) и (ДокПЛ.ДатаДок=ТЗ.ДатаДок) Тогда Если Вопрос("ПЛ № "+ДокПЛ+" уже записан (№ "+ДокПЛ.Номердок+"). РЕДАКТИРОВАТЬ?", "Да+Нет") = "Да" Тогда Если ДокПЛ.Проведен()=1 Тогда ДокПЛ.СделатьНеПроведенным(); КонецЕсли; БудемРедактироватьСуществующий = 1; КонецЕсли; Прервать; КонецЕсли; КонецЕсли; КонецЦикла; Если БудемРедактироватьСуществующий=0 Тогда ДокПЛ.Новый(); глЗаполнитьШапку(ДокПЛ); ДокПЛ.ДатаДок = ТЗ.ДатаДок; ДокПЛ.Автомобиль = ТЗ.Автомобиль.ТекущийЭлемент(); КонецЕсли; ДокПЛ.ПоказанияСпидометраНаНачало=ТЗ.КоличествоНачПокСпид; ДокПЛ.ПоказанияСпидометраНаКонец=ТЗ.КоличествоКонПокСпид; ДокПЛ.ПробегGPS=ТЗ.GPS; ДокПЛ.ПробегНорма=ТЗ.Км; ДокПЛ.СуммаЗаправки=ТЗ.ПоступилоСумма; ДокПЛ.ПоступилоГСМ=ТЗ.ПоступилоЛитр; ДокПЛ.Автор=глПользователь; Попытка ДокПЛ.Записать(); Исключение КонецПопытки; КонецЦикла КонецПроцедуры
inna.innainna84 @ Сегодня, 10:29
, предложение по коду: 1) вначале проверить на наличие необходимого документа, если он есть и дано согласие на редактирование - отменяем проведение, иначе - ДокМ.Новый(); 2) использовать один объект "Документ.ПутевойЛистГрузовой" и соответственно один блок заполнения реквизитов
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!