Как записать пустое значение даты в базу через OLE? #356831


#0 by Masquerade
Я уперся. В случае с OLE - там остается дата. Не понимаю - почему??
#1 by Варвар
77 или 8.x?
#2 by Варвар
НайтиПоКоду(Контрагент); - возвращает ссылку. Она только для чтения.
#3 by Masquerade
Из 7.7 в 7.7
#4 by Masquerade
Вот это номер. Ничего не путаешь?
#5 by Masquerade
В ошибка конечно - OLEКонтрагент.НайтиПоКоду(Контрагент.Код);
#6 by Варвар
путаю многа. В 7-ке щас слаб. Если бы по 8-ке, помог бы, 7-ку слабо помню. Но там вроде так не получицца. Надо иначе, а как - не помню... Боян 3-х летний сложна :((
#7 by Masquerade
Парадокс в том, что чуть выше по коду он прописывает дату. Как раз в элементе полученным с помощью .НайтиПоКоду. А потом вдруг молча отказывается.
#8 by Cap_1977
OLEКонтрагент.ДатаДолга = '  .  .    ';
#9 by Дядя Васька
#10 by Masquerade
Мне ещё не пора. Пять минут назад я уже поправился - сюда я не копировал.
#11 by Варвар
скажи еще чо нить умное... посмеемся. Справочник...НайтиПоКоду что возвращает? Тип?
#12 by Варвар
Попробуй явно. Или: OLEКонтрагент.НайтиПоКоду(СокрЛП(Контрагент.Код)); Или там вроде еще были параметры насчет искать глобально, внутри владельца, внутри родителя. С ними еще надо попробовать.
#13 by Cap_1977
OLEКонтрагент.ДатаДолга = Дата;
#14 by Дядя Васька
Уговорил:
#15 by Masquerade
Да в том то и дело, что НайтиПоКоду - корректно находит элемент - проверял по наименованиям. И НайтиПоКоду возвращает единицу или ноль (это в 8-ке этот метод ссылки возвращает). В 7-ке метод ПОЗИЦИОНИРУЕТСЯ на найденом элементе справочника. Я и права проверил в базе куда пишу - всё нормально. Просто почему-то не пишет. И дело тут реально не в дате. Он также почему-то не пишет единицу.
#16 by Варвар
генийнах. Долго думал? Ты вооще про OLE 1С в курсе как что передается?
#17 by Masquerade
Дружище, ну не простыню же мне сюда постить? Естественно там проверки стоят, в случае ненахождения. Реально - всё находится.
#18 by Варвар
" В 7-ке метод ПОЗИЦИОНИРУЕТСЯ на найденом элементе справочника." На ссылку или объект?
#19 by Дядя Васька
Ну так и проверяй на единицу или ноль, а не по наименованиям. Кроме того, если код в пределах подчинения, можешь найти в одной группе, а смотреть потом в другой.
#20 by Masquerade
В 7.7-ке этот нюанс как-то обходится стороной. Явного разделения нет, на ссылки и объекты. Вроде как на объект.
#21 by Дядя Васька
На объект. Только вот как создавал вопрос, надеюсь БазаОле.CreateObject? С СоздатьОбъект там косяки какие-то.
#22 by Варвар
на работе было такое. Поиск, создание. Если стукнешь в аську завтра, попытаюсь найти пример.
#23 by КонецЦикла
Дата, число, строка - все это без проблем ОЛЕ понимает насколько помницца >>OLEКонтрагент.НайтиПоКоду(Контрагент); А вот это фигня написана, если ищем по коду надо передавать код наверное
#24 by Дядя Васька
Явного нет, зато неявное есть, если вместо CreateObject было что-то типа КонтрагентОле=ДокументОле.Контрагент, то ссылка и будет.
#25 by Masquerade
Мы с тобой в противофазе. Ну вот код.
#26 by Варвар
вот за что и не люблю 7-ку... явно никуя не пишется... Тока догадываться надо :(( :))
#27 by Masquerade
Секунду!
#28 by КонецЦикла
Мы с тобой в противогазе!
#29 by КонецЦикла
-> :)
#30 by Masquerade
#31 by Cap_1977
Давно с Олей не работал, агрессор нах. :)
#32 by КонецЦикла
Либо искать заново либо записывать ОДИН раз Зачем записывать один и тот же элемент ТРИ раза?
#33 by Masquerade
Последний вариант нагляднее. В первый раз всё срабатывает, так как дата ещё нигде не проставлена. Где-то ошибка?
#34 by КонецЦикла
Забаню! ЗЫ. За тупость
#35 by Masquerade
Какие три раза? Попадает только в одно условие.
#36 by Варвар
Контра.Новый де?
#37 by Варвар
(36+) я вооще могу тупить, все по 8-ке меряю :))
#38 by Masquerade
Кого??? Нафига? С Контра-то всё в порядке как раз.
#39 by Дядя Васька
Чет не понял, в сабже ты говоришь пустую не присваивает, а в "НЕ РАБОТАЕТ" у тебя ОлеКонтра.ДатаВозникновенияДолга=ОбрДата;
#40 by Варвар
После первой Запись становится ссылкой?
#41 by Дядя Васька
+ Далее по "иначе" вообще ничего не меняешь. Ты оладчиком-то смотрел по какой ветке идешь?
#42 by Masquerade
Ну вы даете. Не работает В ДВУХ местах. После первой запись элемент больше не трогается - получается из выборки другой.
#43 by Masquerade
Я попадаю в самое последнее условие - с этим все в порядке! Только я там запись не могу изменить!
#44 by Дядя Васька
#45 by Варвар
я выше писал что не помню как там в 7-ке.
#46 by Варвар
лять, опять возвращаемся к типу который возвращаетй НайтиПоКоду и как с этим работать. ИМХО.
#47 by Masquerade
Там Дату присваивать не нужно. Я думаю, что стоит обратить внимание на самое последнее НЕ РАБОТАЕТ. Разберемся с ней - понятно будет и с другой.
#48 by Дядя Васька
А не периодический ли реквизит случаем? :)
#49 by Дядя Васька
Так-то все правильно...
#50 by Masquerade
Да нет конечно!
#51 by Дядя Васька
Ну тогда так:
#52 by Masquerade
Жесть какая.
#53 by Дядя Васька
А в чем жесть? Дата константой в одинарных кавычках пишется, например '01.01.1980'. Еще в было аналогичное предложение, не лишенное смысла.
#54 by Masquerade
Последнюю ветвь условия я изменил на  иначе Надо ли говорить, что вместо девятки там всё равно - НОЛЬ?
#55 by Masquerade
Я нашёл ошибку. Ну а что - вторую ночь не сплю.
#56 by Дядя Васька
и где же она?
#57 by Дядя Васька
не иначе элемент задвоент, и пишешь все-таки не туда.. ))
#58 by Masquerade
В невнимательности. Код правильный. OLE правильное. Оставался только один вариант: Неправильный съём результатов. Я вносил изменения в одну OLE-базу, а результаты снимал с другой. Мне очень стыдно, парни, простите. Наделал тестовых копий и забыл переключится.
#59 by Дядя Васька
задвоент = задвоен, плюс код неуникальный, и вуаля..
#60 by Дядя Васька
Жесткач.. Две ночи? :))
#61 by Варвар
ууууу... соберемся и побъем тебя за развод :))
#62 by Masquerade
Ну, это часть большого замеса. Прошлую ночь спал три часа. В ПриОткрытии прописываестся путь к OLE-базе. Я что-то забыл уже - что и куда я вношу. Вечно так - быстрей-быстрей и в итоге получаестя черте что.
#63 by Masquerade
Только не это..
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С