Имя: Пароль:
1C
1С v8
помогите с вложенным запросом, пожалуйста
0 kiwi
 
21.01.13
15:53
Есть такой запрос

"ВЫБРАТЬ
  |   ВыплатаТаблицаДокумента.Сотрудник КАК Сотрудник,
  |   Выплата.ВидВыплаты.Ссылка КАК ВидВыплаты,
  |   СотрудникиКонтактнаяИнформация.Информация КАК ЛицевойСчет,
  |   ВыплатаТаблицаДокумента.Сумма,
  |   ФИОСотрудников.Фамилия,
  |   ФИОСотрудников.Имя,
  |   ФИОСотрудников.Отчество
  |ИЗ
  |   Документ.Выплата КАК Выплата
  |      ЛЕВОЕ СОЕДИНЕНИЕ Документ.Выплата.ТаблицаДокумента КАК ВыплатаТаблицаДокумента
  |         ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники.КонтактнаяИнформация КАК СотрудникиКонтактнаяИнформация
  |         ПО ВыплатаТаблицаДокумента.Сотрудник = СотрудникиКонтактнаяИнформация.Ссылка
  |         ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОСотрудников КАК ФИОСотрудников
  |         ПО ВыплатаТаблицаДокумента.Сотрудник = ФИОСотрудников.Сотрудник
  |      ПО Выплата.Ссылка = ВыплатаТаблицаДокумента.Ссылка
  |ГДЕ
  |   Выплата.Проведен = ИСТИНА
  |   И Выплата.Период = &Месяц
  |   И Выплата.Фирма = &Фирма
  |   И СотрудникиКонтактнаяИнформация.Вид.Наименование = &ИнфоЛицевойСчет
  |   И ВыплатаТаблицаДокумента.Сотрудник В(&СписокЗагрузки)
  |   И Выплата.ВидВыплаты В(&ВидыВыплаты)"


все нормально, но когда сотрудник меняет фамилию и в регистре ФИОСотрудников появляется еще одна запись, то в результате запроса появляется лишняя строка со старой фамилией. Понимаю, что нужно сделать вложенный запрос с отбором Фамилии по Периоду не меньшему даты Документ.Выплата. Но не получается правильно оформить это в тексте запроса...
Помогите, пожалуйста!
1 zak555
 
21.01.13
15:54
почему не используешь штатные функции ?
2 MrStomak
 
21.01.13
15:56
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОСотрудников.СрезПоследних
3 vmv
 
21.01.13
16:00
(0) перепиши на пакетный с ВТ, там же три класса таблиц с ума сходят: справочник, док да еще и регистр с кучей соединений - на фига?
4 kiwi
 
21.01.13
16:11
(1) я еще не очень хорошо освоил язык, поэтому желательно поподробнее о чем речь...
(2) так пробовал, но тогда отсутствует привязка к дате Документ.Выплата. Т.е. всегда будет браться только последняя фамилия
(3) можно хотя бы короткий примерчик?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший