Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Документооборот: можно ли управлять видимостью доп.реквизита документа не от другого рекв?

У видов документов есть дополнительные реквизиты. Для них можно настраивать условия видимости и доступности в зависимости от значения другого реквизита документа.
Можно ли управлять видимостью/доступностью доп.реквизита документа не от другого реквизита а, например, от текущего пользователя. Что бы одни пользователи видели, к примеру, доп.условия по договору, а другие - нет.
Ответ: () А если пользователь поменял статью на такую, которая уже не подходит под условие видимости, тогда он уже не может отменить сделанное изменение, так что ли хочется?
Вопрос: Возможно ли сделать отбор в форме списка док? Поле - не реквизит документа.

Возможно ли сделать отбор в форме списка док? Поле - не является реквизитом документа. Заполняется с помощью запроса.
Ответ: У меня все уже получилось
        СписокДокРеал= новый списокЗначений;
        Построитель = Новый ПостроительЗапроса;
        Источник = Новый ОписаниеИсточникаДанных;
        Источник.ИсточникДанных = ДокументСписок;
        Построитель.ИсточникДанных = Источник;
        Построитель.Выполнить();
        ТаблицаДокументов = Построитель.Результат.Выгрузить();
        МасДок = ТаблицаДокументов.ВыгрузитьКолонку("Ссылка");
        СписокДокРеал.ЗагрузитьЗначения(МасДок);
        
        
        
        Запрос= новый Запрос; 
        Запрос.Текст= 
        "ВЫБРАТЬ
        |    ОригиналыДокументов.Документ
        |ИЗ
        |    Справочник.ОригиналыДокументов КАК ОригиналыДокументов
        |ГДЕ
        |    ОригиналыДокументов.Документ В(&ТекДок)"; 
        Запрос.УстановитьПараметр("ТекДок", СписокДокРеал); 
        
        СписокДокОриг= новый списокЗначений;
        ТЗ=Запрос.Выполнить().Выгрузить();
        Мас = ТЗ.ВыгрузитьКолонку("Документ");
        
        СписокДокОриг.ЗагрузитьЗначения(Мас);
        ЭтаФорма.ДокументСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке; 
        ЭтаФорма.ДокументСписок.Отбор.Ссылка.Значение = СписокДокОриг; 
        ЭтаФорма.ДокументСписок.Отбор.Ссылка.Использование = Истина;
Вопрос: Автозаполнение реквизита документа

Здравствуйте, можно ли сделать так что бы при заполнении одного реквизита документа заполнялись 1,2... реквизита "на основании" введенного ранее. Например есть реквизит "Заказчик" (тип:справочникСсылка.Контрагенты) и есть реквизит "ОКПО заказчика", и когда я заполняю реквизит "Заказчик" должен подставиться реквизит "ОКПО заказчика"
p.s. В справочнике указывается ОКПО заказчика (есть реквизит)
Ответ: yoqkee, Заказчик у вас скорее всего ссылочный тип(СправочникСсылка.Контрагенты). Если хотите видеть ИНН, лучше вытащите его на форму рядом с Заказчиком: в окне редактирования формы документа в окне реквизитов объекта(маленькое окно справа вверху) разворачиваете Объект - Заказчик - находите там ИНН и перетягиваете в окно слева(в окно элементов формы), появится поле с путем к данным "Объект.Заказчик.ИНН".
Вопрос: Загрузка данных из Excel в реквизиты документа

Здравствуйте, уважаемые форумчане. Есть программа, самописная, из нее выгружаются данные за период в файл Excel. Есть база 1С 8.3 управляемые формы, в ней документ с реквизитами, в который необходимо загрузить данные из этого файла Excel. Данных много, вручную долго, да и периодически надо выгружать эти данные. Каким образом можно реализовать загрузку данных в 1С? Стандартной загрузкой из Excel не удается, т.к. там нет загрузки в документы. Смысл реализации следующий:
В файл Excel выгружаются данные таким образом:
В 1С эти данные должны загружаться таким образом, что каждая строка, это новый документ с реквизитами, которые подставляются из колонок.
Уже пересмотрел кучу информации, но там только загрузка в справочники, табличную часть документа, регистры. А в реквизиты документа не нашел.
Ответ:
Сообщение от zersturen
"КонечнаяДата = Дата(Год+Месяц+День); Преобразование к типу Дата не может быть выполнено", проверял в отладчике, он получает дату в таком виде "21102015"
1С не может преобразовать потому что порядок неверный(если верить отладчику). Год должен быть первым, месяц вторым и день, соответственно, третьим - именно в такой последовательности происходит преобразование. Из кода видно, что подстановка идет верная(год+месяц+день), но у тебя почему-то не работает.... И, честно говоря, я пребываю в замешательстве на счет этой ситуации.

Что касается перечислений: "НРег" должен работать, вне зависимости от написания в exel-документе. Но стоит учитывать факт считывания ЗНАЧЕНИЙ ячеек, ведь exel может представлять их в любом виде, при простом просмотре. Аналогично с датами. Поэтому перепроверь реальное содержание ячеек, может быть, что-то да прояснится.....
Вопрос: Как выгрузить реквизит документа в XML файл

Добрый день! Подскажите, как выгрузить реквизит документа в XML файл? Создаю новую команду в документе "Взвешивание". Там добавляю процедуру, но не хватает ума написать правильно код. Нужно, чтоб при нажатии кнопки с этого документа создавался файл XML и туда записан был реквизит документа "НомерТТН".
Дошел до такого кода:

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
   
Запись=Новый ЗаписьXML;
Запись.ОткрытьФайл("D:\document.xml");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Корневой");
Запись.ЗаписатьАтрибут("Доумент", "Взвешивание");

Выборка = ЭтотОбъект.Ссылка;       

 Запись.ЗаписатьНачалоЭлемента("Элемент");
 Запись.ЗаписатьАтрибут("Номер", Строка(Выборка.НомерТТН));
 Запись.ЗаписатьКонецЭлемента();

Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();
КонецПроцедуры

Однако 1с ругается на эту строку: Выборка = ЭтотОбъект.Ссылка;
подскажите как правильно сослаться на форму открытого документа и оттуда взять реквизит НомерТТН?
Ответ: Помогите продолжить заполнение, может нужно типы данных еще дописывать?
Дополнил код:
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    
Запись=Новый ЗаписьXML;
Запись.ОткрытьФайл("D:\document.xml");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Корневой");
Запись.ЗаписатьАтрибут("Доумент", "Взвешивание");

 Запись.ЗаписатьНачалоЭлемента("Номер");
 Запись.ЗаписатьТекст(ПараметрКоманды.Номер);
 Запись.ЗаписатьКонецЭлемента();
      
 Запись.ЗаписатьНачалоЭлемента("Нетто");
 Запись.ЗаписатьТекст(ПараметрКоманды.Дата);
 Запись.ЗаписатьКонецЭлемента();
 
 Запись.Закрыть();
КонецПроцедуры

Номер выводит отлично, так как надо, но вот Дату выдает ошибку:
{Документ.Взвешивание.Команда.Меркурий.МодульКоманды(16)}: Ошибка при вызове метода контекста (ЗаписатьТекст)
 Запись.ЗаписатьТекст(ПараметрКоманды.Дата);
по причине:
Несоответствие типов (параметр номер '1')

Помогите решить проблему. Может лучше было бы делать с формы документа, тогда бы не было данных ошибок
Вопрос: Условие по номеру документа в запросе при группировке "Документ".

Как записать условие по номеру документа в запросе, если переменной "Документ" нет, а используется группировка "Документ"? Вводить переменную и заменять группировку "Документ" на группировка по ней, или можно без этого?
Ответ: () да, можно и переменнуб в запрос ввести. Однако Группировка по переменной запроса (которая определена как Регистр.ТекущиийДокумент или Док.Текущий доккумент) и по предопределенной "Документ" - имеет некоторые особенности/тонкости/различия. Какие именно - сейчас не помню, но они есть - надо искать - обсуждалось как-тог
Вопрос: Управляемые формы, получить реквизит документа в модуле формы

Добрый день!
Вопрос такой - как находясь в модуле произвольной формы, получить реквизит документа этой формы? Т.е как прописать сюда

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)    КонтрЗадачи.Параметры.УстановитьЗначениеПараметра("Контр",СсылкаКонтр);
КонецПроцедуры

вместо "СсылкаКонтр" некий прямой путь?(что-то вроде Объект.реквизиты и т.д.) Сейчас это параметр формы, который передается на нее при ее вызове. Реквизит "Объект" у формы отсутсвует.
Ответ: () тут важна не просто форма, а объект или хотя бы ссылка на объект, выбранного типа. Толку по доступа к реквизиту на форме, если у этого реквизита нет никакой связи с объектом?
Вопрос: По результату запроса создать документы

Есть запрос, приблизительно такой

ВЫБРАТЬ первые 100
    Адреса.Ссылка КАК АдресДоставки,
    Адреса.Владелец КАК Контрагент,
    Адреса.Договор.Организация КАК Организация,
ИЗ
    Справочник.АдресаДоставки КАК Адреса

Нужно по результату этого запроса создать документы одного вида и вывести созданные документы в таблицу на форме. Я делаю так:

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

Говорят: коряво.
Как можно иначе?
Ответ: Как-то странно. Куда записи деваются? Короче: шеф не прочитал код, который в цикле. Он решил что я там проверяю условия. Я молодец. Всем спасибо. Тема закрыта.
Вопрос: Помогите сделать условие при проведении документа

Нужно программно сделать условие:
если документ проводит пользователь то пусть проводится
если документ проводится какой-то обработкой или закрытием месяца или фоновым заданием и т.п, то не проводить.
куда копать не знаю, подскажите
Ответ:
ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)


-в форме документа
(это проводит пользователь)
- в модуле объекта
(это второй случай)


Если РежимЗаписи=РежимЗаписиДокумента.Проведение Тогда
        
//...............


КонецЕсли;
Вопрос: Изменение значений реквизитов документа по условию

есть форма, есть реквизит со ссылкой на документ,пользователь выбирает "марку привода А",и автоматически на форме заполняется реквизит Tm. Хочу сделать условие,если реквизит Tm выбран как 4000,то объект.реквезит1=1.1,объект.реквезит2=23,как сделать такое условие?
Получается только заполнить один реквизит по условию,но второй без понятия как прописать
1C
1
2
3
 если         объект.Tm=4000
        тогда   Объект.Реквизит1=1.1; иначе  сообщить ("")
        конецесли
Ответ: GreenkA, а точно,не заметила! Спасибо,Вы супер! Всего Вам доброго!