Имя: Пароль:
1C
1С v8
Как установить владельца еденицы хранения остатков в номенклатуре
,
0 matizov
 
01.02.13
07:46
Здравствуйте!
Пишу:
Процедура КнопкаВыполнитьНажатие(Кнопка)
   Выборка = Справочники.Номенклатура.Выбрать(Справочники.Номенклатура.НайтиПоКоду("00000012209"));
   Пока Выборка.Следующий() Цикл
       Объект = Выборка.Ссылка;
       ЕдИзмН = Объект.БазоваяЕдиницаИзмерения;
       аяЕдИзм.Коэффициент = 1;
       
       ВыборкаЕдИзм = Справочники.ЕдиницыИзмерения.Выбрать(,Объект);
       Пока ВыборкаЕдИзм.Следующий() Цикл
           Объект.ЕдиницаДляОтчетов.Владелец = Справочники.ЕдиницыИзмерения.НайтиПоКоду(ЕдИзмН.Код);
           Объект.ЕдиницаХраненияОстатков.Владелец = Справочники.ЕдиницыИзмерения.НайтиПоКоду(ЕдИзмН.Код);
           Объект.Записать();            
           Прервать;
       КонецЦикла;
   КонецЦикла;
КонецПроцедуры

Что не так? Почему у меня владелец для ЕденицыХраненияОстатков не устанавливается?
1 Cube
 
01.02.13
07:48
(0) потому что ты работаешь с ссылками, а не с объектами.
2 cw014
 
01.02.13
07:48
А объект за тебя кто получать будет?
3 cw014
 
01.02.13
07:49
(1) Опередил
4 matizov
 
01.02.13
07:51
а как его получить?
5 Godofsin
 
01.02.13
07:52
получитьОбъект()
6 Cube
 
01.02.13
07:53
(4) СП украли?

СправочникСсылка.<Имя справочника>.ПолучитьОбъект (CatalogRef.<Имя справочника>.GetObject)
СправочникСсылка.<Имя справочника> (CatalogRef.<Имя справочника>)
ПолучитьОбъект (GetObject)
Синтаксис:

ПолучитьОбъект()
Возвращаемое значение:

Тип: СправочникОбъект; Неопределено.
Неопределено - объекта в базе нет (например, при обмене данными или после непосредственного удаления объекта, на который есть ссылки).
Описание:

Получает по ссылке объект, предназначенный для чтения, изменения, добавления и удаления справочника.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Пример:

ТипыНоменклатуры = Перечисления.ТипыНоменклатуры;
Если ТоварСсылка.ТипНоменклатуры = ТипыНоменклатуры.ПустаяСсылка() Тогда
   Объект = ТоварСсылка.ПолучитьОбъект();
   Объект.ТипНоменклатуры = ТипыНоменклатуры.Товар;
   Попытка
       Объект.Записать();
   Исключение
       Текст = "ru = ""Не удалось записать объект"";"
          + " en = ""Can't write the object""";
       Предупреждение(НСтр(Текст) " """ + Объект + """!
          |"+ ОписаниеОшибки(),60);
   КонецПопытки;
КонецЕсли;
7 matizov
 
01.02.13
08:00
все равно не устанавливает. и при попытке записать номенклатуру вручную, выдает ошибки:
Неверно указан владелец единицы хранения остатков!
Неверно указан владелец единицы для отчетов!
8 Cube
 
01.02.13
08:00
(7) Код-то покажи, тут телепатов нет, что ты там понаписал опять...
9 cw014
 
01.02.13
08:01
(7) За такое (0) сажать надо на 10 лет
10 Godofsin
 
01.02.13
08:03
(9) +++
11 matizov
 
01.02.13
08:05
Процедура КнопкаВыполнитьНажатие(Кнопка)
   Выборка = Справочники.Номенклатура.Выбрать(Справочники.Номенклатура.НайтиПоКоду("00000012209"));
   Пока Выборка.Следующий() Цикл
       Объект = Выборка.ПолучитьОбъект();
       ЕдИзмН = Объект.БазоваяЕдиницаИзмерения;
       //ВыборкаЕдИзм = Справочники.ЕдиницыИзмерения.Выбрать(,Выборка.Ссылка);
       //Если  ВыборкаЕдИзм.Следующий() = Ложь Тогда
       //    НоваяЕдИзм = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
       //    НоваяЕдИзм.ЕдиницаПоКлассификатору = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду(ЕдИзмН.Код);
       //    НоваяЕдИзм.Наименование =  ЕдИзмН.Наименование;
       //    НоваяЕдИзм.Коэффициент = 1;
       //    НоваяЕдИзм.Владелец = Выборка.Ссылка;
       //    НоваяЕдИзм.Записать();
       //КонецЕсли;
       
       ВыборкаЕдИзм2 = Справочники.ЕдиницыИзмерения.Выбрать(,Объект);
       Пока ВыборкаЕдИзм2.Следующий() Цикл
           Объект.ЕдиницаДляОтчетов.Владелец = Справочники.ЕдиницыИзмерения.НайтиПоКоду(ЕдИзмН.Код);
           Объект.ЕдиницаХраненияОстатков.Владелец = Справочники.ЕдиницыИзмерения.НайтиПоКоду(ЕдИзмН.Код);
           Объект.Записать();            
           Прервать;
       КонецЦикла;
   КонецЦикла;
КонецПроцедуры
12 matizov
 
01.02.13
08:06
За что это нужно сажать? Назовите мне хоть одну книгу, написанную на понятном языке о языке 1с 8.2!!!
13 matizov
 
01.02.13
08:07
Я перехожу с 7.7 и для меня еще не все понятно!
14 cw014
 
01.02.13
08:07
Посмотри хотя бы примеры. Почитай Радченко
15 Cube
 
01.02.13
08:07
(12) Я тебе даже не одну могу назвать: http://v8.1c.ru/metod/books
16 matizov
 
01.02.13
08:09
Хоть одна там есть по ЯЗЫКУ! про то что записывать можно только при ссылке на объекты и т.д.?
17 Godofsin
 
01.02.13
08:10
(11) Объект.ЕдиницаДляОтчетов.Владелец = Справочники.ЕдиницыИзмерения.НайтиПоКоду(ЕдИзмН.Код);
           Объект.ЕдиницаХраненияОстатков.Владелец = Справочники.ЕдиницыИзмерения.НайтиПоКоду(ЕдИзмН.Код);

Это чо? Ты ед.изм. назначешь владельцем ед.изм. Там номенклатура должна быть
18 Godofsin
 
01.02.13
08:10
и вообще, задача какая?
19 cw014
 
01.02.13
08:11
Процедура КнопкаВыполнитьНажатие(Кнопка)
   СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоКоду("00000012209");
   Объект = СсылкаНоменклатуры.ЕдиницаДляОтчетов.ПолучитьОбъект();
   Объект.Владелец = СсылкаНоменклатуры;
   Объект.ОбменДанными.Загрузка = Истина;
   Объект.Записать();
КонецПроцедуры
20 cw014
 
01.02.13
08:11
С тебя 100500 рублев
21 cw014
 
01.02.13
08:11
И не надо "ляля" про то что у Радченко непонятно написано. Сам переходил с 7 на 8 по Радченко - все предельно понятно
22 matizov
 
01.02.13
08:12
Радченко описывает 8.2 в общем: как создать формы, как пользоваться конструктором и т.д. а меня интересует именно написание мелких каких то обработок, изменения данных базы.
Например: Мне нужно что бы у всей номенклатуры, у которой нет единицы изменения она создалась, и проставилась как еденицадляхранения остаков.
23 cw014
 
01.02.13
08:12
Покури хотя бы классы и их экземпляры классов в ООП. Абстрактно, что бы знать, что делаешь.
24 cw014
 
01.02.13
08:12
(22) Не ври
25 matizov
 
01.02.13
08:13
Это предельно понятно, когда изучаешь книгу от корки до корки, а когда внедряешь упп и переносишь справочники и остатки из бухгалтерии 7.7, полностью переписанной, тогда неизвестно откуда что брать.
26 matizov
 
01.02.13
08:15
У меня затерлись все единицы номенклатуры в подчиненном справочнике единицы номенклатуры.  я их создал заново. и теперь мне нужно переустановить в номенклатуре еденицудляхраненияостатков.
27 cw014
 
01.02.13
08:16
(25) Знаешь, вот точно в такой же ситуации и изучал восьмерку. Начинал с УПП. И переносил остатки с 12 баз бухии в одну УПП в разрезе организаций
28 matizov
 
01.02.13
08:17
у меня затерлись все единицы измерения в справочнике номенклатура, я их создал по новой. теперь мне нужно переустановить еденицудляхраненияостатков в справочнике номенклатура.
29 matizov
 
01.02.13
08:18
хорошо. где конкретно написан язык 8.2. Мне нужен именно он!
30 cw014
 
01.02.13
08:19
(26) Все, млин, ничего больше не скажу, пока не включишь моск
(29) Конкретно от корки до корки в СП
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший