Имя: Пароль:
1C
1С v8
Справочник
Ø (PR 28.09.2011 15:38)
0 programer_
1c_nn15
 
28.09.11
15:29
Может кому пригодится ,с чем сам сталкивался,коротко ,подсказки:

                               **Документы**
                           
ИскомыйДокумент = Документы.РеализацияТоваровУслуг.НайтиПоРеквизиту("названиереквизита", значение);
Если ИскомыйДокумент.Пустая() тогда
   Сообщить("-----");
иначе
   док=ИскомыйДокумент;
КонецЕсли;



                                 **ЕКСЕЛЬ**

  Если файл (xls файл для выгрузки) заранее создан, то выгружаются данные нормально.
  Если файла нет, то выскакивает ошибка ( о том что файл не найден).
  Как правильно настроить условие, чтобы при отсутствии файла этот файл создавался?
  Функция формирования выглядит так:

 КодФункция Сформировать() Экспорт
     Попытка     Эксель = Новый COMОбъект("Excel.Application");  
  Исключение            
     Сообщить(ОписаниеОшибки());    
  КонецПопытки;    
  Книга = Эксель.WorkBooks.Open(ИмяФайлаВыгрузки);  
  Лист = Книга.WorkSheets(1);//далее идет запрос и заполнение
  Эксель.Application.Quit();      
  Возврат Истина;  
КонецФункции

______________________________________________________________________________
 Сохранение Табличного документа в Excel файл - Ориентация страницы -альбомная

 ТабДок.ОриентацияСтраницы= ОриентацияСтраницы.Ландшафт;
 //Потом ТабДок  записываем в файл excel
 ТабДок.Записать(Путь+"Reservation.xls","xls");

*********************************************************************************
*********************************************************************************
                             **ЗАПРОСЫ**

---------------------------------где,в,(отбор по списку или таблице зн

ВЫБРАТЬ
   Ссылка
ИЗ
   Справочник.ТвойСправочник
ГДЕ
   Ссылка В (&ТвойСписокЗначенийИлиМассив)

ВЫБРАТЬ
   Ссылка
ИЗ
   Справочник.ТвойСправочник
ГДЕ
   (Ссылка, Код) В (&ТвояТаблицаЗначений)


**********************************************


                            ПЕЧАТЬ МАКЕТА
 
 Макет = ПолучитьМакет("НаименованиеМакета");
 ОбластьНачислено = Макет.ПолучитьОбласть("Начислено");
 ОбластьНачислено.Параметры.Номер = Сот;
 ТабДок = ЭлементыФормы.Лист;
 ТабДок.Очистить();

***********************************************

                         ПРОВОДКИ

  Изменение проводок при проведении  

  ВыбДок = ЭтотОбъект;
  нз=ВыбДок.Движения.Хозрасчетный;//набор записей
  Для каждого Проводка из НЗ Цикл
      Если Проводка.СчетДт = ПланыСчетов.Хозрасчетный.ИнвентарьИХозяйственныеПринадлежностиВЭксплуатации тогда
           БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,3,СубконтоМЦ4куда);
      КонецЕсли;
      Если Проводка.СчетКт = ПланыСчетов.Хозрасчетный.ИнвентарьИХозяйственныеПринадлежностиВЭксплуатации тогда
           БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,3,СубконтоМЦ4откуда);
      КонецЕсли;
  КонецЦикла;    
  НЗ.Записать();
  // ПолучДок.РучнаяКорректировка = истина;
  ВыбДок.Записать();


*************************************************************
                      СВОЙСТВА И КАТЕГОРИИ

создай такую функцию, в которую передаешь в качестве параметров:
ВыбОбъект (ТекСтрокаТовары.Номенклатура) и ЗначениеСвойства (тип строка - "Комплектность") - она тебе будет возвращать значение свойства объекта.

Функция ОпределитьЗначениеСвойства(ЗначениеСвойства,ВыбОбъект) Экспорт
  Перем Стр;
   
  Стр = "";
   
  Спр = ПланыВидовХарактеристик.СвойстваОбъектов;
  ВыбСпр = Спр.НайтиПоНаименованию(ЗначениеСвойства);
  Если Не ВыбСпр = Спр.ПустаяСсылка() Тогда
      Запрос = Новый Запрос("
      |Выбрать * Из РегистрСведений.ЗначенияСвойствОбъектов
      |ГДЕ Объект = &ВыбОбъект И Свойство = &ВыбСвойство");

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

Одно неудобно: приходится в ПланеВидовХарактеристик искать необходимое свойство
по наименованию (жестко) - а это есть не очень хорошо
*************************************************************

                         ФОРМАТЫ

Формат(Дата, "ДФ='ММММ гггг'") --- месяц письменно, год-цифры
Формат(дата,"ДЛФ=DD"))         --- 17 сентября 2010 г



**************************************************************
                         ФОРМЫ
     форма = этотобъект.ПолучитьФорму("ФормаОтчета");
     форма = этотобъект.Метаданные().Формы.ФормаОтчета;
1 Mort
 
28.09.11
15:30
На г*внокод.ру сразу бы выложил.
2 aleks-id
 
28.09.11
15:35
(1) так он оттуда взял
3 programer_
1c_nn15
 
28.09.11
15:35
Ну чё сюда лезешь еслине нравиться , никто пинками не загоняет а критиковать любобой дурак может выложи своё
4 programer_
1c_nn15
 
28.09.11
15:36
Ладно трепаться некогда, найди другого собеседника
5 PR
 
28.09.11
15:38
Хочешь кому-то помочь своим кодом, хотя бы напиши, что за код, для чего нужен и т. д. и т. п.
6 shuhard
 
28.09.11
15:38
(4) найди другой форум,не позорь собой мисту