powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / 1C8.1 и Delphi
8 сообщений из 8, страница 1 из 1
1C8.1 и Delphi
    #35475890
Иван2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишу экспорт из моей базы в 1С. Есть РегистрСведений.ЦеныНоменклатуры как получить к нему доступ из Delphi? Когда писал экспорт самой номенклатуры было вот так...

Код: plaintext
NewDrink := onesobj.Справочники.Номенклатура;

а по такой же схеме неполучается про регистры... т.е. строчка:

Код: plaintext
SSPriceCO := onesobj.РегистрСведений.ЦеныНоменклатуры;

не работает...

как быть?
...
Рейтинг: 0 / 0
1C8.1 и Delphi
    #35475972
Паля
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Справочники - мн.ч.
РегистрСведений - ед.ч
...
Рейтинг: 0 / 0
1C8.1 и Delphi
    #35476048
Иван2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как создавать элементы с Регистре?
...
Рейтинг: 0 / 0
1C8.1 и Delphi
    #35476446
asp666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван2008А как создавать элементы с Регистре?

Экспорт из чего-либо в 1С писать лучше в самой 1С. Так проще будет.
...
Рейтинг: 0 / 0
1C8.1 и Delphi
    #35476905
_VVP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван2008Пишу экспорт из моей базы в 1С. Есть РегистрСведений.ЦеныНоменклатуры как получить к нему доступ из Delphi? Когда писал экспорт самой номенклатуры было вот так...
Код: plaintext
NewDrink := onesobj.Справочники.Номенклатура;
а по такой же схеме неполучается про регистры... т.е. строчка:
Код: plaintext
SSPriceCO := onesobj.РегистрСведений.ЦеныНоменклатуры;
не работает...
как быть?
Регистры - специальные объекты, служащие для хранения и накопления аналитических данных.
Как правило, все регистры имеют т.н. регистраторов - т.е. документов, которые процедурой сохранения/проведения осуществляют запись в регистры и поддерживают логическую целостность прикладной области.

В Вашем случае регистр сведений "ЦеныНоменклатуры" наверняка имеет 2-х регистраторов - "УстановкаЦенНоменклатуры" и "КорректировкаЗаписейРегистров". А это означает, что записи регистра должны быть жестко привязаны к регистратору.
Создать записи в регистре, который подчиняется регистратору, без указания регистратора у Вас не получиться.

По идее Вы должны создавать документы (и строки к нему) УстановкаЦенНоменклатуры, а потом проводить его.

Что касается методов записи в регистры, то вам надо открыть конфигуратор, открыть справку и там читать секцию: Встроенный язык - Прикладные объекты - Регистры сведений.
Объект для записи в регистры сведений: РегистрСведенийНаборЗаписей.
Пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
SSPriceCO := onesobj.InformationRegistersManager["ЦеныНоменклатуры"].CreateRecordSet();
NewPrice := SSPriceCO.Add();
NewPrice.Recorder := ????; // вот тут вы попадаете на проблему
NewPrice["Цена"] :=  1234 . 56 ;
...
SSPriceCO.Write(False);
...
Рейтинг: 0 / 0
1C8.1 и Delphi
    #35476922
_VVP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_VVP_Пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
SSPriceCO := onesobj.InformationRegistersManager["ЦеныНоменклатуры"].CreateRecordSet();
NewPrice := SSPriceCO.Add();
NewPrice.Recorder := ????; // вот тут вы попадаете на проблему
NewPrice["Цена'"] :=  1234 . 56 ;
...
SSPriceCO.Write(False);

Виноват, вместо двойных кавычек надо ставить одинарные.
...
Рейтинг: 0 / 0
1C8.1 и Delphi
    #35477666
1эснегг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_VVP_ Иван2008Пишу экспорт из моей базы в 1С. Есть РегистрСведений.ЦеныНоменклатуры как получить к нему доступ из Delphi? Когда писал экспорт самой номенклатуры было вот так...
Код: plaintext
NewDrink := onesobj.Справочники.Номенклатура;
а по такой же схеме неполучается про регистры... т.е. строчка:
Код: plaintext
SSPriceCO := onesobj.РегистрСведений.ЦеныНоменклатуры;
не работает...
как быть?
Регистры - специальные объекты, служащие для хранения и накопления аналитических данных.
Как правило, все регистры имеют т.н. регистраторов - т.е. документов, которые процедурой сохранения/проведения осуществляют запись в регистры и поддерживают логическую целостность прикладной области.

В Вашем случае регистр сведений "ЦеныНоменклатуры" наверняка имеет 2-х регистраторов - "УстановкаЦенНоменклатуры" и "КорректировкаЗаписейРегистров". А это означает, что записи регистра должны быть жестко привязаны к регистратору.
Создать записи в регистре, который подчиняется регистратору, без указания регистратора у Вас не получиться.

По идее Вы должны создавать документы (и строки к нему) УстановкаЦенНоменклатуры, а потом проводить его.

Что касается методов записи в регистры, то вам надо открыть конфигуратор, открыть справку и там читать секцию: Встроенный язык - Прикладные объекты - Регистры сведений.
Объект для записи в регистры сведений: РегистрСведенийНаборЗаписей.
Пример:
Код: plaintext
1.
2.
3.
4.
5.
SSPriceCO := onesobj.InformationRegistersManager["ЦеныНоменклатуры"].CreateRecordSet();
NewPrice := SSPriceCO.Add();
NewPrice.Recorder := ????; // вот тут вы попадаете на проблемуNewPrice["Цена"] :=  1234 . 56 ;
...
SSPriceCO.Write(False);

Ну дык, надо создать специальный фантомный дельфёвый документ-регистратор, рас религия требует того
...
Рейтинг: 0 / 0
1C8.1 и Delphi
    #35477957
_VVP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1эснеггНу дык, надо создать специальный фантомный дельфёвый документ-регистратор, рас религия требует тогоНе надо называть этот документ-регистратор фантомным. Как раз это реальный документ, датированный моментом выгрузки в 1С, с указанием, что это автоматически созданный документ.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / 1C8.1 и Delphi
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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