Передаем Тз в СКД

ред.

//Создаем в СКД НаборДанных - объект

//Создаем в СКД колонки, такиеже как в тз

//Создаем в СКД Печатную форму

//Создаем на форме ТабличныйДокумент


Процедура ВставляемВСКД(тз)    

   ВнешниеНаборыДанных = Новый Структура;

   ВнешниеНаборыДанных.Вставить("тз",тз); // Вот здесь и заполняется таблица значений    

   СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");// твой макет СКД

   Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;    

   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,  Настройки);    

   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;

   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных); // а вот здесь передается в скд    

   табдок = ЭлементыФормы.ПолеТабличногоДокумента1;

   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

   ПроцессорВывода.УстановитьДокумент(ТабДок);

   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);    

   ТабДок.ПоказатьУровеньГруппировокСтрок(0);    //сворачиваем группы

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

Выгрузить ТЗ на форму

ред.

ЭлементыФормы.ЗадачиАдминуТЗ.Значение  = запрос.Выполнить().Выгрузить();

ЭлементыФормы.ЗадачиАдминуТЗ.СоздатьКолонки();       


//Выгрузить Запрос в Табличную Часть на форму

Товары.Загрузить(запрос.Выполнить().Выгрузить());

ЭлементыФормы.Товары.ОбновитьСтроки();

Формат Даты без времени

ред.

формат(ТекущаяДата(),"ДЛФ=Д");

Web services

ред.

http://localhost/testW/ws/DanRashNakl?WSDL //ссылка на xml ответа (ws-ссылка)

http://localhost/testW/ws/shipment.1cws?wsdl

//“C:\www” сюда установлен Apache стандартным “некст,некст,...,ок”

SoapUI 5.0.0

Изображение 1

Авторизация  C:\www\htdocs\default.vrd  

ред.

<?xml version="1.0" encoding="UTF-8"?>

<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"

      xmlns:xs="http://www.w3.org/2001/XMLSchema"

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

      base="/testW"

      ib="File=&quot;C:\Documents and Settings\krushenicky\Мои документы\1C\DemoBudgetAccountingUkr&quot;;Usr=Web;Pwd=Web;"

      enable="false">

   <ws>

      <point name="DanRashNakl"

              alias="shipment.1cws"

              enable="true"/>

      <point name="Balans"

              alias="Balans.1cws"

              enable="true"/>

   </ws>

</point>

Вызов из другой 1С через WS сылку

ред.

ссылка: http://localhost/testW/ws/DanRashNakl?WSDL

проксиСервер = WSСсылки.WSСсылка1.СоздатьWSПрокси("http://www.MyCompany.ru/shipment","DanRashNakl","DanRashNaklSoap");

рез =  проксиСервер.Получить("222");

Авторизация  C:\www\htdocs\default.vrd     (вместе с Баланстом тестовым)

ред.

Изображение 2


<?xml version="1.0" encoding="UTF-8"?>

<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"

      xmlns:xs="http://www.w3.org/2001/XMLSchema"

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

      base="/testW"

      ib="File=&quot;C:\Documents and Settings\krushenicky\Мои документы\1C\DemoBudgetAccountingUkr&quot;;Usr=Web;Pwd=Web;"

      enable="false">

   <ws>

      <point name="DanRashNakl"

              alias="shipment.1cws"

              enable="true"/>

      <point name="Balans"

              alias="Balans.1cws"

              enable="true"/>

   </ws>

</point>

Подключение через Putty на сервак Ipnet и запросы к нему

ред.

53:  ssh -L 82.193.96.11:3389:10.71.1.53:3389 localhost   //Rdstop делаем на 82.193.96.11:3389

52:  ssh -L 82.193.96.11:3389:10.71.1.52:3389 localhost


psql -U www uni_ip -h owl3.nest.ipnet //Запрос уже в путти

db_uni_ip //Подлючение к базе

1С подневный баланс bill_unit = 1 - юрлицо, bill_unit = 2 - физ лицо на 2015-02-01 ПРАТ

ред.

SELECT date(abstime(m.date)), SUM(m.amount) FROM  money m JOIN shadow_users_other suo ON m.user_id=suo.info_id WHERE m.bill_unit = 1  AND m.am_type = 7478365     AND date(abstime(m.date)) >= DATE('2015-02-01') AND date(abstime(m.date)) <= DATE('2015-02-05') GROUP BY date(abstime(m.date));    //Оплата по дням (С,ПО) одной суммой по всем


SELECT date(abstime(m.date)), SUM(m.amount) FROM  money m JOIN shadow_users_other suo ON m.user_id=suo.info_id WHERE m.bill_unit = 1  AND m.am_type = 7478365     AND date(abstime(m.date)) = DATE('2015-02-12') GROUP BY date(abstime(m.date)); //Оплата всех на Прат одной суммой

1С подневные услуги в кредит на 2015-02-01 ПРАТ

ред.

select sum(services), count(1) from  snapshot_users_bill where bank_balance<0 and services>0 and date='2015-02-01';    //Все

select sum(services), count(1) from  snapshot_users_bill where bank_balance<0 and services>0 and user_type=0 and date='2015-01-27'; //Без юр лиц

Почтовый клиент (Gmail) в 1С 8.2 УТП

ред.

Качаем stunnel, устанавливаем в каталог c:\stunnel. Прописываем в stunnel.conf :


socket = l:TCP_NODELAY=1

socket = r:TCP_NODELAY=1

debug = 7

output = stunnel.log

client = yes

[ssmtp]

accept = 127.0.0.1:5465

connect = smtp.gmail.com:465

[pop3s]

accept = 127.0.0.1:5995

connect = pop.gmail.com:995


Выполняем в консоли команду для установки сервиса:


c:\stunnel\stunnel.exe -install


И стартуем сервис


net start gmail


Должна появится новая служба под названием "Gmail".

Прописываем в почтовом клиенте 1С настройки POP3/SMTP сервера:


Изображение 3

Ннайти элемент справочника по части наименования

ред.

ВидыКонтактнойИнформации.Родитель.Наименование ПОДОБНО &Шаблончик //В зтексте апросе Запрос.УстановитьПараметр("Шаблончик","%"+СокрЛП(ЧастьНаименования)+"%");

Внешний источник данных конект в SQL Индустриала из 1С 8.2 Прат

ред.

СтрокаСАдресом = "Provider=MSDASQL.1;    

   |DRIVER={PostgreSQL ANSI};

   |Server=10.71.1.240;

   |UID=odins;

   |PWD=;

   |DATABASE=uni_ip;

   |PORT=5432";

   пСоед = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;

   пСоед.СтрокаСоединения= СтрокаСАдресом;

   ВнешниеИсточникиДанных.Ipnet.УстановитьОбщиеПараметрыСоединения(пСоед);

   ВнешниеИсточникиДанных.Ipnet.УстановитьСоединение();

   запр = новый запрос;

   запр.Текст = "ВЫБРАТЬ

                |    ДанныеАбонента.ЕДРПОУ,

                |ИЗ

                |    ВнешнийИсточникДанных.Ipnet.Таблица.ДанныеАбонента КАК ДанныеАбонента";

                |ГДЕ

                |    ДанныеАбонента.ФизЮрЛицо = 1";

   тз = запр.Выполнить().Выгрузить();

Из Екселя в ТЗ

ред.

Функция ПрочитатьЛистExcel(ПутьС,ТЗ = Неопределено, ЛистЭксель = Неопределено, НомерПервойСтроки = 1, НомерПервойКолонки = 1, ВсегоСтрок = 0, ВсегоКолонок = 0) Экспорт    

   Если ЛистЭксель = Неопределено Тогда    

      ЛистЭксель = Новый COMОбъект("Excel.Application");

   КонецЕсли;    

   ЛистЭксель.Workbooks.Open(ПутьС);    

   Если ВсегоСтрок = 0 Тогда

      ВсегоСтрок = ЛистЭксель.Cells.SpecialCells(11).Row;

   КонецЕсли;

   Если ВсегоКолонок = 0 Тогда

      ВсегоКолонок = ЛистЭксель.Cells.SpecialCells(11).Column;

   КонецЕсли;

   Если ТЗ = Неопределено Тогда

      ТЗ =  Новый ТаблицаЗначений;

      Для Счетчик = 1 По ВсегоКолонок Цикл

          ТЗ.Колонки.Добавить("Колонка"+Счетчик, Новый ОписаниеТипов("Строка"));

      КонецЦикла;

   КонецЕсли;

   Для Счетчик = НомерПервойСтроки По ВсегоСтрок Цикл

      НоваяСтрока = ТЗ.Добавить();

   КонецЦикла;    

   Область = ЛистЭксель.Range(ЛистЭксель.Cells(НомерПервойСтроки,НомерПервойКолонки), ЛистЭксель.Cells(ВсегоСтрок,ВсегоКолонок));

   Данные = Область.Value.Выгрузить();    

   Для Счетчик = 0 По ВсегоКолонок-1 Цикл

      ТЗ.ЗагрузитьКолонку(Данные[Счетчик], Счетчик);

   КонецЦикла;

   ЛистЭксель = Неопределено;

   Возврат ТЗ;

КонецФункции

Unix timestamp в 1С:Предприятие 8.2

ред.

Функция ПолучитьUnixTS(ПараметрДата)    Возврат УниверсальноеВремя(ПараметрДата) - '19700101'; КонецФункции

И наоборот: Функция СконвертироватьВремяUnixTS(UnixTime)    Возврат МестноеВремя('19700101' + UnixTime); КонецФункции

Печать ТЗ

ред.

Процедура ТЗПечать(ТЗ,Заголовок="") Экспорт

   Перем Таб, Кол,Стр;

   #Если Клиент Тогда

      Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная,1);

      ТолстаяЛиния = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 2);

      Таб=Новый ТабличныйДокумент;

      Таб.Область(1,1).Текст=Заголовок;

      Таб.Область(1,1).ШиринаКолонки = 4;

      Таб.Область(1,1).Обвести(ТолстаяЛиния,ТолстаяЛиния,ТолстаяЛиния,ТолстаяЛиния);

      Для Кол=1 По ТЗ.Колонки.Количество() Цикл

          врЗаголовок = "";

          Если СокрЛП(Строка(ТЗ.Колонки[Кол-1].Заголовок)) <> "" Тогда

              врЗаголовок = Строка(ТЗ.Колонки[Кол-1].Заголовок);

          Иначе

              врЗаголовок = Строка(ТЗ.Колонки[Кол-1].Имя)

          КонецЕсли;

          Таб.Область(2,Кол+1).Текст = врЗаголовок;

          Таб.Область(2,Кол+1).Шрифт = Новый Шрифт(,,Истина);// жирный

          Таб.Область(2,Кол+1).Обвести(ТолстаяЛиния,ТолстаяЛиния,ТолстаяЛиния,ТолстаяЛиния);

          врШир = ТЗ.Колонки[Кол-1].Ширина;

          Если врШир > 0 Тогда

              Таб.Область(2,Кол+1).ШиринаКолонки = врШир;

          КонецЕсли;

      КонецЦикла;

      i=0;      

      Для Каждого Ном ИЗ ТЗ Цикл

          i=i+1;

          Таб.Область(i+2,1).Текст=Строка(i);

          Таб.Область(i+2,1).Обвести(Линия, Линия, Линия, Линия);

          Для Кол=1 По ТЗ.Колонки.Количество() Цикл

              Таб.Область(i+2,Кол+1).Текст=СокрЛп(Строка(ТЗ[i-1][кол-1]));

              Таб.Область(i+2,Кол+1).Обвести(Линия, Линия, Линия, Линия);

          КонецЦикла;

          Если i/10=Цел(i/10) Тогда

              Состояние(Заголовок+", печать: "+Строка(i));

          КонецЕсли;

      КонецЦикла;

      Таб.Показать(Заголовок);

   #КонецЕсли

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

Удаленный сеанс отключен из-за отсутствия доступных лицензий клиента сервера терминалов для этого компьютера


32-bit HKLM\SOFTWARE\Microsoft\MSLicensing 64-bit HKLM\SOFTWARE\Microsoft\MSLicensing

HKLM\SOFTWARE\Wow6432Node\Microsoft\MSLicensing

Индикатор Заполнения 


Элемент на форме "ИндикаторЗаполнения", тип:Индикатор


Индикатор                                              = ЭлементыФормы.ИндикаторЗаполнения; 

Индикатор.МаксимальноеЗначение = тзАбон.Количество(); 

Индикатор.Значение                            = 0; 

Индикатор.ОтображатьПроценты     = Истина; 

Индикатор.СтильОтображения          = РежимСглаживанияИндикатора.Плавный; 

Индикатор.Ориентация                        = Ориентация.Горизонтально; 

Индикатор.Шаг                                       = 1;

Для Каждого стр Из тзАбон цикл

Индикатор.Значение = Индикатор.Значение + 1;

КонецЦикла;;

Название месяца в запросе