Имя: Пароль:
1C
1С v8
Подскажите плиз !
,
0 chirs
 
14.07.11
06:59
Здравствуйте !
Подскажите плиз, что такое "БазаДополнительныеНачисленияРаботниковОрганизаций" в запросах и как оно работает ? а точнее можно ли посмотреть где-то алгоритм, по которому выполняется эта штука ?
1 Рэйв
 
14.07.11
07:00
Можно. В отладчике.
2 ДенисЧ
 
14.07.11
07:00
Ты знаешь... В той конфе, что я сечас пишу для склада, такого слова нет...

Намёк понятен?
3 chirs
 
14.07.11
07:06
хм... т.е. эта какая-то функция где-то в общем модуле ?
4 chirs
 
14.07.11
07:07
(1) как мне ее отладить, если она в запросе находится ?
5 Рэйв
 
14.07.11
07:08
(4)Если в запросе, то ее не отлаживать надо, а смотреть откуда оно берется в тексте запроса
6 chirs
 
14.07.11
07:10

ВЫБРАТЬ
       БазаДополнительныеНачисления.РезультатБаза,
       БазаДополнительныеНачисления.ПериодРасчетаСреднегоЗаработка,
       БазаДополнительныеНачисления.НомерСтроки
   ИЗ
       РегистрРасчета.РасчетСреднегоЗаработка.БазаДополнительныеНачисленияРаботниковОрганизаций(
               &парамИзмерения,
               &парамИзмерения,
               &парамРазрезыДоп,
               Регистратор = &парамРегистратор
                   И ВидРасчета В (&парамЗаработокБезБольничных)) КАК БазаДополнительныеНачисления
УПОРЯДОЧИТЬ ПО
   НомерСтроки
7 Рэйв
 
14.07.11
07:11
это виртуальная таблица регистра РасчетСреднегоЗаработка
8 Рэйв
 
14.07.11
07:12
>>КАК БазаДополнительныеНачисления

вот же тебе алиас сделали
9 chirs
 
14.07.11
07:12
(7) я как-то могу добраться до нее ? посмотреть, какие в ней данные есть ? откуда вообще эта виртуальная таблица берется ?
10 AlexNew
 
14.07.11
07:13
Ну какая с..обака постоянно книжки отбирает???
11 Рэйв
 
14.07.11
07:14
(9) ПКМ по тексту запроса ->Конструктор запроса.  Там тебе все покажут
12 chirs
 
14.07.11
07:14
(10) в книжках хрен что найдешь, а многие из них к тому же устаревшие
13 Рэйв
 
14.07.11
07:14
(12)Так читай новые.Зачем устаревшие то читать?
14 chirs
 
14.07.11
07:16
в интернете хорошие книжки, да еще и новые найти - не так-то просто, если кто-то добрый подскажет что конкретно искать )))
15 AlexNew
 
14.07.11
07:16
(12) Сильно поменялись виртуальные таблицы? Или ты просто не знаешь что это такое?
16 chirs
 
14.07.11
07:17
конструктор запроса открыл, уже становится интереснее, спасибо (11)
17 chirs
 
14.07.11
07:18
(15) честно говоря, плохо себе представляю что такое виртуальная таблица, я 1С 8-кой не так давно занимаюсь и пока еще мало в чем разбираюсь. Можешь в кратце объяснить что такое - "виртуальная таблица" ?
18 AlexNew
 
14.07.11
07:18
(16) А как книжки почитаешь...
19 Рэйв
 
14.07.11
07:18
Свершилось чудо!Человек открыл для себя конструктор запросов! :-)
20 chirs
 
14.07.11
07:19
(15) точнее я так понимаю, что виртуальная таблица - таблица, не существующая и не записанная в базе данных, а которая рассчитывается в памяти при выполнении программы. Так ?
21 AlexNew
 
14.07.11
07:19
(17) Лучше, все-таки почитать. Долго.
22 chirs
 
14.07.11
07:20
(19) да нет, конструктор-то я уже видел, только не догадывался, что там есть и "БазаДополнительныеНачисленияРаботниковОрганизаций" ))
23 AlexNew
 
14.07.11
07:20
(19) Иногда быстрее без него.
24 AlexNew
 
14.07.11
07:20
(22) Нет там БазаДополнительныеНачисленияРаботниковОрганизаций
25 chirs
 
14.07.11
07:20
(21) хорошо, может быть можешь подсказать хорошую книжку ? т.е. автора и название, а я ее уже сам в интернете найду
26 chirs
 
14.07.11
07:22
(24) там есть РасчетСреднегоЗаработка.БазаДополнительныеНачисленияРаботниковОрганизаций ))
27 chirs
 
14.07.11
07:29
(19) блин, все равно конструктор запроса мне ничем не помог, все равно не понятно, как в этой таблице появляются данные, где искать алгоритм заполнения этой виртуальной таблицы ((
28 AlexNew
 
14.07.11
07:33
(27) Профессиональная разработка. Авторов много. Толстая.
29 chirs
 
14.07.11
07:37
(28) ясно, понял, в каком направлении искать книжки. А насчет "БазаДополнительныеНачисленияРаботниковОрганизаций" получается, что я не могу посмотреть и что-то поменять в алгоритме вычислений этой виртуальной таблицы ?
30 AlexNew
 
14.07.11
07:39
(29) Что ты там хочешь поменять? Запросы к невиртуальным таблицам отменили?
31 chirs
 
14.07.11
07:42
смысл в том, что в приведенном выше запросе получаем базу доп.начислений и судя по всему, программа их получает по периоду регистрации, а мне надо по периоду действия
32 chirs
 
14.07.11
07:46
пример: в июле сотруднику доплатили что-то за предыдущий месяц, т.е. период регистрации вида расчета июль, а период действия - июнь. Так, вот потом, при расчете среднего заработка программа включает этот доход не в июнь, а в июль.
33 chirs
 
14.07.11
07:47
при этом, районный коэффициент, который был расчитан на это доп.начисление, программа при расчете среднего заработка отнесла к июню, как и должно быть
34 chirs
 
14.07.11
07:48
т.е. получается, что для основных начислений - полный порядок, а вот для доп.начислений - не правильно. Вот я и "копаю", как мне это исправить
35 YAGolova
 
14.07.11
08:04
Я так понимаю ЗУП? На сколько я помню там план видов расчета ДополнительныеНачисленияОрганизаций вообще не использует ПериодДействия и как же тогда понять что начислили в июле за июнь???
36 chirs
 
14.07.11
08:48
(35) да, ЗУП, и да, ты прав полностью ! но как же тогда программе "объяснить", что доп.начисление хоть и было зарегистрировано в этом месяце, но в средний заработок оно должно попасть в тот месяц, в котором это доп.начисление произошло ?
Все что я придумал - это использовать "БазовыйПериодНачало" - которое поидее и есть наверное что-то вроде периода в котором произошло доп.начисление. А запрос, который был выше я заменил на:

   ВЫБРАТЬ
       ДополнительныеНачисленияРаботниковОрганизаций.Результат,
       1,
       РасчетСреднегоЗаработка.ПериодРасчетаСреднегоЗаработка,
       РасчетСреднегоЗаработка.НомерСтроки КАК НомерСтроки,
       ЛОЖЬ,
       0
   ИЗ
       ВТСтрокиСреднегоЗаработка КАК РасчетСреднегоЗаработка
           ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизаций
           ПО РасчетСреднегоЗаработка.БазовыйВидРасчета = ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета
               И РасчетСреднегоЗаработка.Сотрудник = ДополнительныеНачисленияРаботниковОрганизаций.Сотрудник
               И (ДополнительныеНачисленияРаботниковОрганизаций.БазовыйПериодНачало = НАЧАЛОПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодНачало, МЕСЯЦ))
               И (ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации <= РасчетСреднегоЗаработка.ПериодРегистрации)
   ГДЕ
       РасчетСреднегоЗаработка.ВидРасчета В(&парамЗаработокБезБольничных)
       И РасчетСреднегоЗаработка.БазовыйПериодНачало = НАЧАЛОПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодНачало, МЕСЯЦ)
       И РасчетСреднегоЗаработка.БазовыйПериодКонец = КОНЕЦПЕРИОДА(РасчетСреднегоЗаработка.БазовыйПериодКонец, МЕСЯЦ)
       И ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета ЕСТЬ НЕ NULL
37 dva1c
 
14.07.11
08:53
(36) помогло?
38 chirs
 
14.07.11
08:53
может быть я путаю вообще что-то ? и у доп.начислений вообще не должно быть такого понятия, как дата, когда было это доп.начисление ?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший