Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите сделать запись
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Alex_fear
Делаю запись в форму списка вот код
Процедура ЗагрузитьЦенники(Конт) Экспорт
    НачатьТранзакцию();
    Ц=СоздатьОбъект("Справочник.Ценники");
    Конт.ВыбратьСтроки();
    Ном=0;
    К=0;
    Пока Конт.ПолучитьСтроку()=1 Цикл
        Если Конт.Товар.Вид()="ПереченьРабот" Тогда
            Продолжить;
        КонецЕсли;
        Если Конт.Товар.ВидТовара=Перечисление.ВидыТоваров.Услуга Тогда
            Продолжить;
        КонецЕсли;
        Если Ц.НайтиПоКоду(Конт.Товар.Код)=0 Тогда
                для К=1 по Конт.количество цикл
            Ц.Новый();
            Ц.Код=Конт.Товар.Код;
            Ц.КаталНомер=Конт.Товар.КаталНомер;
            Ц.Наименование=Конт.Товар.Наименование;
            Ц.Оригинал=Конт.Товар.Оригинал;
            Ц.СтранаПроизв=Конт.Товар.СтранаПроизв;
            Ц.Приведенный=Конт.Товар.Приведенный;
            Ц.Товар=Конт.Товар;
            Ц.Количество=Конт.количество;
            Ц.Записать();
             Ном=Ном+1;
          конеццикла;
               Состояние("Добавлено записей "+Ном);
        
            КонецЕсли;
            
              КонецЦикла;
    ЗафиксироватьТранзакцию();
    Сигнал();
    Предупреждение("Добавлено записей "+Ном);
КонецПроцедуры

в строке Ц.Записать();
выдает ошибку
Ц.Записать();
{Глобальный модуль(1312)}: Код не уникальный!

что делать???
MATEVI
Цитата(Alex_fear @ 26.08.09, 18:40) необходимо зарегистрироваться для просмотра ссылки
Делаю запись в форму списка вот код Ц.Записать();
{Глобальный модуль(1312)}: Код не уникальный!

что делать???

Вариант 1. Ересь smile.gif Отключить контроль уникальности у справочника Ценники
Вариант 2. Не писать в Ц.Код=Конт.Товар.Код а формирование кода оставить как есть по умолчанию. Если код писать нужно и обрабатывать его тогда лучше сделать отдельный реквизит с сортировкой о искать потом по нему.

Не
Если Ц.НайтиПоКоду(Конт.Товар.Код)=0 Тогда
а
Если Ц.НайтиПоРеквизиту() ....
Alex_fear
Отключил контроль уникальности и все ок!! Спасибо за подсказку!!!
Vofka
Цитата
Отключил контроль уникальности и все ок!! Спасибо за подсказку!!!


Только ж имейте ввиду: если контроль уникальности там стоял - значит разработчкики решили, что он там нужен. При его отключении Вы сами отвечаете за последствия.
MATEVI
Цитата(Alex_fear @ 27.08.09, 10:15) необходимо зарегистрироваться для просмотра ссылки
Отключил контроль уникальности и все ок!! Спасибо за подсказку!!!

Я ж написал что это не правильно. И рекомендую рассмотреть В.2
acpav
для К=1 по Конт.количество цикл
Ц.Новый();
Ц.Код=Конт.Товар.Код;
В цикле добавляется новая запись, а код не меняется и нарушается правило уникальности.
Vofka
А что передается в контексте?
MATEVI
Цитата(Vofka @ 01.09.09, 11:05) необходимо зарегистрироваться для просмотра ссылки
А что передается в контексте?

Это не тот Контекст который например в глобальном модуле. Если ты это имел ввиду. С таким же успехом это может быть Спр или ТТТ smile.gif
Vofka
Цитата
Это не тот Контекст который например в глобальном модуле.


А какой? И что такое ТТТ?
MATEVI
Та ну ладно 31000000.gif
Цитата(Vofka @ 01.09.09, 16:13) необходимо зарегистрироваться для просмотра ссылки
А какой?

глПроводка(Контекст,"64.1.5",Счет372,СуммаНДС,"Потрачено по аванс. отчету (НДС)",,ВидНДС,,,

Цитата(Vofka @ 01.09.09, 16:13) необходимо зарегистрироваться для просмотра ссылки
И что такое ТТТ?

ТТТ = СоздатьОбъект("Справочник.ТМЦ")
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.