#0
by Oleg01
Как сравнить непериодический независимый регистр сведений и документ?Если в регистре нету записи то записать из значения из документа.
#1
by Hadgehogs
Ну заведи измерение, которое будет ссылкой на документ.Или сделай его подчиненным регистратору - этому документу - это будет правильней.
#2
by angro
это лучше up пиши, чем новые темы создавать.Если в регистре нет ссылки на документ, то IMHO никак. (через журнал регистраций не считается). Если есть то тривильно, обходишь документы и проверяешь наличие записей.
#3
by Ахмед ибн Фадлан
Я могу ошибаться, но если регистр сведений непериодический, то может быть только одна запись с данным набором измерений. Можешь смело писать, если такой нету - запишется, если нету - перепишется.
#4
by Oleg01
Мне нужен собственно кусок кода как сравнивать, хотя бы приблизительно, я просто только недавно начал кодить и не пойму ещё всю логику как записывать Если Тогда...Мне нужен код - как сравнить а куда его вставить я знаю.
#5
by Hadgehogs
Есть регистр сведений Тест, в нем 2 измерения: Документ (тип - ссылка на нужный тебе документ), и Номенклатура (тип - ссылка на справочник Номенклатура) и один ресурс - Количество.Собственно примерный код:
#6
by Ахмед ибн Фадлан
Да просто попытайся вытащить из этого регистра запись с нужным (заданным в твоем документе) набором значений измерений. Если такая запись есть - значит все. Если ее нету - то нужно писать.
#9
by Oleg01
Не могу понять!Вот регистр у меня имеет следующую структуру:Измерения:-организация-номенклатураРесурсы:-СчетУчетаБУ-СчетУчетаВРозницеБУ-СчетУчетаПередачиБУ-СчетУчетаНДСПриобретений-СчетУчетаНДСПродаж-ВидНалоговойДеятельности-Амортизируется-УчитываетсяКакЗапасНУ...А документ "ОприходованиеТоваров" имеет ряд реквизитов и ТЧТак мне надо получается перебрать док и его ТЧ, затем сам РС и проверить на запись.Не вдупляюсь как то...
#10
by Ахмед ибн Фадлан
2 Если в запросе из 7 ты передашь в качестве параметра Номенклатура список значений из многострочной части, то тебе вернется сразу не одна, а несколько записей. Потом перебираешь строки и находишь запись в запросе - если не находишь, то нужно создать запись.
#12
by Hadgehogs
Не обязательно ломать стены о голову...Можно так:КонецПопытки;Только обязательно учесть А то он взаправду переписывает
#13
by Oleg01
Вот примерно так получилось:-------------------------------Только вот косяк, он пишет что поле объекта "СчетУчетаБУ" не обнаружено...Почему?
#14
by Hadgehogs
Попробуй:НоваяЗапись.СчетУчетаБУ = СтрокаТЧ .СчетУчетаБУ;а вообще на тебя Angro не найдется. Он бы тебя быстро вразумил каким - нибудь хитрым запросов, в котором вложенный запрос, или скорее всего объединение таблицы регистра с таблицей документа.Меня он тоже часто вразумляет.
#15
by angro
а я правильно понял что у тебя оприходований с одним и тем же набором записей не может быть?потому что если может быть, то как отличить каким документом сделана запись?Hadgehogs правильно говорит, сделай его зависимым.По поводу ошибки: попробуй так| Документ.ОприходованиеТоваров.Товары(табличная часть в общем) КАК ОприходованиеТоваровтогда так будет Выборка.СчетУчетаБУ
#17
by Oleg01
И ещё. Выдаёт мне следующую ошибку:--------------------------------------------{Форма.Отчет}: Ошибка при вызове метода контекста (Записать): Запись не верна! : (Регистр сведений: Номенклатура организаций; Поле: Организация) НаборЗаписей.Записать;по причине:Запись не верна! : (Регистр сведений: Номенклатура организаций; Поле: Организация)----------------------------------------------это если я половину записей закомментировал:------------------------------------------------------
#18
by Hadgehogs
В первом приближении возможнаяНаборЗаписей = РегистрыСведений.НоменклатураОрганизаций.СоздатьНаборЗаписей;надо создать перед всеми цикламиНадо выполнять после всех циклов ( значало мы фомрируем много записей в памяти, потом их скидываем на диск, вроде так) НаборЗаписей.Записать;Это будет быстрее, но по идее твой код не ошибочен.Может ты сделал регистр подчиненным?
#19
by angro
(табличная часть в общем) - это значит название твоей табличной части, я предполагаю что Товары, но не уверен.Ну да видимо не заполняешь измерения, а надоНоваяЗапись.Организация = Выборка.ссылка.Организация.А всё таки ответь, если у тебя будет 2 документа с одинаковым содержимым, как ты определишь какаие записи к какому документу относятся?
#20
by Oleg01
Надеюсь документов с одинаковім содержимым не будет.Я так просмотрел - не должно быть.--------------------------------------Теперь ещё одна ошибка выскакивает:{Форма.Отчет}: Поле объекта не обнаружено (Ссылка) НоваяЗапись.Организация = Выборка.Ссылка.Организация;
#21
by Hadgehogs
вы строкой запроса | ОприходованиеТоваров.Ссылка КАК Документ,выбираете ссылку на документ и даете ей псевдоним "Документ", поэтомуНоваяЗапись.Организация = Выборка.Документ.Организация;Подчините регистр этому документу
#22
by Oleg01
Нет! Конфигурацию менять не имею права. Всё єто я делаю внешней обработкой. Регистр должен быть независимым!
#24
by Oleg01
Усё, сделал, осталось маленькое условие там включить.Спасибо всем кто помагал.Если интересно - правильный код ниже:------------------------------------------------------------------------
#25
by Hadgehogs
Если интересно, более правильный код - выше В ты создаешь набор записей для 1-ой записи и пишешь на диск 1-у запись регистра.При больших V-информации - это долго.Оприходование - в принципе небольшой документ, да и нечастый, может это и несущественно, но это только порядок строк поменять, решать тебе...
#26
by angro
если повторяющихся документов не будет тогда проще так уже.я бы так попробвал без лишних проверок
#28
by angro
а чего моё мнение, я тоже думаю что лучше один раз записывать.+ ошибся в записи конечно же надо отбор тоже устанавливать НаборЗаписей.Отбор.Организация.Установить(тДокумент.Организация); НаборЗаписей.Отбор.Номенклатура.Установить(СтрокаТЧ.Номенклатура);
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Регистр ПартииНаличие и Регистр ОстаткиТМЦ
- Регистр сведений или регистр накоплений. Опыта работы с v8 нет.
- Надо сравнить ТЧ с ТЗ
- как сравнить тип значения в COM соединение
- Сравнить, объединить с конфигурацией из файла
- Какой регистр сведений лучше? Регистр с одними ресурсами или с одними измерениями?
- Что выбрать: регистр накопления или регистр сведений?
- Конертация кд2 независимый регистр сведений в независиый рег сведений
- Учет количества в разрезе складов регистр сведений или регистр накопления
- УТ 11.2 (УТАП) + ЕГАИС перемещение между регистр 1 и регистр 2 (торговый зал)
В этой группе 1С
- регистр учета начисления налогов, включаемых в состав расходов
- Как программно определить Структуру подчиненности?
- Загрузка в УПП справочника из Excel
- Как отсторнировать излишне начисленое пособие в ЗиК?
- надо сделать нумерацию страниц в книге продаж
- Отслеживание договоров в бухгалтерии 7.7
- v7: Получить остаток по товару в колонке Остаток в форме списка спр. Номенклатура
- Заполнение табличной части документа.
- Запуталась :( В каком случае аванс может не попадать в книгу покупок?
- Проблема с COM!
- Обращение к текстовому полю в Word
- Выгрузка проводок по алиментам
- Свод проводок, не попадает Оплата б/л за счет работодателя
- Перевод кода с английского на русский
- Помогите разобраться с командой ВыбратьПоЗначению
- Как измерить количество строк в секции (1С 7.7) ?
- HASP. Как освободить зависшие лицензии
- v7: Как открыть программно группу в справочнике?
- где можно найти правило RTr9_AC4.xml
- Ошибка в запросе