Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
27 Май 2018, 12:31
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Регистр сведений Измерения  (Прочитано 3643 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн andryscha92

  • ****
  • Сообщений: 267
  • РЕПУТАЦИЯ: 4
  • КПД: 1%
  • Регистрация: 2012-01-31
  • Сайт: 
  • Профессия: Программист 1С
Здравствуйте.есть регистр сведений подчиненый регистратору. в нем измерение Субконто1. Создал ещё одно измерение Субконто2. Подскажите пожалуйста возможно ли скопировать данные Субконто1 в субконто2 ? Напоминаю РС подчинен регистратору!


Оффлайн LexaK

  • *****
  • Сообщений: 1295
  • РЕПУТАЦИЯ: 356
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
необходимо написать обработку
1.запросом получите всех владельцев данного регистра
2.создаете набор записей
цикл(1) - обход владельцев
3.в цикле устанавливаете отбор по владельцу, читаете набор записей
цикл(2) - перебор записей в наборе
4.для каждой записи пишите лкЗапись.Субконто2 = лкЗапись.Субконто1;
конеццикла(2)
5.записываете набор записей
конеццикла(1)
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн Slin

  • Глобальный модератор
  • *****
  • Сообщений: 780
  • РЕПУТАЦИЯ: 247
  • КПД: 32%
  • Game over...
  • Регистрация: 2010-10-13
  • Сайт: 
  • Профессия: Программист 1С
чего нельзя то?
главное, чтобы они были совместимых типов
skype: slin-dev

Оффлайн andryscha92

  • ****
  • Сообщений: 267
  • РЕПУТАЦИЯ: 4
  • КПД: 1%
  • Регистрация: 2012-01-31
  • Сайт: 
  • Профессия: Программист 1С
необходимо написать обработку
1.запросом получите всех владельцев данного регистра
2.создаете набор записей
цикл(1) - обход владельцев
3.в цикле устанавливаете отбор по владельцу, читаете набор записей
цикл(2) - перебор записей в наборе
4.для каждой записи пишите лкЗапись.Субконто2 = лкЗапись.Субконто1;
конеццикла(2)
5.записываете набор записей
конеццикла(1)

всё так и сделал, работает. Но на определенном этапе при записи ошибка

{Форма.Форма.Форма(44)}: Ошибка при вызове метода контекста (Записать)
      НаборЗаписей.Записать();
по причине:
Запись с такими ключевыми полями существует! : РасчетРазницВОценкеАктивовИОбязательств: 01.12.2013, ООО "Юбилейное", Цех полуфабрикатов, Незавершенное производство, , , , Временные разницы, 20.01, , ,  (Регистр сведений: Расчет разниц в оценке активов и обязательств; Номер строки: 725)
Добавлено: 09 Фев 2015, 09:50

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

Выборка = Результат.Выбрать();

РасчетРазниц = РегистрыСведений.РасчетРазницВОценкеАктивовИОбязательств;
НаборЗаписей = РасчетРазниц.СоздатьНаборЗаписей();

Пока Выборка.Следующий() Цикл

НаборЗаписей.Отбор.Регистратор.Значение = Выборка.Ссылка;
НаборЗаписей.Прочитать();

Для каждого строка из НаборЗаписей цикл

строка.Субконто4 = строка.Субконто1;
строка.Субконто5 = строка.Субконто2;
строка.Субконто6 = строка.Субконто3;

КонецЦикла;

НаборЗаписей.Записать();
КонецЦикла;

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Завершено!";
Сообщение.Сообщить();

Оффлайн LexaK

  • *****
  • Сообщений: 1295
  • РЕПУТАЦИЯ: 356
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
так как вы изменяете измерения, у вас появляются(могут появляться) записи с одинаковыми ключами. что бы избежать ошибки при записи вам необходимо сворачивать ваш набор записей по измерениям, проще всего это сделать через таблицу значений.
у набора записей регистра есть метод выгрузить()/загрузить(),
план действий следующий (данные действия вставить перед записью набора)
...
1.Выгрузить набор записей в таблицу значений
2.свернуть таблицу значений ("Поля измерений","Поля ресурсов")
3.Загрузить полученную таблицу значений в набор записей
...
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн andryscha92

  • ****
  • Сообщений: 267
  • РЕПУТАЦИЯ: 4
  • КПД: 1%
  • Регистрация: 2012-01-31
  • Сайт: 
  • Профессия: Программист 1С
так как вы изменяете измерения, у вас появляются(могут появляться) записи с одинаковыми ключами. что бы избежать ошибки при записи вам необходимо сворачивать ваш набор записей по измерениям, проще всего это сделать через таблицу значений.
у набора записей регистра есть метод выгрузить()/загрузить(),
план действий следующий (данные действия вставить перед записью набора)
...
1.Выгрузить набор записей в таблицу значений
2.свернуть таблицу значений ("Поля измерений","Поля ресурсов")
3.Загрузить полученную таблицу значений в набор записей
...
Добавлено: 09 Фев 2015, 11:17

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

Выборка = Результат.Выбрать();

РасчетРазниц = РегистрыСведений.РасчетРазницВОценкеАктивовИОбязательств;
НаборЗаписей = РасчетРазниц.СоздатьНаборЗаписей();

Пока Выборка.Следующий() Цикл

НаборЗаписей.Отбор.Регистратор.Значение = Выборка.Ссылка;
НаборЗаписей.Прочитать();
Номер = 0;
Для каждого строка из НаборЗаписей цикл
Номер = Номер+1;
строка.Субконто4 = строка.Субконто1;
строка.Субконто5 = строка.Субконто2;
строка.Субконто6 = строка.Субконто3;
строка.Резерв = Номер;
КонецЦикла;

НаборЗаписей.Записать();
КонецЦикла;

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Завершено!";
Сообщение.Сообщить();



Теги:
 

Отличие проводки по регистру сведений от проводки по регистру накопления?

Автор DirecTwiXРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 5249
Последний ответ 18 Апр 2012, 02:19
от Dethmontt
Добавление сведений в графу "основание" документа "ТОРГ-12"

Автор Ярослав1984Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 8280
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984
Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

Автор Елена6666666666Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 10994
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
В чем отличие регистра сведений от регистра накопления?

Автор Dmitry QweРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 1654
Последний ответ 19 Апр 2018, 13:43
от Ромашев Алексей
Проверка на "новую" запись в рег. сведений

Автор nomer13Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 15513
Последний ответ 11 Янв 2011, 10:04
от nomer13

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
154 Сообщений
alex0402
67 Сообщений
oleg-x
56 Сообщений
AIFrame AIFrame
55 Сообщений
buketov.av buketov.av
47 Сообщений
wise wise
41 Сообщений
ilyay ilyay
39 Сообщений
Анюта17
33 Сообщений
Alter
32 Сообщений
alexandr_ll
30 Сообщений

* Кто онлайн

  • Точка Гостей: 210
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal