Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » 1C Программирование и поддержка

Модерирует : ShIvADeSt

ShIvADeSt (30-10-2009 09:51): http://forum.ru-board.com/topic.cgi?forum=33&topic=10715  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тема для программирования 1С!!!
Это продолжение темы, предыдущие части доступны тут


ПРОГРАММЫ  1С:Предприятие 1C - 1C: Вопросы по конфигурациям

ВАРЕЗНИК   1C:Предприятие 7.7 - 1С:Предприятие v.8.x - 1C Диск ИТС - 1С: Совместимо 8.х

Топик 1C Ebooks
ЗДЕСЬ  (обновлено 17.10.2009) - небольшая библиотечка (книги, документация, видео, утилиты) по 1С, финансам, бухучету и т.п.
Все рассортировано по версиям...


Для заблудившихся в трех соснах >>> FAQ по форуму RU.Board
 
Предыдущие темы были здесь часть 4 | часть 3 | часть 1
 
Как убить рекламу при обновлении отчетности | конфигурации (ИБ)?

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:02 03-04-2009 | Исправлено: vkramnik, 12:06 23-10-2009
mbrdancer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Создал в форме кнопку, как сделать чтоб она открывала внешную печатную форму.  
 Не сообразить

 
Под кнопкой задаешь горячую клавишу ("Сочетание клавиш - самый последний пункт настройки кнопки"), в процедуре обработки ставишь что-нибудь типа:

Код:
 
ЭтаФорма.ТекущийЭлемент = ЭтаФорма.ЭлементыФормы.ВтораяТЧ;
 

Всего записей: 100 | Зарегистр. 27-03-2008 | Отправлено: 15:55 13-10-2009
axellPnz



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
туда надо вставить например ДатаУвольнения после поставить = и нажать ентер

Всего записей: 115 | Зарегистр. 17-08-2007 | Отправлено: 15:56 13-10-2009
ghostrid3r

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
высветило такую штуку  
 
ДатаНач = Ошибка в выражении!

Всего записей: 40 | Зарегистр. 16-09-2009 | Отправлено: 16:05 13-10-2009
axellPnz



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
ДатаНач = Ошибка в выражении!

Ну вот теперь ищи правильно ли ты ее назвал где и что этой переменной присваивается и т.д по шагам

Всего записей: 115 | Зарегистр. 17-08-2007 | Отправлено: 16:06 13-10-2009
ghostrid3r

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ДатаНач = '01.07.09'
ДатаКон = '30.09.09'
 ДатаУвольнения = НеизвестныйОбъект
   ДатаУвольнения = НеизвестныйОбъект
    ДатаНач = = Ошибка в выражении!
 
Добавлено:
повставлял второй раз получилось следующее  
 
ДатаПриема = НеизвестныйОбъект
ДатаКон = '30.09.09'
ДатаПриема = НеизвестныйОбъект
ДатаУвольнения = НеизвестныйОбъект
ДатаУвольнения = НеизвестныйОбъект
ДатаНач = = Ошибка в выражении!
 
 
И как это понимать???

Всего записей: 40 | Зарегистр. 16-09-2009 | Отправлено: 16:07 13-10-2009 | Исправлено: ghostrid3r, 16:11 13-10-2009
axellPnz



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
ДатаНач = '01.07.09'
ДатаКон = '30.09.09'
 ДатаУвольнения = НеизвестныйОбъект
   ДатаУвольнения = НеизвестныйОбъект
    ДатаНач = = Ошибка в выражении!

Отладчик тебе ответил на твои вопросы??????  
Вот это ДатаУвольнения < ДатаНач у тебя выглядит так НеизвестныйОбъект<?????? ))))) в отладчике Где вычисляешь  ДатуНач поставь 1 знак равно и не будет ОШИБКИ в ВЫРАЖЕНИИ!!! Внимательно смотри!

Всего записей: 115 | Зарегистр. 17-08-2007 | Отправлено: 16:15 13-10-2009
ghostrid3r

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не пойму почему дата приема и дата увольнения неизвестные обьекты они находяться в реквизитах сотрудника и имеют тип значения - Дата
 
Добавлено:
Может быть что изза того что в данный период с ДатаНач до ДатаКон не существует приемов и увольнений и поэтому отладчик классифицирует их как неизвестый обьект ???

Всего записей: 40 | Зарегистр. 16-09-2009 | Отправлено: 16:32 13-10-2009
Nord178

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dimaxmaster
 
Уже в полусонном состоянии писал, в голове даже мысли про семерку небыло
 
Про восьмерку интересовался
 
 
В догонку, еще вопрос возник. Выписывается счет и надо чтоб при выводе на экран внизу счета было видно количество недостающего товара, но при печати на принтер, этого нижнего текста небыло.  Вопрос по восьмерке

Всего записей: 26 | Зарегистр. 19-06-2007 | Отправлено: 00:32 14-10-2009 | Исправлено: Nord178, 00:40 14-10-2009
DARKDEAD

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nord178
По аналогии с 7-кой, после нужного блока вставить разделитель страниц, и выводить на печать только 1-ую (n-1) страницу

Всего записей: 249 | Зарегистр. 04-02-2008 | Отправлено: 08:36 14-10-2009
Nord178

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DARKDEAD
Семеркой не занимался
 
Спасибо, сейчас попробую сделать

Всего записей: 26 | Зарегистр. 19-06-2007 | Отправлено: 10:21 14-10-2009
St01en

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ghostrid3r
 
Определи переменную ДатаУвольнения.
Если ПустоеЗначение(ДатаУвольнения) = 1 Тогда
ДатаУвольнения = 0 ;
КонецЕсли;
И вот здесь, думаю нужно так
 Если (ДатаПриема>ДатаКон) или (ПустоеЗначение (ДатаПриема)=1) или (ПустоеЗначение(ДатаУвольнения)=0) И (ДатаУвольнения < ДатаНач)) Тогда  
 
А лучше приведи полный код процедуры, тода будет понятней, что тебе надо.  

Всего записей: 292 | Зарегистр. 10-04-2006 | Отправлено: 12:18 14-10-2009 | Исправлено: St01en, 12:25 14-10-2009
ghostrid3r

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
St01en
происходит все таже ошибка

Всего записей: 40 | Зарегистр. 16-09-2009 | Отправлено: 12:44 14-10-2009
dimaxmaster

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nord178

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

 
Тут вот в чем дело.
DARKDEAD пишет верно:

Цитата:
По аналогии с 7-кой, после нужного блока вставить разделитель страниц, и выводить на печать только 1-ую (n-1) страницу

 
Но нужно помнить, что пользователь должен выводить на печать с первой по первую страницу иначе при нажатии Печать, распечатаются оба листа.  
Можно решить эту проблему выводом результата двумя отдельными таблицами, т.е. в первой формируется счет, во второй другие необходимые данные

