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

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

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

Оффлайн andryscha92

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


Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 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

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 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
Просмотров: 4843
Последний ответ 18 Апр 2012, 02:19
от Dethmontt
Добавление сведений в графу "основание" документа "ТОРГ-12"

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

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

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

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

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

Ответов: 2
Просмотров: 485
Последний ответ 11 Сен 2017, 10:50
от ilyay
Проверка на "новую" запись в рег. сведений

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
172 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
38 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal