Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 783
от 12.04.2008, 14:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 409, Экспертов: 48
В номере:Вопросов: 3, Ответов: 6

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 130817: Здравствуйте эксперты вопрос такой, вообщем нужно отобрать элементы по реквизиту, значение реквизита берется из таблицы значений так вот при выполнении программа берет почему то только первый элемент в списке.В чем может быть ошибка? Алгорит...
Вопрос № 130959: Уважаемые эксперты! Такой вопрос . В 1с7,7 , есть начальная дата, есть конечная дата работы сотрудника в организации. Необходимо получить стаж его работы в годах, месяцах и днях. Как сделать? Форматировать дату просто. Но ведь надо вычесть из конечно...
Вопрос № 130978: Помогите пожалуйсто, я создал многоуровневый справочник и мне надо сделать отбор элементов по уровням, но не как не получается определить уровень элемента, как это сделать?...

Вопрос № 130.817
Здравствуйте эксперты вопрос такой, вообщем нужно отобрать элементы по реквизиту, значение реквизита берется из таблицы значений так вот при выполнении программа берет почему то только первый элемент в списке.В чем может быть ошибка?

Алгоритм
1. заполняется 1 таблица значений
2. Выполняется отбор по реквизиту
3. Заполняется 2 таблица значений

См приложение

Приложение:

Отправлен: 06.04.2008, 15:28
Вопрос задал: DiamondES (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Дрёма
Здравствуйте, DiamondES!
Если ты явно указываешь строку и номер ТЗ, то зачем перд этим ВыбираешьСтроки ТЗ? Попробуй без выбора строк. Это лишнее.
Ответ отправил: Дрёма (статус: 5-ый класс)
Ответ отправлен: 06.04.2008, 16:14

Отвечает: Larsh
Здравствуйте, DiamondES!
Таб = СоздатьОбъект("Таблица");
 Таб.ИсходнаяТаблица("Таблица");
 ТЗ2.НоваяКолонка("Наименование");
 ТЗ2.НоваяКолонка("Показ","Число",19,3);
 Спр = СоздатьОбъект("Справочник.Абонент");
 Размер = ТЗ.КоличествоСтрок();


 Для Ном1 = 1 По Размер Цикл
   Состояние("Обрабатывается строка "+Ном1+"!");
    //ТЗ.ВыбратьСтроки(); - Иначе ТЗ - позиционируется на 1 строку
   ЗН = ТЗ.ПолучитьЗначение(Ном1,"Наименование");
   Спр.ВыбратьЭлементыПоРеквизиту("Абонент",ЗН,1,0);
   Пока Спр.ПолучитьЭлемент() = 1 Цикл
    ТЗ2.НоваяСтрока();
    ТЗ2.Наименование = Спр.Наименование; 
    ТЗ2.Показ = Спр.Расход.Получить(ДатаДок);

    //Продолжить; - Здесь это лишнее
   
КонецЦикла; //Выбор
 КонецЦикла; //Основной
КонецПроцедуры

Либо просто
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
ЗН = ТЗ.Наименование;
...
...
КонецЦикла;
Ответ отправила: Larsh (статус: 2-ой класс)
Ответ отправлен: 07.04.2008, 05:10

Отвечает: Вильгоненко Станислав Викторович
Здравствуйте, DiamondES!
Возможно я не до конца разобрался, но попробуйте так.

Приложение:

Ответ отправил: Вильгоненко Станислав Викторович (статус: 2-ой класс)
Ответ отправлен: 07.04.2008, 09:30


Вопрос № 130.959
Уважаемые эксперты! Такой вопрос . В 1с7,7 , есть начальная дата, есть конечная дата работы сотрудника в организации. Необходимо получить стаж его работы в годах, месяцах и днях. Как сделать? Форматировать дату просто. Но ведь надо вычесть из конечной начальную. А как форматировать разницу?
Отправлен: 07.04.2008, 10:21
Вопрос задал: Tarch (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Командин Константин Евгениевич
Здравствуйте, Tarch!
разница дат дает количество дней... ну а дальше если не критично периоды с праздниками, отпусками и тд.... то можно посчитать примерно так (при условии что в месяце 30 дней, а в году 365 дней)
Разница = НачальнаяДата - Конечная;
КоличествоМесяцев = Цел(Разница / 30);
КоличествоДней = Разница-(КоличествоМесяцев*30);
КоличествоЛет = Цел(КоличествоМесяцев/12);
КоличествоМесяцев = КоличествоМесяцев - (КоличествоЛет*12);
Ответ отправил: Командин Константин Евгениевич (статус: 2-ой класс)
Ответ отправлен: 07.04.2008, 10:56
Оценка за ответ: 4
Комментарий оценки:
Спасибо! Но тут возникает один вопрос. В каком-то месяце 31 день, а в каком-то году 366 дней.Будут расхождения, может и не критичные. А все-таки есть-ли метод точного расчета?

Отвечает: Airyashov
Здравствуйте, Tarch!
Восвользуйтесь функцией ЗИК

Процедура глРазобратьРазностьДат(Знач Дата1,Знач Дата2,Лет=0,Месяцев=0,Дней=0) Экспорт

Лет = 0; Месяцев = 0; Дней = 0;
Если Дата1>Дата2 Тогда

ВременнаяДата = Дата1;
Если ДатаЧисло(ВременнаяДата)<ДатаЧисло(Дата2) Тогда
Дней = ВременнаяДата-ДобавитьМесяц(ВременнаяДата,-1);
ВременнаяДата = ДобавитьМесяц(ВременнаяДата,-1);
КонецЕсли;
Если ДатаМесяц(ВременнаяДата)<ДатаМесяц(Дата2) Тогда
ВременнаяДата = ДобавитьМесяц(ВременнаяДата,-12);
Месяцев = 12;
КонецЕсли;
Лет = Макс( ДатаГод (ВременнаяДата)-ДатаГод (Дата2),0);
Месяцев = Макс(Месяцев +ДатаМесяц(ВременнаяДата)-ДатаМесяц(Дата2),0);
Дней = Макс(Дней +ДатаЧисло(ВременнаяДата)-ДатаЧисло(Дата2),0);

// скорректируем отображаемое значение, если "вмешалось" разное количество дней в месяцах
Если Дата2 <> (ДобавитьМесяц(Дата1,-Лет*12-Месяцев)-Дней) Тогда
Дней = Дней + (КонМесяца(Дата2)-НачМесяца(Дата2)) - (КонМесяца(ДобавитьМесяц(Дата1,-1))-НачМесяца(ДобавитьМесяц(Дата1,-1)));
КонецЕсли;
КонецЕсли;

КонецПроцедуры // глРазобратьРазностьДат

думаю назначение переменных понятно, да и код тоже
Ответ отправил: Airyashov (статус: 2-ой класс)
Ответ отправлен: 07.04.2008, 11:17
Оценка за ответ: 5
Комментарий оценки:
Код и переменные , понятны , конечно. Большое спасибо, попробую воспользоваться


Вопрос № 130.978
Помогите пожалуйсто, я создал многоуровневый справочник и мне надо сделать отбор элементов по уровням, но не как не получается определить уровень элемента, как это сделать?
Отправлен: 07.04.2008, 12:24
Вопрос задала: Негруцак Александр Владимирович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Mazay-z
Здравствуйте, Негруцак Александр Владимирович!
Используйте элемент РОДИТЕЛЬ

Напр Если есть Товары->чипсы->lays
то создаете запрос где указываите РОДИТЕЛЬ =чипсы
Извините притмера подрукой нет но их полно в любой конфе или mista.ru в примере склад
Ответ отправил: Mazay-z (статус: 1-ый класс)
Ответ отправлен: 10.04.2008, 19:02


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 4.90 от 11.04.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное