Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Текущая строка Динамического списка

Здравствуйте, уважаемые! Сижу "туплю" уже 3 дня не могу понять что делаю не так..
проблема: на форме есть динамический список, основной таблицей которого является регистр сведений.. ( текущие строки имеют тип РегистраСведений Ключ записи) в событиях дС "СписокВыбор" даю пользователю возможность изменить параметр регистра сведений ( далее его записываю программно . и ищу ( также программно) следующую за Текущей запись запись и меняю нужные мне данные в ней ). проблема что зрительно слетает позиционирование текущей строки ( была на строке 2, стала на строке 3). ничего не помогает. побывала и просто запоминать предыдущую тек. строку и потом ставить активность на нее. и через создать ключ записи искать данные по 4 параметрам отбора и потом этот ключ подсовывать текущей строки Динамического списка. не встает активность и все((((. в чем может быть беда.......
Ответ:
Она и не встанет, т.к. при изменении записи регистра сведений происходит удаление предыдущей записи в таблице хранения и добавление новой.
Вопрос: 1С 8.3 Подбор цен из регистра сведений Цены

Здравствуйте, нужна ваша помощь. Имеется регистр сведений Цены и документ Установка цен, при помощи которого делаются записи в регистр. Но в документе Оказание услуг при реализации берутся цены не те которые нужны, но в регистре они хранятся. Помогите исправить данную ошибку. Нужно очень срочно сделать до вечера. Заранее спасибо всем!
Ответ:

Не по теме:

murad8665, зачем я рассказывала про выгрузку информационной базы...


Ладно, вопрос: зачем вам два идентичных регистра сведений? Зачем вам в регистре сведений Цены два измерения? Почему при получении цены вы делаете отбор только по одному из них?

Для периодического регистра сведений при получении значения ресурса через ПолучитьПоследнее() необходимо указать в отборе значения всех измерений и дату.
Так что два варианта: либо избавляйтесь от второго измерения и перепроводите документы Установки цен, либо при получении цены выставляйте в отборе значение второго измерения(Поставщик).
Можно конечно не менять ничего и получать значение цены запросом) Но тогда все равно вопрос: зачем вам два идентичных регистра сведений?)
Вопрос: Обмен данными. Пакет XDTO. Регистр сведений

Добрый день.
Такая задача, произвести обмен данными между двумя ИБ.
Нужно выгрузить записи для регистра сведений.
Как правильно сформировать xdto схему, независимый регистр сведений? Пробовал экспортировать схему, но не понимаю, как по этой схеме записывать(Проблема с отбором).
Как правильно сформировать данные по созданной схеме в регистр сведений?
У кого-нибудь подобная задача была?
Ответ: В дереве конфигурации можно экспортировать xsd схему, описывающая структуру каждого созданного в конфигурации объекта. Если описывать подробнее, то мне нужно из одной базы, записи регистра сведений(подчиненный регистратору) перенести в другую базу, где регистр сведений независимый. Проблема с формированием xml. Вместо выборки через запрос у меня выборка из ПланаОбмена(зарегистрированные изменения). Проблема в описании отбора(Filter), через пакет xdto. Пакет xdto(xsd схема принимающей стороны) содержится только в ИБ источника.
Вопрос: Обработка создания новых записей в регистре сведений.

НаборЗаписей = РегистрыСведений.ЦеныНоменклатурыКонтрагентов.СоздатьНаборЗаписей();
    
    НаборЗаписей.Отбор.Период.Установить(Дата);
    НаборЗаписей.Отбор.Номенклатура.Установить(Номенклатура);
    
    Запрос=Новый Запрос;
    Запрос.Текст="ВЫБРАТЬ
                 |    ЦеныНоменклатурыКонтрагентовСрезПоследних.Период,
                 |    ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура,
                 |    ЦеныНоменклатурыКонтрагентовСрезПоследних.Контрагент,
                 |    ЦеныНоменклатурыКонтрагентовСрезПоследних.ТипЦен,
                 |    ЦеныНоменклатурыКонтрагентовСрезПоследних.ЕдИзм,
                 |    ЦеныНоменклатурыКонтрагентовСрезПоследних.Организация,
                 |    ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена
                 |ИЗ
                 |    РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(&Дата, Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних";
    Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
    Запрос.УстановитьПараметр("Дата",Дата);
    ТЗ=Запрос.Выполнить().Выгрузить();
    Для Каждого СтрокаТЗ Из ТЗ Цикл 
        //записываем все элементы из табличной части в регистр сведений "ЦеныНоменклатурыКонтрагентов"

        НовЗапись = НаборЗаписей.Добавить();
        //

        НовЗапись.Период        =    Дата;
        НовЗапись.Номенклатура    =    Номенклатура;
        НовЗапись.Контрагент    =    СтрокаТЗ.Контрагент;
        НовЗапись.Цена            =    Цена;
        НовЗапись.ТипЦен        =    СтрокаТЗ.ТипЦен;
        НовЗапись.ЕдИзм            =    Номенклатура.ОсновнаяЕдиницаИзмерения;
        НовЗапись.Организация    =    СтрокаТЗ.Организация;
    КонецЦикла;
    Попытка
        НаборЗаписей.Записать(ИСТИНА); 
    Исключение
    КонецПопытки;
На данный момент, этот код переделывает уже существующие записи в регистре. Как сделать что бы не заменял старые а создавал новые записи?
Ответ: () не только не послали, но и в () ответили

РегистрСведенийНаборЗаписей.<Имя регистра сведений> (InformationRegisterRecordSet.<Имя регистра сведений>)
Записать (Write)
Синтаксис:

Записать(<Замещать>)
Параметры:

<Замещать> (необязательный)

Тип: Булево. Определяет режим замещения существующей записи в соответствии с текущими установками отбора. Истина - перед записью существующие записи будут удалены. Ложь - записи будут дописаны к уже существующим в информационной базе записям
Значение по умолчанию: Истина
Описание:

Записывает набор записей в базу данных. В зависимости от переданного параметра, может быть выполнено добавление записей или их замещение.
Вопрос: Как заполнить регистр сведений данными из отчёта

Есть регистр сведений, пока что не подчиненный какому-либо регистратору.
Есть отчёт продаж с нужной информацией.
Нужно данные из отчёта сгруппировать и посчитать дополнительно среднюю сумму. (сам запрос я понимаю как написать)

Вопрос: как поместить данные из этого запроса в регистр сведений?
Ответ:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Процедура КнопкаВыполнитьНажатие(Кнопка)    
    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
 
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   ПродажиОбороты.Номенклатура КАК Номенклатура,
        |   ПродажиОбороты.ДокументПродажи.Склад КАК Склад,
        |   СРЕДНЕЕ(ПродажиОбороты.КоличествоОборот) КАК СреднийОборот,
        |   ПродажиОбороты.Период КАК Период
        |ИЗ
        |   РегистрНакопления.Продажи.Обороты(&Дата1, &Дата2, День, ) КАК ПродажиОбороты
        |
        |СГРУППИРОВАТЬ ПО
        |   ПродажиОбороты.Номенклатура,
        |   ПродажиОбороты.ДокументПродажи.Склад,
        |   ПродажиОбороты.Период";
 
    Запрос.УстановитьПараметр("Дата1", Дата1);
    Запрос.УстановитьПараметр("Дата2", Дата2);
 
    Результат = Запрос.Выполнить();
 
    ВыборкаДетальныеЗаписи = Результат.Выбрать();
 
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        НаборЗаписей = РегистрыСведений.РегистрПродаж.СоздатьНаборЗаписей();
        
        НаборЗаписей.Отбор.Номенклатура.Установить(ВыборкаДетальныеЗаписи.Номенклатура);
        НаборЗаписей.Отбор.Склад.Установить(ВыборкаДетальныеЗаписи.Склад);
        ДеньНедели = ДеньНедели(ВыборкаДетальныеЗаписи.Период);
        НаборЗаписей.Отбор.ДеньНедели.Установить(ДеньНедели);
        
        НаборЗаписей.Прочитать();
        
        НоваяЗапись = НаборЗаписей.Добавить();
        
        НоваяЗапись.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
        НоваяЗапись.Склад = ВыборкаДетальныеЗаписи.Склад;
        НоваяЗапись.ДеньНедели = ДеньНедели;
        НоваяЗапись.СреднесутОборот = ВыборкаДетальныеЗаписи.СреднийОборот;
 
        НаборЗаписей.Записать();
    КонецЦикла;
 
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
 
КонецПроцедуры
В общем вот что я намудрил. Не создаётся запись в регистре сведений. Подскажите пожалуйста, что может быть не так?


Добавлено через 14 минут
Всё, разобрался дело было в переменной ДеньНедели
Вопрос: Синхронизация регистров сведений

Всем привет! Занимаюсь разработкой обмена УПП и ERP и в данный момент стоит такая задача: нужно выгружать регистр сведений "Процент бонуса по товарной группе" в созданный аналогично ему регистр в ERP. При этом данный регистр в ERP должен быть желательно независимым, так как обмен происходит через механизм БСП, а перенос документа по нему -- это отдельные трудозатраты. И также стоит такое условие, что при удалении записей в регистре базы источника, они должны и удаляться в приёмнике. В КД с расстановкой соответствий проблем не возникло. Какие у кого есть идеи для того, чтобы именно синхронизировать записи и удалять в приёмнике удалённые?
Ответ:
Очень просто. Выбираете регистр сведений
--- Объединение сообщений, 13 май 2016 ---
Вот статья с ИТС для понимая
Вопрос: Последнее значение периода из регистра сведений

Есть периодический регистр сведений, у него есть один ресурс.
Как достать последнее имеющееся значение периода из этого регистра?
Ответ:
Цитата Сообщение от Junex Посмотреть сообщение
Есть периодический регистр сведений, у него есть один ресурс.
Как достать последнее имеющееся значение периода из этого регистра?
делай запрос по таблице СрезПоследних
Вопрос: Работа с регистром сведений

И снова доброго времени суток!
Всплыл такой вопрос...
Есть документ ПриёмНаРаботу, у него реквизиты - ФИО, ДатаПриёма, и табличная часть - дата, оклад, должность. Вынесла в табличную часть специально, чтобы была возможность менять оклад на какую-то дату. И встала проблема. Данные из документа пишутся в регистр сведений. В него заносится ФИО, Оклад, Должность, ДатаПриёма и остальное. И дело в том, что когда я хочу сменить оклад, я создаю запись в табличной части. Нажимаю Провести. В итоге получаю очевидную ошибку - запись в регистре с таким ФИО уже есть. Как можно это организовать по-другому? Чтобы ФИО, ДатаПриёма и должность оставались, а переписывался в регистре только оклад?
Заранее всем спасибо за ответ!
Ответ: Тамика, тоже делаете этот документ регистратором для регистра сведений
Вопрос: Выбрать запись из регистра сведений

Добрый день! На форме обработки есть поле выбора. При нажатии на кнопку выбора появляется форма списка независимого регистра сведений. Как сделать так, чтобы при выборе нужной записи, данные этой записи подгружались в поле выбора?
Ответ: Спасибо большое!))) Разобралась. В процедуру РегистрСведенийСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) добавила код:
1C
1
2
3
4
Стр=Новый Структура;
    Стр.Вставить("Номер",Элемент.ВыделенныеСтроки);
     ОповеститьОВыборе(Стр);
    СтандартнаяОбработка=Ложь;
А потом уже по номеру через запрос вытащила нужный ресурс.
Вопрос: Регистр сведений. Ошибка получения данных

Подскажите в чем ошибка?

Код из общего модуля
Код 1C
1
2
3
4
5
6
7
8
9
10
11
Функция РозничнаяЦенаРубли(АктуальнаяДата, ЭлементТовары) Экспорт
Отбор = Новый Структура("Наименование", ЭлементТовары);
ЗначенияРесурсов=РегистрыСведений.ЦеныТоваровИУслуг.ПолучитьПоследнее(АктуальнаяДата, Отбор);
Возврат ЗначенияРесурсов.Цена;
КонецФункции
 
Функция РозничнаяЦенаЕдиницы(АктуальнаяДата, ЭлементТовары) Экспорт
Отбор = Новый Структура("Наименование", ЭлементТовары);
ЗначенияРесурсов=РегистрыСведений.ЦеныТоваровИУслуг.ПолучитьПоследнее(АктуальнаяДата, Отбор);
Возврат ЗначенияРесурсов.КоличествоЕдиниц;  
КонецФункции
Вот что пишет программа
Код Code
1
2
3
4
{ОбщийМодуль.ЦеныТоваровИУслуг.Модуль(5)}: Ошибка при вызове метода контекста (ПолучитьПоследнее)
ЗначенияРесурсов=РегистрыСведений.ЦеныТоваровИУслуг.ПолучитьПоследнее(АктуальнаяДата, Отбор);
по причине:
Недопустимое значение параметра (параметр номер '2')

Регистр сведения "ЦеныТоваровИУслуг"
Измерения: ТоварИУслуга
Ресурсы: Цена, КоличествоЕдиниц
Ответ:
Сообщение от Эмили
Недопустимое значение параметра (параметр номер '2')
В регистре нет измерения "Наименование" или измерение "Наименование" не индексируемое

Добавлено через 54 секунды
Сообщение от Эмили
Структура("Наименование", ЭлементТовары);
Сообщение от Эмили
Регистр сведения "ЦеныТоваровИУслуг"
Измерения: ТоварИУслуга
Ресурсы: Цена, КоличествоЕдиниц
А вы не чувствуете разницу? Откуда в РС "Наименование" ?