Всего записей: 333 | Зарегистр. 05-06-2008 | Отправлено: 12:45 14-10-2009
ghostrid3r

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 
А лучше приведи полный код процедуры, тода будет понятней, что тебе надо.  

 
Процедура Заполнить()
    Перем    СчИзСписка, НомерСтроки, НужнаяСтрока, ДатаУвольнения;  
    Если ПустоеЗначение(ДатаУвольнения) = 1 Тогда  
                ДатаУвольнения = 0 ;  
    КонецЕсли;
    
    Если ДатаВКвартале > КонецРассчитанногоПериодаБИ() Тогда
        Предупреждение ("На " + Формат(НачМесяца(ДатаВКвартале),"ДДММГГГГ") + " бухгалтерские итоги не рассчитаны!"+РазделительСтрок+
        "Расчет итогов выполняется в режиме"+РазделительСтрок+
        """Операции - Управление бухгалтерскими итогами"".");  
        Возврат    //не будем ничего заполнять, если итоги не рассчитаны
    КонецЕсли;
    
    ОчиститьСписки();    
 
    //анализ выплаченных сумм вне зависимости от того, регулярно или нет выплачивается зарплата
    //осуществляется с начала отчетного квартала
    ДатаНач = НачКвартала(ДатаВКвартале);  
    ДатаКон = КонКвартала(ДатаВКвартале);
    
    Форма1ДФ = СоздатьОбъект("Таблица");
    Спис = СоздатьОбъект("СписокЗначений");  
    
    Если глПолучитьНиО(ноЛьготаНДФЛ,"ЛьготыНДФЛбаз","о льготах по налогу на доходы физ. лиц!") = 0 Тогда
        Возврат;
    КонецЕсли;  
 
       Если глПолучитьНиО(ноБезработицаФОТ,"ФЗПБезраб","об отчислениях в фонд страх. от безработицы!") = 0 Тогда
        Возврат;
    КонецЕсли;
    Если глПолучитьНиО(ноСтрахНетрудоспФОТ,"ФЗПСоцСтрах","об отчислениях в фонд страх. по временной нетрудоспособности!") = 0 Тогда
        Возврат;
    КонецЕсли;
    Если глПолучитьНиО(ноПенсионныйФОТ,"ФЗППенс","об отчислениях в ПФ!") = 0 Тогда
        Возврат;
    КонецЕсли;  
    Если глПолучитьНиО(ноПенсионныйФОТИнв,"ФЗППенсИнв","об отчислениях в ПФ!") = 0 Тогда
        Возврат;
    КонецЕсли;  
    Если глПолучитьНиО(ноСоцСтрахНесч,"ФЗПСоцСтрахНесч","об отчислениях в ПФ!") = 0 Тогда
        Возврат;
    КонецЕсли;
     
    стБезработица = ноБезработицаФОТ.Ставка.Получить(ДатаКон);
    стПенсионный = ноПенсионныйФОТ.Ставка.Получить(ДатаКон);  
    стСоцСтрахНесч = ноСоцСтрахНесч.Ставка.Получить(ДатаКон);
    стСтрахНетрудоспФОТ = ноСтрахНетрудоспФОТ.Ставка.Получить(ДатаКон);
    стПенсионныйФОТИнв = ноПенсионныйФОТИнв.Ставка.Получить(ДатаКон);
    
    // пенсионный и безработица
    глПарсить(ноПенсионныйФОТ.Дополнительно.Получить(ДатаКон),Спис);
    МаксБазаПенс = Число(Спис.Получить("Макс. база"));
    глПарсить(ноБезработицаФОТ.Дополнительно.Получить(ДатаКон),Спис);
    МаксБазаБезр = Число(Спис.Получить("Макс. база"));
    глПарсить(ноСтрахНетрудоспФОТ.Дополнительно.Получить(ДатаКон),Спис);
    МаксБазаНетр = Число(Спис.Получить("Макс. база"));
    глПарсить(ноСоцСтрахНесч.Дополнительно.Получить(ДатаКон),Спис);
    МаксБазаНесч = Число(Спис.Получить("Макс. база"));
     
    // для перебора списка сотрудников
    СправСотр = СоздатьОбъект("Справочник.Сотрудники");
    
    // таблица сотрудник + период (создается для подсчета соответствующих сумм по каждому из сотрудников
    // в разрезе месяца для выплаченных сумм)
    ТаблПериоды = СоздатьОбъект("ТаблицаЗначений");    
    ТаблПериоды.НоваяКолонка("Сотр","Справочник.Сотрудники");      
    ТаблПериоды.НоваяКолонка("Месяц","Дата");  
    ТаблПериоды.НоваяКолонка("Выплачено","Число",12,2);
    ТаблПериоды.НоваяКолонка("Льгота","Строка",2);
    СтрокНаЛисте = 25; КвоСтраниц = 1;  
    ЗначениеВКлетку(КвоСтраниц,0,Стр);
    Ном = 0; ФизЛиц = 0;  
    
    //для того, чтобы сразу внести месяцы отчетного квартала в тбПериоды
    Месяц[1] = ДатаНач;
    Месяц[2] = НачМесяца(ДобавитьМесяц(ДатаНач,1));
    Месяц[3] = НачМесяца(ДатаКон);
    
    // определение  количества физических лиц и списка сотрудников для вывода  
    КвоШтатных = 0; КвоСовмест = 0;  
    Если Форма.ВыбраннаяФирма.Видимость()=1 Тогда
        СправСотр.ВыбратьЭлементыПоРеквизиту("Фирма",ВыбраннаяФирма,0);
    Иначе
        СправСотр.ВыбратьЭлементы();  
    КонецЕсли;  
    КвоШтатных =0;
    КвоСовмест = 0;  
    Для инд=1 по 3 Цикл
        Шт[инд]=0;
        Совмест[инд]=0;
    КонецЦикла;
    //начальный перебор списка сотрудников с отсевом принятых на работу позже даты конца
    //отчетного периода, а также  внесением отдельными строками для каждого сотрудника каждого  
    //месяца отчетного квартала в таблицу тбПериоды    
    
    Пока СправСотр.ПолучитьЭлемент() = 1 Цикл  
        Сотр = СправСотр.ТекущийЭлемент();  
        Если Сотр.ЭтоГруппа() = 0 Тогда      
            Если ИдентификаторКонфигурации = "UBUOUSL" Тогда    
        //        ДатаПриема=Сотр.ДатаНачалаДействия;
            //    ДатаУвольнения= Сотр.ДатаОкончанияДействия;
        //    Иначе  
                ДатаПриема= Сотр.ДатаПриема;
                ДатаУвольнения= Сотр.ДатаУвольнения;      
            КонецЕсли;
        
            Если (ДатаПриема>ДатаКон) или (ПустоеЗначение (ДатаПриема)=1) или (ПустоеЗначение(ДатаУвольнения)=0) И (ДатаУвольнения < ДатаНач) Тогда                
        //    Если (ДатаПриема>ДатаКон) или (ПустоеЗначение (ДатаПриема)=1) Или (ДатаУвольнения<>Дата('00010101')) И (ДатаУвольнения < ДатаНач) Тогда
                // принят на работу позже начала отчетного периода или дата приема не заполнена вообще
                //проверку даты увольнения также выполняем, так как если по сотрулнику в течение отчетного периода были
                //начисления или выплаты он учтется алгоритмом далее
                Продолжить;  
            КонецЕсли;  
            
            Для инд=1 по 3 Цикл  
                //вносим в ТаблПериоды только тех сотрудников, по которым заведомо есть
                //информация о текущем месяце отчетного квартала
                //    Если ((ДатаПриема<= Месяц[инд]) или ((Месяц[инд] <= ДатаПриема) и  (ДатаПриема<= КонМесяца(Месяц[инд])))) Тогда  
                // условие будет "истинно" только в первом после приема квартале
                Если ДатаПриема >= Месяц[инд] Тогда  
                    Если ДатаПриема >= КонМесяца(Месяц[инд]) Тогда  
                    Продолжить;
                    КонецЕсли;
                КонецЕсли;
                ТаблПериоды.НоваяСтрока();
                ТаблПериоды.Сотр  = Сотр;
                ТаблПериоды.Месяц = Месяц[инд];  
                
                // определяем был ли штатным на конец каждого месяца или совместителем  
                Если (ПустоеЗначение(ДатаУвольнения)=0) и (ДатаУвольнения <= НачМесяца(Месяц[инд])) Тогда  
                    Продолжить;
                Иначе    
                    Если (Сотр.ТипСотрудника.Получить(КонМесяца(Месяц[инд]))=1) Тогда
                        Шт[инд] = Шт[инд]+1;  
                    ИначеЕсли (Сотр.ТипСотрудника.Получить(КонМесяца(Месяц[инд]))=0)  Тогда
                        Совмест[инд] = Совмест[инд]+1;
                    КонецЕсли;  
                КонецЕсли;  
            КонецЦикла;    
        //конец условия, что это не группа в справочнике сотрудников    
        КонецЕсли;
        //конец перебора сотрудников в справочнике
    КонецЦикла;

Всего записей: 40 | Зарегистр. 16-09-2009 | Отправлено: 12:53 14-10-2009
dimaxmaster

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ghostrid3r
 
Код мельком глянул. Ваша ошибка скорее всего в том, что переменные

Цитата:
ДатаПриема= Сотр.ДатаПриема;
 ДатаУвольнения= Сотр.ДатаУвольнения;

 
могут быть периодическими, поэтому Вы их неправильно инициализируете. Гляньте конфигуратор, на документ откуда тяните.
К периодическому реквизиту нужно обращаться, например так
 
ДатаУвольнения= Сотр.ДатаУвольнения.Получить(ТекущаяДата())
 
 
 

Всего записей: 333 | Зарегистр. 05-06-2008 | Отправлено: 13:00 14-10-2009
ghostrid3r

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здесь полный код процедуры "Заполнить" _http://dump.ru/file/3578470
 
Добавлено:

Цитата:
К периодическому реквизиту нужно обращаться, например так  
 
ДатаУвольнения= Сотр.ДатаУвольнения.Получить(ТекущаяДата())

 
Проделал сие действие походу продвинулись дальше но появилась новая ошибка
 
Если ЗапрОст.Выполнить(ТекстЗапроса) = 0 Тогда
{D:\!MY WORK\CONFIG\1C\СХ\EXTFORMS\RP09Q2.GRP\1DF.ERT(2051)}: ВидВыплаты = Документ.НачислениеЗП. <<?>> ВидВыплаты;
Запрос[3] : Неверно заданный путь 'ВидВыплаты'
Если ЗапрОст.Выполнить(ТекстЗапроса) = 0 Тогда
{D:\!MY WORK\CONFIG\1C\СХ\EXTFORMS\RP09Q2.GRP\1DF.ERT(2051)}: Подоходный = Документ.НачислениеЗП. <<?>> Подоходный;
Запрос[6] : Неверно заданный путь 'Подоходный'
Если ЗапрОст.Выполнить(ТекстЗапроса) = 0 Тогда
{D:\!MY WORK\CONFIG\1C\СХ\EXTFORMS\RP09Q2.GRP\1DF.ERT(2051)}: Условие(ВидВыплаты = Перечисление.ВидыВыплат.Остатки <<?>> );
Запрос[14] : Ошибка в условии
 
Как сие чудо исправить?

Всего записей: 40 | Зарегистр. 16-09-2009 | Отправлено: 13:01 14-10-2009
An4eus



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ghostrid3r
не проще обновить отчетность?

----------
Век живи - век учись!

Всего записей: 3768 | Зарегистр. 23-07-2007 | Отправлено: 13:19 14-10-2009
ghostrid3r

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 
не проще обновить отчетность?

ссылку если можно?

Всего записей: 40 | Зарегистр. 16-09-2009 | Отправлено: 13:28 14-10-2009
An4eus



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ghostrid3r
полное наименование конфигурации

----------
Век живи - век учись!

Всего записей: 3768 | Зарегистр. 23-07-2007 | Отправлено: 13:49 14-10-2009
ghostrid3r

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1С:Предприятие Версия 7.7 Конфигурация "ПУБ"

Всего записей: 40 | Зарегистр. 16-09-2009 | Отправлено: 13:54 14-10-2009
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » 1C Программирование и поддержка
ShIvADeSt (30-10-2009 09:51): http://forum.ru-board.com/topic.cgi?forum=33&topic=10715


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru

Рейтинг.ru