|
Движение регистра выдает ошибку | ☑ | ||
---|---|---|---|---|
0
LivingStar
01.10.13
✎
10:34
|
Очистил регистр. Провожу первый документ, на обработке проведения выдается ошибка.
шибка при выполнении обработчика - 'ОбработкаПроведения' по причине: {Документ.УстановкаФокусногоАссортимента(25)}: Ошибка при вызове метода контекста (Записать) по причине: Запись с такими ключевыми полями существует! : ФокусныйАссортимент: 01.01.2013, Номенклатура1 (Регистр сведений: Фокусный ассортимент; Номер строки: 8) Номенклатура1 это номенклатура находящаяся в первой строке Тч УстанавливаемыйФокусныйАссортимент, в отладчике по коду отрабатывает 7 циклов и идет в записать набор записей. От куда там идет на запись ещё одна таже строка??? Процедура ОбработкаПроведения(Отказ, РежимПроведения) // ТзОтменаФА = ОтменяемыйФокусныйАссортимент.Выгрузить(); ТзУстановкаФА = УстанавливаемыйФокусныйАссортимент.Выгрузить(); // Запись в регистр сведений текущей таблицы документа ОтменяемыйФокусныйАссортимент (отмена номенклатуры фокусным ассортиментом) НаборЗаписей = РегистрыСведений.ФокусныйАссортимент.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Период.Установить(Дата); НаборЗаписей.Прочитать(); Для каждого Стр Из ТзОтменаФА Цикл Если ТзУстановкаФА.Найти(Стр.Номенклатура, "Номенклатура") = Неопределено Тогда НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Период = Дата; НоваяЗапись.Номенклатура = Стр.Номенклатура; НоваяЗапись.ФА = Ложь; КонецЕсли; КонецЦикла; // Запись в регистр сведений текущей таблицы документа УстанавливаемыйФокусныйАссортимент (установка номенклатуры фокусным ассортиментом) Для каждого Стр Из ТзУстановкаФА Цикл НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Период = Дата; НоваяЗапись.Номенклатура = Стр.Номенклатура; НоваяЗапись.ФА = Истина; КонецЦикла; НаборЗаписей.Записать(); КонецПроцедуры |
|||
1
LivingStar
01.10.13
✎
11:03
|
что регистры сведений никому не интересны?
|
|||
2
LivingStar
01.10.13
✎
11:05
|
по задаче 2 таблицы, в 1 устанавливаемый фокусный ассортимент во второй отменяемый
при проведении у одной номенклатуры ресурс ФА ставлю в истина у другой в ложь, тем самым оставляя на каждый заданный период определенный состав фокусного ассортимента |
|||
3
Naumov
01.10.13
✎
11:05
|
какие измерения в регистре? независимый? Периодический?
|
|||
4
Галахад
гуру
01.10.13
✎
11:05
|
Отладчик вроде давно придумали.
|
|||
5
LivingStar
01.10.13
✎
11:06
|
(3) периодичность сделал в течении дня, хотя можно было бы оставить в пределах квартала, независимый, решил отказаться от привязки к документу, сейчас вот не могу настроить на работу его, то то не то то то не то
|
|||
6
LivingStar
01.10.13
✎
11:06
|
(4) я и описал то что видел в отладчике
|
|||
7
George Wheels
01.10.13
✎
11:08
|
Если в обеих таблицах есть Номенклатура1, то всё различие в поле ФА. Это измерение?
|
|||
8
goleaff2006
01.10.13
✎
11:13
|
||||
9
LivingStar
01.10.13
✎
11:16
|
(8) спасибо!
(7) ФА это ресурс, измерение номенклатура суть в том что при проведении документа так как я регисру задал периодичность в пределах дня, в регистр записываются данные по фокусному ассортименту номенклатуры, стала выходить тупая ошибка что в (0) я уже думал почти отладил пока не переключился на другую задачу, сейчас вот не знал что делать с (0). думаю как от сюда вылазить..... |
|||
10
goleaff2006
01.10.13
✎
11:17
|
Нельзя в течение дня одну и туже номенклатуру добавлять два раза, что ты и пытался сделать.
|
|||
11
George Wheels
01.10.13
✎
11:18
|
Во втором цикле сделай проверку на существование записи и меняй её.
|
|||
12
goleaff2006
01.10.13
✎
11:18
|
или фа сделай измерением.
|
|||
13
LivingStar
01.10.13
✎
13:10
|
(10) так а я первый документ проводил же, регистр пуст, во второй табличной части ничего нет ( понятно что нельзя, так она вся разная, и в Тч 7 строк, а он пишел про 8ю.... в цикле обрабатываются 7 и переходит на запись...
|
|||
14
Feunoir
01.10.13
✎
13:15
|
А очищать набор записей кто будет, Пушкин? У тебя записи уже есть, ты их перечитываешь и добавляешь новые. Конечно будет дублирование измерений. |
|||
15
LivingStar
01.10.13
✎
13:23
|
(11) Я же в первом цикле перебираю 2ю таблицу и меняю только те значения в ложь которые были установлены в истина предыдущим документом если их нет в первой таблице, так как из первой они и так встанут в истина
(14) А вот это стоит рассмотреть!!! Знаете ещё какая проблема? При отмене проведения нужно же наверное удалять все движения вообще и очищать вторую Тч, оставляя только первую? Так как вторая сама заполняется. Не смог этого сделать, впал в ступор, И был перебит парой других задач.Сейчас хочу эту адекватно все же выправить. Посоветуйте как очищать равильно движения по регист ру сведений? А то запутываешься в этом (((( |
|||
16
Feunoir
01.10.13
✎
13:33
|
(15) В первую очередь я бы рассмотрел возможность сделать регистр подчиненным регистратору. Тогда все проблемы отпадают автоматически. Если это невозможно, тогда при отмене проведения делать что-то типа:
|
|||
17
LivingStar
01.10.13
✎
13:39
|
(16) У меня он был подчиненным регистратору, я отменил... Что может помешать делать регистр подчиненным регистратору???
Он будет ставить введенную в него номенклатуру в фокусный ассортимент с даты документа до введения следующего веть так? Что то меня сбило и я отказался от его использования, но вижу тут куча непредвиденных заморочек.... |
|||
18
Enders
01.10.13
✎
13:53
|
v8: Изменение записей в регистре сведений подчиненных регистратору
Уже ж спрашивали по данному регистру. Вместо того что б изобретать колесо с регистром, лучше бы отчет правильно написали. А регистр сделали подчинённый регистратору, с периодичностью регистратор. И в документе оставили одну таб часть с актуальным ФА, которую б и пихали в регистр. Или же вообще уйти от регистров, а отчетом отбирать документы за выбранный период отчета. Но в этом случае отчет будет более медленно работать. Да и не красиво, если эти данные будут нужны ещё где-то, кроме отчета. |
|||
19
LivingStar
01.10.13
✎
13:57
|
(16) Мне советовали вообще не использовать регистры, остановиться на использовании только документов! Но все равно пытаюсь применить регистры.
Или просто оставить Документ.УстановкаФокусногоАссортимента и им вводить раз в квартал фокусный ассортимент. Не видя всей возможной картины не понятно как все же оставить... |
|||
20
LivingStar
01.10.13
✎
14:01
|
(18) Несколько медленно и не совсем правильно, по этому и решил делать по регистру. От подчиненного документа отказался от недопонимания наверное, это же никак не повлияет подчинен он или не подчиненный регистратору регистр, выбирает на дату и показывает...
|
|||
21
hhhh
01.10.13
✎
14:09
|
(20) правильнее делать документ-регистратор. Это же какое-то событие произошло: директор утвердил фокусный ассортимент, это был какой-то бумажный документ, ему и в 1с должен соответствовать документ. А в этом документе должны быть соответствующие регистры задействованы.
|
|||
22
Enders
01.10.13
✎
15:06
|
(20) Повлияет
Вы будете видеть каким документом был добавлен ФА. Меньше мороки при отмене проведения, перепроведении документа. |
|||
23
LivingStar
02.10.13
✎
04:34
|
(21)(22) Тогда решено, прихожу сегодня, делаю подчиненным регистратору, тестирую, и в обед переношу в рабочую базу! Если успею.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |