Имя: Пароль:
1C
1С v8
обнаружено дублирование в клчевых значенияях в колонке Сссылка
0 manti
 
26.02.14
17:37
УФ, динамический список спр. физлица
делаю произвольный запрос
ВЫБРАТЬ РАЗЛИЧНЫЕ
    РаботникиОрганизацийСрезПоследних.Организация КАК ПоследнееМестоРабоы,
    ФизическиеЛица.Наименование,
    ФизическиеЛица.Код,
    ФизическиеЛица.ДатаРождения
ИЗ
    Справочник.ФизическиеЛица КАК ФизическиеЛица
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&НаДату, ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)) КАК РаботникиОрганизацийСрезПоследних
        ПО ФизическиеЛица.Ссылка = РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо

В режиме предприятия дает просмотреть часть списка, далее гурается и зависает. Что нужно попровить?
1 wanderer_ица
 
26.02.14
17:39
У тебя срез последних по какой-то физмрде возвращает больше одного значения.
2 VikingKosmo
 
26.02.14
17:39
Я бы начал с колонок, которые отображаются в ДемоническомСписке.
3 HEKPOH
 
26.02.14
17:40
в двух организациях работало фл
4 Wobland
 
26.02.14
17:40
а забавно у автора руки дрожат
5 manti
 
26.02.14
17:43
(1) (3)  ну да, если так и есть, нужно чтобы и их выводило, по идее прописано что различные
6 Wobland
 
26.02.14
17:44
(5) думаешь, различные раньше соединения отрабатывает?
7 manti
 
26.02.14
17:46
(6) и что тут придумать?
8 manti
 
26.02.14
17:50
в динамическом не дает пакет запросов создать, чтобы с временной таблицей вариант сделать
9 VikingKosmo
 
26.02.14
17:51
(8) попробуй вложенным запросом сделать, ДемоническийСписок их понимает
10 manti
 
26.02.14
18:06
(9) да спасибо, помогло, ошибка испарилась, зато теперь в списке пропала командная панель:
при таком виде запроса пропала основная таблица в динамическом построителе, вследстви чего пропала панль действия со списком

ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВложенныйЗапрос.ПоследнееМестоРабоы,
    ВложенныйЗапрос.Наименование,
    ВложенныйЗапрос.Код,
    ВложенныйЗапрос.ДатаРождения
ИЗ
    (ВЫБРАТЬ
        РаботникиОрганизацийСрезПоследних.Организация КАК ПоследнееМестоРабоы,
        ФизическиеЛица.Наименование КАК Наименование,
        ФизическиеЛица.Код КАК Код,
        ФизическиеЛица.ДатаРождения КАК ДатаРождения
    ИЗ
        Справочник.ФизическиеЛица КАК ФизическиеЛица
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&НаДату, ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)) КАК РаботникиОрганизацийСрезПоследних
            ПО ФизическиеЛица.Ссылка = РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо) КАК ВложенныйЗапрос
11 Fedor-1971
 
26.02.14
18:08
попробуй указать в конфигураторе руками после изменения запроса.
12 manti
 
26.02.14
18:13
(11) можно по подробнее плиз)
13 Fedor-1971
 
26.02.14
18:19
(12) В настройках списка (там где писал запрос) ниже есть поле Основная таблица и выпадающий список, вот из оного и выбери основную таблицу. Только проверяй, что-бы запрос не изменился.
14 manti
 
26.02.14
18:22
(13) так не даеть там поставить таблицу( недоступно
15 VikingKosmo
 
26.02.14
18:24
(14) при использовании вложенных запросов ДемоническийСписок и не даст выбрать основную таблицу. Не даром же он Демонический :))
16 Dmitry1c
 
26.02.14
18:30
ССсссыылка
17 manti
 
26.02.14
18:31
пилять, ну должен же быть хоть какойто пусть тривиальный вариант
18 manti
 
27.02.14
09:42
Помогите побороть проблему, еще актуально)
19 Fedor-1971
 
27.02.14
09:47
Прилепи на форму панель, источник действий - справочник (или что там нужно). Дальше по ситуации, автоматическое заполнение или только нужные кнопки.
20 Defender aka LINN
 
27.02.14
09:47
(18) Пля, тебе ответ еще в (1) озвучили.
З.Ы. Кстати, в ЗУП лезть влом. В этом регистре ПричинаИзмененияСостояния - это измерение? Если нет, тогда аффтара ждет сюрприз.
21 manti
 
27.02.14
10:00
(20) ПричинаИзмененияСостояния это ресурс а что это меняет?
22 Defender aka LINN
 
27.02.14
10:02
(21) Многое. В общем, не стоит следом создавать тему, что СрезПоследних что-то там неправильно делает - это не так.
23 manti
 
27.02.14
10:05
(22) тоесть не подучится реализовать вывод последнего место работы в динамике пи таком раскладе ?
24 fimanich
 
27.02.14
10:12
(23) предположу, что тебе намекают, что оч. хорошо на ресурс условие накладывать в параметрах вирт. таблицы среза...
25 fimanich
 
27.02.14
10:12
(24) очепятка: НЕ оч. хорошо
26 Defender aka LINN
 
27.02.14
10:16
(25) Не, для своих целей оно тоже хорошо :)
(23) Не этим запросом. Ладно, я пока с утра еще добрый: условие на ресурс в параметрах ВТ выдаст результат "когда В ПОСЛЕДНИЙ РАЗ у ресурса было такое значение". Что не равно "последние записи с таким значением ресурса"
27 manti
 
27.02.14
11:54
(26) все дело было в запросе:

ВЫБРАТЬ
ФизическиеЛица.Ссылка,
РаботникиОрганизацийСрезПоследних.Организация
ИЗ
Справочник.ФизическиеЛица КАК ФизическиеЛица
  ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
   РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо КАК СотрудникФизлицо,
   МАКСИМУМ(РаботникиОрганизацийСрезПоследних.Период) КАК Период
  ИЗ
   РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних
  
  СГРУППИРОВАТЬ ПО
   РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо) КАК ВложенныйЗапрос
  ПО ФизическиеЛица.Ссылка = ВложенныйЗапрос.СотрудникФизлицо
  ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних
  ПО ФизическиеЛица.Ссылка = РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо
28 manti
 
27.02.14
17:46
Зря поторопился с закрытием темы(. В общем суть такая: срез последних дергает данные в разрезе сотрудника. А по идее нужно по физлицу, по этому делаем вложенным(демонические не работают с ВТ) - выбираем при помощи функции максимум последнюю запись для физлица. Далее создаю пакет, в котором из физ лиц и работников орг. тяну нужные данные и внутренним соединением пртягиваю последнее место работы. данные все равно двоятся.

ВЫБРАТЬ РАЗЛИЧНЫЕ
    ФизическиеЛица.Ссылка,
    РаботникиОрганизацийСрезПоследних.Организация,
    ФизическиеЛица.Код,
    ФизическиеЛица.Наименование,
    ФизическиеЛица.ДатаРождения
ИЗ
    Справочник.ФизическиеЛица КАК ФизическиеЛица
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
                РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо КАК СотрудникФизлицо,
                МАКСИМУМ(РаботникиОрганизацийСрезПоследних.Период) КАК Период
            ИЗ
                РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних
            
            СГРУППИРОВАТЬ ПО
                РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо) КАК ВложенныйЗапрос
            ПО РаботникиОрганизацийСрезПоследних.Период = ВложенныйЗапрос.Период
                И РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо = ВложенныйЗапрос.СотрудникФизлицо
        ПО ФизическиеЛица.Ссылка = РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо
29 bolobol
 
27.02.14
17:59
Физлицо - это реквизит Сотрудника
30 manti
 
28.02.14
09:18
(29) да как это должно повлиять на дальнейший ход событий?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший