Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / v8 непонятки с регистром сведений / 19 сообщений из 19, страница 1 из 1
02.12.2011, 15:26
    #37556247
tvm
tvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
создаются в цикле РеализацияТоваровУслуг. когда получаю счета учета расчетов с контрагентами, то проверяю есть там что нибудь или нет. если нет то записываю в регистр сведений и пробую снова получить счета учета расчетов с контрагентами.
получается что когда второй раз получаю счета, то они выходят пустые (после записи в регистр сведений). при повторном запуске обработки спотыкается на следующем контрагенте у которого нет счетов, а у контрагента на котором споткнулся перед этим выходит все нормально. в чем может быть затык?
вот код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
СчетаУчета = БухгалтерскийУчетРасчетовСКонтрагентами.ПолучитьСчетаРасчетовСКонтрагентом(НовыйДокумент.Организация,
                                                      нужныйконтр, НовыйДокумент.ДоговорКонтрагента);
Если (СчетаУчета.СчетРасчетовПокупателя = Неопределено) ИЛИ (СчетаУчета.СчетАвансовПокупателя = Неопределено) Тогда
	НаборЗаписей = РегистрыСведений.СчетаУчетаРасчетовСКонтрагентами.СоздатьНаборЗаписей();
	НаборЗаписей.Отбор.Организация.Установить(НовыйДокумент.Организация);
	НаборЗаписей.Отбор.Контрагент.Установить(нужныйконтр);
	НоваяЗапись = НаборЗаписей.Добавить(); 
	НоваяЗапись.Организация = НовыйДокумент.Организация;
	НоваяЗапись.Контрагент = нужныйконтр;
	НоваяЗапись.ВидРасчетовПоДоговору = Перечисления.ВидыРасчетовПоДоговорам.РасчетыВВалютеРегламентированногоУчета;
	НоваяЗапись.СчетУчетаРасчетовСПокупателем = ?(естьндс,СчетРасчетовСПокупателем,
                                                                                        СчетРасчетовСПокупателемБезНДС); 
	НоваяЗапись.СчетУчетаАвансовПолученных= СчетАвансовСПокупателем; 
	НаборЗаписей.Записать(); 
	СчетаУчета = БухгалтерскийУчетРасчетовСКонтрагентами.ПолучитьСчетаРасчетовСКонтрагентом(НовыйДокумент.Организация,
                                                                              нужныйконтр, НовыйДокумент.ДоговорКонтрагента);
КонецЕсли;
НовыйДокумент.СчетУчетаРасчетовСКонтрагентом = СчетаУчета.СчетРасчетовПокупателя;
НовыйДокумент.СчетУчетаРасчетовПоАвансам = СчетаУчета.СчетАвансовПокупателя;
...
Рейтинг: 0 / 0
02.12.2011, 16:03
    #37556340
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
С ходу - НаборЗаписей.прочитать - где? или вы их обнуляете перед записью? Тогда где записать?
...
Рейтинг: 0 / 0
02.12.2011, 16:13
    #37556361
sWinTyz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
а нужно?
...
Рейтинг: 0 / 0
02.12.2011, 16:16
    #37556365
sWinTyz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
меня смущает только отсутствие отбора по договору перед записью
да и в регистр он не пишется
проиходит как бы запись на все договоры контрагента
причем ... ладно
...
Рейтинг: 0 / 0
02.12.2011, 16:17
    #37556369
sWinTyz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
это Вам не "Просто треп"
...
Рейтинг: 0 / 0
02.12.2011, 16:24
    #37556394
tvm
tvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
Программист 1сС ходу - НаборЗаписей.прочитать - где? или вы их обнуляете перед записью? Тогда где записать?
считывание происходит в процедуре БухгалтерскийУчетРасчетовСКонтрагентами.ПолучитьСчетаРасчетовСКонтрагентом

sWinTyzменя смущает только отсутствие отбора по договору перед записью
да и в регистр он не пишется
проиходит как бы запись на все договоры контрагента
причем ... ладно
если заносить ручками без договора то все нормально отрабатывает, так что это не принципиально

ps конфа кстати бух2.0
а попытка/исключение/конецпопытки может быть виновата?
...
Рейтинг: 0 / 0
02.12.2011, 16:44
    #37556455
sWinTyz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
ну с учетом того что тут "все нормально"
написанный код вполне имеет место быть
криминала не вооруженным взглядом не видно
...
Рейтинг: 0 / 0
02.12.2011, 16:50
    #37556474
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
tvmps конфа кстати бух2.0
а попытка/исключение/конецпопытки может быть виновата?

Попробуйте отключить, скорее всего это оно. Я так полагаю, физически запись произойдет после "КонецПопытки".
...
Рейтинг: 0 / 0
02.12.2011, 17:01
    #37556514
tvm
tvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
DmitriyZПопробуйте отключить, скорее всего это оно. Я так полагаю, физически запись произойдет после "КонецПопытки".
нет не помогло
...
Рейтинг: 0 / 0
02.12.2011, 17:13
    #37556558
sWinTyz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
код по ходу не весь?
...
Рейтинг: 0 / 0
02.12.2011, 17:22
    #37556583
tvm
tvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
sWinTyz,

нет не весь. вроде ничего такого что может повлиять на этот кусок нет

пробовал перед добавлением прочитать набор- тож самое
почему ж при повторном запуске все заполняет? если после того как обработка остановится и зайти в регистр сведений посмотреть то записей, которые должны добавиться не видно
...
Рейтинг: 0 / 0
02.12.2011, 17:43
    #37556635
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
А мне всеравно не понятно.
СчетаУчета = БухгалтерскийУчетРасчетовСКонтрагентами.ПолучитьСчетаРасчетовСКонтрагентом(НовыйДокумент.Организация,нужныйконтр, НовыйДокумент.ДоговорКонтрагента)
Почему 2 раза?

Зачем
НаборЗаписей.Отбор.Организация.Установить(НовыйДокумент.Организация);
НаборЗаписей.Отбор.Контрагент.Установить(нужныйконтр);
если вы ими не пользуетесь?

Вы уверены что регистр пустой перед записью?
...
Рейтинг: 0 / 0
02.12.2011, 17:52
    #37556665
tvm
tvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
Программист 1сА мне всеравно не понятно.
СчетаУчета = БухгалтерскийУчетРасчетовСКонтрагентами.ПолучитьСчетаРасчетовСКонтрагентом(НовыйДокумент.Организация,нужныйконтр, НовыйДокумент.ДоговорКонтрагента)
Почему 2 раза?

первый раз обращаюсь- получаю либо что-то либо ничего. если ничего то добавляю записи и снова пытаюсь получить.
можно конечно тупо присвоить значения, но хочется как-то "более правильно"

Программист 1сЗачем
НаборЗаписей.Отбор.Организация.Установить(НовыйДокумент.Организация);
НаборЗаписей.Отбор.Контрагент.Установить(нужныйконтр);
если вы ими не пользуетесь?

Вы уверены что регистр пустой перед записью?
а разве не нужно отбор устанавливать при записи? я где-то в примерах нашел что так было
да пустой, по крайней мере по тому контрагенту по которому отбор делаю

у меня ощущение что запись происходит только 1 раз т.е. наткнулись на контрагента без счетов, записали а вот на следующем уже спотыкается. как будто что-то где-то не уничтожено/обнулено
...
Рейтинг: 0 / 0
02.12.2011, 18:18
    #37556736
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
Ага тоесть регистр у вас пустой (СчетаУчета.СчетРасчетовПокупателя = Неопределено) - иначе бы нижний код выдавал ошибку.

Ок - ну тогда проще было бы МенеджерЗаписи воспользоваться.

а то что с 2 раза... - а что за ругательство выдает?
...
Рейтинг: 0 / 0
05.12.2011, 10:08
    #37558795
tvm
tvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
Программист 1сАга тоесть регистр у вас пустой (СчетаУчета.СчетРасчетовПокупателя = Неопределено) - иначе бы нижний код выдавал ошибку.

Ок - ну тогда проще было бы МенеджерЗаписи воспользоваться.

а можно пример с менеджеромзаписи?
Программист 1са то что с 2 раза... - а что за ругательство выдает?
{ОбщийМодуль.ОбщегоНазначения.Модуль(4158)}: Ошибка при вызове метода контекста (ЗначениеЗаполнено)
Если НЕ ЗначениеЗаполнено(ЭлементСправочника) Тогда
по причине:

по причине:
Проверка мутабельных значений на заполненность не поддерживается
...
Рейтинг: 0 / 0
05.12.2011, 10:45
    #37558840
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
ЭлементСправочника содержит не ссылка на справочник а например структуру.
...
Рейтинг: 0 / 0
05.12.2011, 10:49
    #37558845
tvm
tvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
Программист 1сЭлементСправочника содержит не ссылка на справочник а например структуру.
с этим-то как раз все понятно мне. идет проверка при проведении на заполненность реквизитов в документе "СчетУчетаРасчетовСКонтрагентом" и "СчетУчетаРасчетовПоАвансам". и так как они не указаны то возникает ошибка
...
Рейтинг: 0 / 0
05.12.2011, 11:04
    #37558870
tvm
tvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
похоже нашел в чем косяк сделал- если контрагент уже есть в базе то передавалась ссылка, а если не найден то создавался и в переменную передавался объект. счас копию восстановлю и проверю
...
Рейтинг: 0 / 0
05.12.2011, 11:18
    #37558898
tvm
tvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v8 непонятки с регистром сведений
ну да все так и есть. дебил блин
всем спасибо за помощь
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / v8 непонятки с регистром сведений / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]