Имя: Пароль:
1C
1С v8
Магия 1С
🠗 (Волшебник 28.01.2014 11:33)
0 Melcor
 
28.01.14
11:31
Доброго дня. Знающие люди, подскажите! 1С 8.2 Как 1.1.43.1 В интерфейс кассира добавлена кнопка по которой принимается утиль, процедура по этой кнопке создает несколько документов и один из них поступление товаров и услуг. Но, почему-то, только у одного пользователя вдруг стала выходить ошибка, что в табл. части Товары не заполнен реквизит Склад. Кэш чистил. От чего такое может быть?
    Док.ВидПоступления = Перечисления.ВидыПоступленияТоваров.НаСклад;
    Док.СкладОрдер = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(Ответственный, "ОсновнойСклад");
    Док.Подразделение = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(Ответственный, "ОсновноеПодразделение");
    Док.Ответственный = Ответственный;
    Док.ОтражатьВУправленческомУчете=Истина;
    Док.Комментарий="# Утиль. Документ создан автоматически.#";
    //Док.мВалютаРегламентированногоУчета = Док.ДоговорКонтрагента.ВалютаВзаиморасчетов;
    //Док.ВалютаДокумента = Док.ДоговорКонтрагента.ВалютаВзаиморасчетов;
    Стр = Док.Товары.Добавить();
    Ном = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", "10243");
    Стр.Номенклатура = Ном;
    Стр.Цена = ЦенаУтиль;
    Стр.Количество = Колво;
    Стр.Сумма = ЦенаУтиль * Колво;
    Стр.ЕдиницаИзмерения = Ном.ЕдиницаИзмеренияМест;
    Стр.ЕдиницаИзмеренияМест = Ном.ЕдиницаИзмеренияМест;
    Стр.Коэффициент = Ном.ЕдиницаХраненияОстатков.Коэффициент;
    Стр.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
1 Godofsin
 
28.01.14
11:32
Не проставлен в начтройках
2 Maxus43
 
28.01.14
11:32
УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(Ответственный, "ОсновнойСклад");

не указан видимо
3 Azverin
 
28.01.14
11:33
(0) вся магия - это невнимательность и незнание матчасти
4 Волшебник
 
модератор
28.01.14
11:33
(0) Тема не отражает суть сообщения
5 Melcor
 
28.01.14
11:34
(1) Проставлен
(2) Да, не указан, но почему раньше проводилось, а тут вдруг не проводит только у одного пользователя?
(3)Не спорю, но никак не могу понять в чем дело (
6 Melcor
 
28.01.14
11:35
(4) Пардоньте, буду более конкретен
7 Maxus43
 
28.01.14
11:38
(5) потому что только у этого пользователя и не проставлен, это для каждого юзера своя настройка
8 Melcor
 
28.01.14
11:38
Таки ни кто не сталкивался с подобным? (
9 Melcor
 
28.01.14
11:39
(7) Писал выше, что проставлен. Повторюсь - в коде вообще не назначается склад.
10 Maxus43
 
28.01.14
11:40
(9) выше ты писал "Да, не указан". Определись уже
11 Melcor
 
28.01.14
11:41
(10) В коде не указан
12 Maxus43
 
28.01.14
11:43
Док.СкладОрдер = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(Ответственный, "ОсновнойСклад");

заполнен или нет? на него ругается поди, отладчиком посмотри, и проверку на заполненость склада найди, там видно при каких условиях проверяет.
Можешь на всякий и кэш почистить у юзера
13 Melcor
 
28.01.14
11:46
(12) Таки еще раз напишу:
1. Кэш чистил.
2. Ругается на реквизит Склад в табл. части Товары
3. В коде, при создании документа, как можно увидеть выше, этот реквизит не заполняется.
4. Перестало работать только у одного пользователя
14 Maxus43
 
28.01.14
11:49
Таки ещё раз напишу: и проверку на заполненость склада найди, там видно при каких условиях проверяет
15 Melcor
 
28.01.14
11:50
(14) Ругается при попытке записи документа
16 13_Mult
 
28.01.14
12:01
(15) Тебе уже всё описали выше.
Смотри отладчик, как передается в склад.
17 13_Mult
 
28.01.14
12:04
(0) Бывает еще что пользователь криво заведен. Попробуй удалить его везде и завести заново.
18 Maxus43
 
28.01.14
12:20
в типовых туда копать:
"ПередЗаписью"    
// Заполнить склад и ордер в табличных частях
    СкладИзШапки    =  (Не мУказаниеСкладовВТЧ) И (ВидПоступления <> Перечисления.ВидыПоступленияТоваров.ПоОрдеру);

    ОбработкаТабличныхЧастей.ЗаполнитьСкладИОрдерВСтрокахТабЧасти(ЭтотОбъект, Товары,         СкладИзШапки);
    ОбработкаТабличныхЧастей.ЗаполнитьСкладИОрдерВСтрокахТабЧасти(ЭтотОбъект, ВозвратнаяТара, СкладИзШапки);
    ОбработкаТабличныхЧастей.ЗаполнитьСкладИОрдерВСтрокахТабЧасти(ЭтотОбъект, Оборудование,   СкладИзШапки);

в "обработкапроведения":
    ИмяТабличнойЧасти = "Товары";

    // Укажем, что надо проверить:
    СтруктураОбязательныхПолей = Новый Структура("Номенклатура, Количество, ЕдиницаИзмерения");

    // Склад в ТЧ всегда должен быть заполнен, иначе проведение будет неправильным.
    СтруктураОбязательныхПолей.Вставить("Склад");
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой