Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )



История благодарностей участнику shkoda ::: Спасибо сказали: 1 раз
Дата поста: В теме: За сообщение: Спасибо сказали:
26.02.16, 10:10 OLE-запрос
shkoda @ 12.01.16, 20:19 *,

В общем, пришлось отложить это задание и делать другое, но зато когда вернулся к выполнению уже под другим углом взглянул на это всё и вот что получилось
надеюсь может кому поможет в будущем

    Если ДокументОснование.Вид()="БольничныйЛист" Тогда
    ДатаНачалаБоль = ДокументОснование.ДатаНачала;
    ДатаОкончанияБоль = ДокументОснование.ДатаОкончания;
    ТабельныйНомер = СокрЛП(Сотрудник.Код);
    Состояние("Запуск OLE, ожидайте...");    
        
    БазаОле=СоздатьОбъект("V77S.Application");
    КаталогБазыОЛе  = "\\контора\1C\ЗиК\";
    ПользовательОле = "Вася";
    ПарольОле       = "111";
    МонопольныйРежимOLE = ""; // для немонопольного запуска указать пустую строку!
    ЗапускБезЗаставки = 1;       // для появления заставки (например, чтобы наблюдать
                             // процесс запуска базы OLE визуально) поставьте здесь "0"
    РезультатПодключения = БазаОле.Initialize ( БазаОле.RMTrade , "/d" +
                       СокрЛП(КаталогБазыОле) + " /n" +
                       СокрЛП(ПользовательОле)+ " /p" +
                       СокрЛП(ПарольОле) + МонопольныйРежимOLE,
                       ?(ЗапускБезЗаставки = 1,"NO_SPLASH_SHOW",""));
        Если РезультатПодключения = 0 Тогда
            Предупреждение("Не удалось подключится к указанной базе - проверьте вводные!");
        КонецЕсли;
        
    ОлеЗапрос = БазаОле.CreateObject("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(ОлеЗапрос)
    |Период с '"+ДатаОкончанияБоль+"' по '"+ДатаОкончанияБоль+"';
    |Владелец = Справочник.Сотрудники.Наименование;
    |Наименование = Справочник.Сотрудники.ФизическоеЛицо;
    |Оклад = Справочник.Сотрудники.ОсновноеНазначение.Владелец.ОсновноеНазначение.Оклад;
    |УникальныйНомер = Справочник.Сотрудники.Код;
    |Условие(УникальныйНомер = """+ТабельныйНомер+""");
    |Группировка Наименование;
    |"//}}ЗАПРОС
;

    Если ОлеЗапрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Сообщить("При обработке запроса произошла ОШИБКА");
        Возврат;
    Иначе
        //Сообщить("Запрос выполнен УСПЕШНО");
    КонецЕсли;
    
    Пока ОлеЗапрос.Группировка("Наименование")=1 Цикл
        Оклад = ОлеЗапрос.Оклад;
        Владелец = ОлеЗапрос.Владелец;
        Сообщить("Оклад сотрудника  " + СокрЛП(Владелец) + " в период больгичного с " + ДатаНачалаБоль + " по " + ДатаОкончанияБоль + " равен " + Оклад + " грн.");
    КонецЦикла;
    
    ОкладЗаДень = ( Оклад * 12 ) / 365;
    СуммаСтар = ОкладЗаДень * КвоДней * (ДокументОснование.ПроцентОплаты / 100);
    СуммаСтар = СуммаСтар - (СуммаСтар * 0.18); // НДФЛ
    СуммаКУдержанию = Макс(0,СуммаНов-СуммаСтар);
    СрЗпСтар = СуммаСтар/КвоДней;
    
    БазаОле = "";
    КонецЕсли;


Всем спасибо, тему можно закрывать!
Vofka,

RSS Текстовая версия Сейчас: 19.04.24, 10:23
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!