|
подскажите как правильно сделать движение по регистру накопления | ☑ | ||
---|---|---|---|---|
0
LivingStar
08.04.13
✎
06:22
|
не могу добавить запись в регистр накопления
| Процедура ЗаписьВРегистры(Номенклатура, Сумма, Контрагент, Должность, Организация, Закупки, РасчетыСКонтрагентами, ВзаиморасчетыСКонтрагентами) // *** РН.ЗАКУПКИ *** НоваяЗапись = Движения.Закупки.ДобавитьПриход(); НоваяЗапись.Номенклатура = Номенклатура + " " + Должность; НоваяЗапись.СтатусПартии = Перечисления.СтатусыПартийТоваров.Купленный; |
|||
1
LivingStar
08.04.13
✎
06:23
|
пишет метод объекта не обнаружен
|
|||
2
Aleksey
08.04.13
✎
06:24
|
у тебя что Номенклатура строка? Ты в этом уверен?
|
|||
3
Wobland
08.04.13
✎
06:25
|
(1) внимательно посмотри, у кого не обнаружено и предложи свою версию происходящего
|
|||
4
LivingStar
08.04.13
✎
06:28
|
(3) Да вот давно не сталкивался с проведением по регистрам накопления. Думаю как надо, может вначале нужно прочитать запись из регистра?
| Движения.Закупки.ДобавитьПриход(); | Закупки.ДобавитьПриход(); | и так не идет и так не идет! |
|||
5
LivingStar
08.04.13
✎
06:33
|
(2) да это ошибка, не продумал этот момент
|
|||
6
Wobland
08.04.13
✎
06:37
|
может, из этого куска что-то для себя вынесешь
док.РучнаяКорректировка=Истина; НЗ=РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); НЗ.Отбор.Регистратор.Установить(док.Ссылка); НЗ.Прочитать(); Движение=НЗ.Добавить(); Движение.Регистратор=док.Ссылка; Движение.Активность=Истина; Движение.СчетДт=ПланыСчетов.Хозрасчетный.ТоварыПереданныеНаКомиссию; Движение.Период=док.Дата; Движение.Организация=док.Организация; НЗ.Записать(); док.Записать(РежимЗаписиДокумента.Проведение); |
|||
7
Любопытная
08.04.13
✎
06:38
|
(4)
НКД_УУ = Движения.НачисленныйКупонныйДоходУправленческий; Для Каждого СтрокаТаблицы Из ТаблицаУУ Цикл Если НЕ СтрокаТаблицы.УУ тогда Продолжить; КонецЕсли; Движение = НКД_УУ.ДобавитьПриход(); Движение.Период = Дата; Движение.ДоговорДУ = ДоговорДУ; Движение.ВариантУчетнойПолитики = ВариантУчетнойПолитики; Движение.Облигация = СтрокаТаблицы.Облигация; Движение.КупонныйПериод = СтрокаТаблицы.КупонныйПериод; Движение.Валюта = СтрокаТаблицы.ВалютаНоминальнойСтоимости; Движение.Сумма = СтрокаТаблицы.Сумма; Движение.ВалютнаяСумма = СтрокаТаблицы.ВалютнаяСумма; Движение.Комментарий = СтрокаТаблицы.Комментарий; КонецЦикла; НКД_УУ.Записывать = Истина; Какова вероятность того, что РН Закупки не отмечен в свойствах документа на закладке Движения? |
|||
8
BICO
08.04.13
✎
06:47
|
(0) Проверь, что данный вид документа может двигать данный регистр.
|
|||
9
LivingStar
08.04.13
✎
06:51
|
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине: {Документ.НачислениеЗаработнойПлаты.МодульОбъекта(45)}: Метод объекта не обнаружен (ДобавитьПриход) | НаборЗаписей = РегистрыНакопления.Закупки.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Ссылка); НоваяЗапись = НаборЗаписей.ДобавитьПриход(); | (6)(4) Спасибо, сейчас попробую! |
|||
10
LivingStar
08.04.13
✎
06:51
|
(4) да не отмечен!!!! (
|
|||
11
LivingStar
08.04.13
✎
06:51
|
(8) ок!
|
|||
12
LivingStar
08.04.13
✎
07:07
|
ругается
| Ошибка при выполнении обработчика - 'ОбработкаПроведения' по причине: {Документ.НачислениеЗаработнойПлаты.МодульОбъекта(43)}: Метод объекта не обнаружен (ДобавитьПриход) | Хотя передаю вроде все верно! | Процедура ОбработкаПроведения(Отказ, РежимПроведения) Оклад = Справочники.Номенклатура.НайтиПоНаименованию("Оклад"); Инвентаризация = Справочники.Номенклатура.НайтиПоНаименованию("Инвентаризация"); Штраф = Справочники.Номенклатура.НайтиПоНаименованию("Штраф"); Бонус = Справочники.Номенклатура.НайтиПоНаименованию("Бонус"); // 2013_04_05 LivingStar -> // РН.Закупки Набор_1 = РегистрыНакопления.Закупки.СоздатьНаборЗаписей(); Набор_1.Отбор.Регистратор.Установить(Ссылка); // РН.РасчетыСКонтрагентами Набор_2 = РегистрыНакопления.РасчетыСКонтрагентами.СоздатьНаборЗаписей(); Набор_2.Отбор.Регистратор.Установить(Ссылка); // РН.ВзаиморасчетыСКонтрагентами Набор_3 = РегистрыНакопления.ВзаиморасчетыСКонтрагентами.СоздатьНаборЗаписей(); Набор_3.Отбор.Регистратор.Установить(Ссылка); //Если ЭтоНовый Тогда Набор_1.Прочитать(); Набор_2.Прочитать(); Набор_3.Прочитать(); //Иначе //КонецЕсли; Для каждого СтрокаТч Из ТабличнаяЧасть1 Цикл Если ЗначениеЗаполнено(СтрокаТч.Оклад) Тогда // ### ОКЛАД ### ЗаписьВРегистры(Оклад, СтрокаТч.Оклад, СтрокаТч.Сотрудник, СтрокаТч.Должность, Организация, Набор_1, Набор_2, Набор_3); ИначеЕсли ЗначениеЗаполнено(СтрокаТч.Штраф) Тогда | |
|||
13
LivingStar
08.04.13
✎
07:08
|
(12+)
Процедура ЗаписьВРегистры(Номенклатура, Сумма, Контрагент, Должность, Организация, Закупки, РасчетыСКонтрагентами, ВзаиморасчетыСКонтрагентами) // *** РН.ЗАКУПКИ *** НоваяЗапись = Закупки.ДобавитьПриход(); НоваяЗапись.Номенклатура = Номенклатура; НоваяЗапись.СтатусПартии = Перечисления.СтатусыП |
|||
14
NWsFF
08.04.13
✎
07:09
|
У тебя регистр походу оборотный, а ты с ним работаешь как с регистром остатков
|
|||
15
Любопытная
08.04.13
✎
07:10
|
Хрень какая
|
|||
16
LivingStar
08.04.13
✎
07:10
|
(14) Добавить() срабатывает, ДобавитьПриход() нет !
|
|||
17
NWsFF
08.04.13
✎
07:10
|
НоваяЗапись = Закупки.Добавить();
НоваяЗапись.Номенклатура = Номенклатура; НоваяЗапись.СтатусПартии = Перечисления.СтатусыП так работает? :) |
|||
18
NWsFF
08.04.13
✎
07:11
|
(16) Зайди в регистр и поставь во вкладке "Основные" вид регистра Остатки
|
|||
19
LivingStar
08.04.13
✎
07:13
|
(18) регистр то нельзя править!!!
то есть так писать в оборотный регистр | НоваяЗапись = Закупки.Добавить(); | а так в регистр остатки? | НоваяЗапись = Закупки.ДобавитьПриход(); | |
|||
20
NWsFF
08.04.13
✎
07:13
|
совершенно верно
|
|||
21
NWsFF
08.04.13
✎
07:15
|
У регистра оборотов нет понятия приход/расход, он не в общем случае не расходуется, а копит обороты.
|
|||
22
LivingStar
08.04.13
✎
07:17
|
(21) ясно!
А вот так пишу в регистр остатков, что не так? почему то ошибка не выходит и записи нет! | НоваяЗапись = Движения.РасчетыСКонтрагентами.ДобавитьПриход(); НоваяЗапись.ДоговорКонтрагента = Контрагент.ОсновнойДоговорКонтрагента; НоваяЗапись.Организация = Организация; НоваяЗапись.Контрагент = Контрагент; НоваяЗапись.СуммаВзаиморасчетов = Сумма; НоваяЗапись.СуммаУпр = Сумма; //НоваяЗапись.Сделка = //НоваяЗапись.РасчетыВозврат = РасчетыСКонтрагентами.Записать(); |
|||
23
Chai Nic
08.04.13
✎
07:21
|
(22) Вы же новую запись не записали..
|
|||
24
LivingStar
08.04.13
✎
07:21
|
(23) понял! спасибо!
|
|||
25
NWsFF
08.04.13
✎
07:22
|
РасчетыСКонтрагентами.Записать(); > Движения.РасчетыСКонтрагентами.Записывать = Истина;
(23) Такое чувство, что в теме троллят :), та м не запись а набор записей |
|||
26
LivingStar
08.04.13
✎
07:23
|
(25) не заметил
|
|||
27
LivingStar
08.04.13
✎
07:31
|
Ругается, метод не обнаружен Записать
| НоваяЗапись = Закупки.Добавить(); НоваяЗапись.Период = Дата; НоваяЗапись.Номенклатура = Номенклатура; НоваяЗапись.СтатусПартии = Перечисления.СтатусыПартийТоваров.Купленный; НоваяЗапись.ДоговорКонтрагента = Контрагент.ОсновнойДоговорКонтрагента; НоваяЗапись.Организация = Организация; НоваяЗапись.Контрагент = Контрагент; НоваяЗапись.Количество = 1; НоваяЗапись.Стоимость = Сумма; //НоваяЗапись.ХарактеристикаНоменклатуры = //НоваяЗапись.ЗаказПоставщику = //НоваяЗапись.ДокументЗакупки = //НоваяЗапись.Проект = //НоваяЗапись.Подразделение = //НоваяЗапись.НДС = //Движения.Закупки.Записывать = Истина; НоваяЗапись.Записать(); |
|||
28
LivingStar
08.04.13
✎
07:32
|
(23) pf t` pfgbcs dslftncz jib,rf
|
|||
29
LivingStar
08.04.13
✎
07:32
|
(23) на её записи выдается ошибка
|
|||
30
Wobland
08.04.13
✎
07:32
|
(27) а можно ли записывать записи? тварь я дрожащая или набор целиком записвать нужно?
|
|||
31
LivingStar
08.04.13
✎
07:34
|
(30)
НоваяЗапись.Записать(); исправил на Закупки.Записать(); Закупки это набор записей |
|||
32
Wobland
08.04.13
✎
07:37
|
поздравлять?
|
|||
33
LivingStar
08.04.13
✎
07:39
|
Закупки регистр оборотов, Расчеты с контрагентами регистр остатков, почему то проходит по коду записи в регистр закупки, но записи не обнаруживаю самой в регистре !!!
// *** РН.ЗАКУПКИ *** НоваяЗапись = Закупки.Добавить(); НоваяЗапись.Период = Дата; НоваяЗапись.Номенклатура = Номенклатура; НоваяЗапись.СтатусПартии = Перечисления.СтатусыПартийТоваров.Купленный; НоваяЗапись.ДоговорКонтрагента = Контрагент.ОсновнойДоговорКонтрагента; НоваяЗапись.Организация = Организация; НоваяЗапись.Контрагент = Контрагент; НоваяЗапись.Количество = 1; НоваяЗапись.Стоимость = Сумма; //НоваяЗапись.ХарактеристикаНоменклатуры = //НоваяЗапись.ЗаказПоставщику = //НоваяЗапись.ДокументЗакупки = //НоваяЗапись.Проект = //НоваяЗапись.Подразделение = //НоваяЗапись.НДС = Движения.Закупки.Записывать = Истина; Закупки.Записать(); // // *** РН.РАСЧЕТЫСКОНТРАГЕНТАМИ *** НоваяЗапись = Движения.РасчетыСКонтрагентами.ДобавитьПриход(); НоваяЗапись.Период = Дата; НоваяЗапись.ДоговорКонтрагента = Контрагент.ОсновнойДоговорКонтрагента; НоваяЗапись.Организация = Организация; НоваяЗапись.Контрагент = Контрагент; НоваяЗапись.СуммаВзаиморасчетов = Сумма; НоваяЗапись.СуммаУпр = Сумма; //НоваяЗапись.Сделка = //НоваяЗапись.РасчетыВозврат = Движения.РасчетыСКонтрагентами.Записывать = Истина; РасчетыСКонтрагентами.Записать(); // |
|||
34
Wobland
08.04.13
✎
07:43
|
а я вот что обнаруживаю.
раз: НоваяЗапись=Закупки.Добавить(); два: НоваяЗапись=Движения.РасчетыСКонтрагентами.ДобавитьПриход(); надо как-то определиться, движения это или что-то ещё |
|||
35
LivingStar
08.04.13
✎
07:47
|
Закупки это регистр остатков
| НоваяЗапись = Закупки.Добавить(); НоваяЗапись.Период = Дата; НоваяЗапись.Номенклатура = Номенклатура; НоваяЗапись.СтатусПартии = Перечисления.СтатусыПартийТоваров.Купленный; НоваяЗапись.ДоговорКонтрагента = Контрагент.ОсновнойДоговорКонтрагента; НоваяЗапись.Организация = Организация; НоваяЗапись.Контрагент = Контрагент; НоваяЗапись.Количество = 1; НоваяЗапись.Стоимость = Сумма; //НоваяЗапись.ХарактеристикаНоменклатуры = //НоваяЗапись.ЗаказПоставщику = //НоваяЗапись.ДокументЗакупки = //НоваяЗапись.Проект = //НоваяЗапись.Подразделение = //НоваяЗапись.НДС = Движения.Закупки.Записывать = Истина; Закупки.Записать(); |
|||
36
Wobland
08.04.13
✎
07:48
|
>Закупки это регистр остатков
я вижу, что Закупки - это некая коллекция |
|||
37
LivingStar
08.04.13
✎
07:51
|
(36) да это набор записей регистра закупки
|
|||
38
Wobland
08.04.13
✎
07:53
|
а как обнаруживаешь?
|
|||
39
LivingStar
08.04.13
✎
07:53
|
(38)
//Движения.Закупки.Записывать = Истина; Закупки.Записать(); это помогло, запись появилась |
|||
40
LivingStar
08.04.13
✎
07:54
|
(38)
Набор_1 = РегистрыНакопления.Закупки.СоздатьНаборЗаписей(); Набор_1.Отбор.Регистратор.Установить(Ссылка); // РН.РасчетыСКонтрагентами Набор_2 = РегистрыНакопления.РасчетыСКонтрагентами.СоздатьНаборЗаписей(); Набор_2.Отбор.Регистратор.Установить(Ссылка); // РН.ВзаиморасчетыСКонтрагентами Набор_3 = РегистрыНакопления.ВзаиморасчетыСКонтрагентами.СоздатьНаборЗаписей(); Набор_3.Отбор.Регистратор.Установить(Ссылка); //Если ЭтоНовый Тогда Набор_1.Прочитать(); Набор_2.Прочитать(); Набор_3.Прочитать(); //Иначе //КонецЕсли; Для каждого СтрокаТч Из ТабличнаяЧасть1 Цикл Если ЗначениеЗаполнено(СтрокаТч.Оклад) Тогда // ### ОКЛАД ### ЗаписьВРегистры(Оклад, СтрокаТч.Оклад, СтрокаТч.Сотрудник, СтрокаТч.Должность, Организация, Набор_1, Набор_2, Набор_3); ИначеЕсли ЗначениеЗаполнено(СтрокаТч.Штраф) Тогда // ### ШТРАФ ### |
|||
41
LivingStar
08.04.13
✎
07:56
|
(38) только при перепроведении документа записи в регистр накопления Закупки (Обороты) накапливаются, как от этого избавиться?
|
|||
42
Любопытная
08.04.13
✎
07:57
|
(41) Очищать записи перед проведением
|
|||
43
LivingStar
08.04.13
✎
07:58
|
(42) особенность регистра накопления обороты? делать это перед началом добавления записи?
|
|||
44
NWsFF
08.04.13
✎
07:58
|
(41) Ты почитай про регистры накопления, уйму времени сэкономишь.
|
|||
45
Wobland
08.04.13
✎
08:02
|
(42) или не читать после создания
|
|||
46
LivingStar
08.04.13
✎
08:26
|
(44) работа давит, по ходу дела разбираюсь, конечно почитаю будет момент!
|
|||
47
LivingStar
08.04.13
✎
08:26
|
(45)
так тогда! // РН.Закупки Набор_1 = РегистрыНакопления.Закупки.СоздатьНаборЗаписей(); Набор_1.Отбор.Регистратор.Установить(Ссылка); // РН.РасчетыСКонтрагентами Набор_2 = РегистрыНакопления.РасчетыСКонтрагентами.СоздатьНаборЗаписей(); Набор_2.Отбор.Регистратор.Установить(Ссылка); // РН.ВзаиморасчетыСКонтрагентами Набор_3 = РегистрыНакопления.ВзаиморасчетыСКонтрагентами.СоздатьНаборЗаписей(); Набор_3.Отбор.Регистратор.Установить(Ссылка); Если ЭтоНовый Тогда Набор_1.Прочитать(); Набор_2.Прочитать(); Набор_3.Прочитать(); Иначе КонецЕсли; |
|||
48
Wobland
08.04.13
✎
08:31
|
Если ЭтоНовый Тогда
Набор_1.Прочитать(); это, конечно, сильно |
|||
49
NWsFF
08.04.13
✎
08:33
|
Не создавай наборы записей они у тебя уже есть.
Набор_1 = РегистрыНакопления.Закупки.СоздатьНаборЗаписей(); Набор_1.Отбор.Регистратор.Установить(Ссылка); заменить на Набор_1 = Движения.Закупки; аналогично и другой регистр. Если у документа не стоит в движениях свойство удалять движения автоматически то заменить на Набор_1 = Движения.Закупки; Набор_1.Очистить(); //.....заполняешь как тебе надо Движения.Закупки.Записывать = Истина; |
|||
50
LivingStar
08.04.13
✎
08:45
|
(49) а где они есть если документ только создан? я же их не создавал?!
|
|||
51
LivingStar
08.04.13
✎
08:46
|
(49)
| //НоваяЗапись.РасчетыВозврат = Движения.РасчетыСКонтрагентами.Записывать = Истина; РасчетыСКонтрагентами.Записать(); | это то есть лишнее? | РасчетыСКонтрагентами.Записать(); |
|||
52
NWsFF
08.04.13
✎
08:47
|
Да, а наборы записе
|
|||
53
NWsFF
08.04.13
✎
08:47
|
+наборы записей создал сам документ и даже заботливо туда регистратора присвоил
|
|||
54
LivingStar
08.04.13
✎
08:49
|
(53) а в смысле удалять движения аквтоматически свойство у документа
|
|||
55
LivingStar
08.04.13
✎
08:49
|
а вот так верно будет?
| Если ЭтоНовый() Тогда Набор_1.Прочитать(); Набор_2.Прочитать(); Набор_3.Прочитать(); Иначе Набор_1.Очистить(); Набор_2.Очистить(); Набор_3.Очистить(); КонецЕсли; |
|||
56
Wobland
08.04.13
✎
08:51
|
(55) я так вижу, тебе читать совсем не нужно. старый набор идёт прахом?
|
|||
57
Любопытная
08.04.13
✎
09:02
|
(55) Если ЭтоНовый() Тогда
Набор_1.Прочитать(); Набор_2.Прочитать(); Набор_3.Прочитать(); Скажи мне, что ты читаешь, если ЭтоНовый()? У тебя нет никаких записей. НАпоминает мне того мальчика который меня тестировал на собеседовании и упорно доказывал, что если нет товара на складе, то в запросе будет 0, а не null. |
|||
58
NWsFF
08.04.13
✎
09:02
|
При проведении документа Если ЭтоНовый() Тогда никогда не выполнится, документ уже записан, он уже не новый. Ты перемудриваешь.
(54) Свойства документа -> Движения -> Удаление движений -Ю Выбор из 3 вариантов, не удалять автоматически, удалять автоматически при отмене проведения, удалять автоматически. Или же очищай наборы сам, только не проверяй новый это или нет очищай по умолчанию |
|||
59
LivingStar
08.04.13
✎
09:22
|
Если стоит удалять движения автоматически? то все будет контроллироваться автоматичестки очистка движений?
|
|||
60
dva1c
08.04.13
✎
09:56
|
(59) Если стоит "удалять автоматически, при отмене проведения", то удалится автоматически.
|
|||
61
dva1c
08.04.13
✎
09:57
|
+(60) В (58) так-то все рассказали. )
|
|||
62
scanduta
08.04.13
✎
10:00
|
Че фигней страдаете,... все движения надо делать через "ОбработкуПроведения"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |