Имя: Пароль:
1C
1С v8
Как в 8ке реализовать ввод данных в регистр сведений вручную и документом?
0 toypaul
 
гуру
27.09.13
15:02
Попробовал добавить документ движения в реквизиты. Устанавливаю отбор по нему (индексация есть), а его нет в отборе. В ресурсы документ добавлять не хочу.

Как лучше сделать?
1 Ненавижу 1С
 
гуру
27.09.13
15:05
то есть тебе мало поля регистратор, ты еще его на всякий случай в реквизит пихаешь?

а на форме колонка соответственная есть?
2 бомболюк
 
27.09.13
15:06
а в настройку отбора его можно добавить?
3 ОбычныйЧеловек
 
27.09.13
15:09
Начни с того зачем все это надо?
4 toypaul
 
гуру
27.09.13
15:09
(1) у меня регистр независимый. там нет поля Регистратор.

какие колонки, какие настройки отбора. я про модуль проведения веду речь.
5 ОбычныйЧеловек
 
27.09.13
15:10
(4) Тогда вообще не понятно в чем проблема?
6 toypaul
 
гуру
27.09.13
15:11
(5) проблема как записать набор записей в регистр сведений при проведении. и удалить при отмене.
7 ОбычныйЧеловек
 
27.09.13
15:12
(6) А что мешает создать измерение "РучнойРегистратор" ?
8 ОбычныйЧеловек
 
27.09.13
15:13
+7 записать вообще проблем нет..проблема только с удалением (ибо нужно знать какие записи нужно удалит)
9 toypaul
 
гуру
27.09.13
15:18
тьфу. я в начале писал про "ресурс". имел ввиду измерение. не хочется в измерение пихать, но видимо придется.

по-уму конечно надо сделать на подчиненный регистратору. но данные уже без него заведены.
10 бомболюк
 
27.09.13
15:18
создал регистр сведений с реквизитом типа пара документов - в настройке отбора форма списка регистра сведений этот реквизит есть.
11 kosts
 
27.09.13
15:21
Зачем в измерение, ресурс используй...
12 toypaul
 
гуру
27.09.13
15:25
(10) да не в форме. а в наборе записей.
13 toypaul
 
гуру
27.09.13
15:25
(11) ресурс-то зачем? по нему тоже отбора не будет.
14 kosts
 
27.09.13
15:27
(13) Зачем отбор нужен? Индекса для запросов достаточно будет.
15 catena
 
27.09.13
15:28
Отбор (Filter)
Использование:
Только чтение.
Описание:
Тип: Отбор. Содержит объект Отбор, по которому осуществляется текущая фильтрация записей при считывании или записи набора. Список свойств объекта зависит от свойств регистра: для регистров сведений, для которых в конфигураторе установлен режим записи "Подчинение регистратору", отбор возможен только по регистратору, для периодических регистров сведений отбор возможен по периоду и значениям измерений, для непериодических - только по значению измерений.
Важно! Отбор может устанавливаться только на равенство.
16 kosts
 
27.09.13
15:29
См в типовом зупе регистр ГрафикиРаботыПоВидамВремени.
там документ вообще в реквизитах. Главное не в измерениях.
17 toypaul
 
гуру
27.09.13
15:29
(14) для проведения. точнее даже для отмены проведения.
18 toypaul
 
гуру
27.09.13
15:31
ладно. добавил в измерение.
19 kosts
 
27.09.13
15:32
(17) С реквизитом нормально работает. Разработчики типовых так делают.


// Удаляет записи из регистра сведений ГрафикиРаботыПоВидамВремени.
Процедура УдалитьЗаписиГрафика()
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Документ", Ссылка);
    Запрос.Текст = "ВЫБРАТЬ
    |    ГрафикиРаботыПоВидамВремени.ГрафикРаботы,
    |    ГрафикиРаботыПоВидамВремени.Дата,
    |    ГрафикиРаботыПоВидамВремени.Месяц КАК Месяц
    |ИЗ
    |    РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
    |ГДЕ
    |    ГрафикиРаботыПоВидамВремени.Документ = &Документ
    |
    |УПОРЯДОЧИТЬ ПО
    |    Месяц, ГрафикРаботы, Дата";
    
    НаборЗаписей = РегистрыСведений.ГрафикиРаботыПоВидамВремени.СоздатьНаборЗаписей();
    ВыборкаЗапроса = Запрос.Выполнить().Выбрать();
    Пока ВыборкаЗапроса.СледующийПоЗначениюПоля("Месяц") Цикл
        НаборЗаписей.Отбор.Месяц.Установить(ВыборкаЗапроса.Месяц);
        Пока ВыборкаЗапроса.СледующийПоЗначениюПоля("ГрафикРаботы") Цикл
            НаборЗаписей.Отбор.ГрафикРаботы.Установить(ВыборкаЗапроса.ГрафикРаботы);
            НаборЗаписей.Отбор.План.Установить(Истина);
            
            НаборЗаписей.Прочитать();
            СписокИндексовПоДате = Новый СписокЗначений;
            СписокИндексовПоДате.ЗагрузитьЗначения(НаборЗаписей.ВыгрузитьКолонку("Дата"));
            Пока ВыборкаЗапроса.Следующий() Цикл
                ЭлементСпискаИндексовПоДате = СписокИндексовПоДате.НайтиПоЗначению(ВыборкаЗапроса.Дата);
                Если ЭлементСпискаИндексовПоДате <> Неопределено Тогда
                    НаборЗаписей.Удалить(СписокИндексовПоДате.Индекс(ЭлементСпискаИндексовПоДате));
                    СписокИндексовПоДате.Удалить(ЭлементСпискаИндексовПоДате);
                КонецЕсли;
            КонецЦикла;
            НаборЗаписей.Записать();
        КонецЦикла;
    КонецЦикла;
    
КонецПроцедуры
20 toypaul
 
гуру
27.09.13
15:35
(19) это разве нормально?
21 бомболюк
 
27.09.13
16:11
я делал через реквизит. удалять движения легко через РегистрСведенийВыборка.
22 Franchiser
 
гуру
27.09.13
16:18
(19) +++
23 Лефмихалыч
 
27.09.13
16:19
(6) сделай регистр подчиненным, будь мужиком