Имя: Пароль:
1C
1С v8
Ошибка при начислении зарплаты в конфигурации Салон красоты:Комильфо
0 nesteruk_v
 
03.05.12
18:29
Здравствуйте! При начислении зарплаты сотруднику выдает такую ошибку:

{Документ.НачислениеЗарплаты.Форма.ФормаДокумента(900)}: Помилка при виклику методу контексту (Выполнить): {(8, 23)}: Поле не знайдено "ЗамещениеСотрудников.ДатаНач"
ЗамещениеСотрудников.<<?>>ДатаНач КАК ДатаНач,
Выборка = Запрос.Выполнить().Выбрать();

Помогите, пожалуйста, исправить ошибку!

ниже представляю код операции:

// Процедура обработки нажатия на кнопку "Заполнить и рассчитать базу"
//
Процедура ДействияФормыЗаполнитьИРасчитатьБазу(Кнопка)

Если Не ЭтоНовый() Тогда    
Ответ = Вопрос("Очистить таблицу на закладке ""База рачета""?", РежимДиалогаВопрос.ДаНет);
КонецЕсли;

Если Ответ = КодВозвратаДиалога.Да ИЛИ ЭтоНовый() Тогда
БазаРасчета.Очистить();    

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|    НачисленияСрезПоследних.Сотрудник,
|    НачисленияСрезПоследних.Начисление,
|    НачисленияСрезПоследних.П1 КАК ЗначениеП1,
|    НачисленияСрезПоследних.П2 КАК ЗначениеП2,
|    НачисленияСрезПоследних.П3 КАК ЗначениеП3,
|    НачисленияСрезПоследних.ГруппаСотрудников
|ИЗ
|    РегистрСведений.Начисления.СрезПоследних(
|     &КонПериода,
|     Организация = &Организация) КАК НачисленияСрезПоследних
|    ГДЕ НачисленияСрезПоследних.Назначить = ИСТИНА";

Запрос.УстановитьПараметр("Организация",    Организация);
Запрос.УстановитьПараметр("НачПериода",     НачалоМесяца(ПериодРегистрации));
Запрос.УстановитьПараметр("КонПериода",     КонецМесяца(ПериодРегистрации));

Результат = Запрос.Выполнить().Выгрузить();
БазаРасчета.Загрузить(Результат);

Запрос.Текст    =    "ВЫБРАТЬ РАЗЛИЧНЫЕ
|    НачисленияСрезПоследних.П1 КАК ЗначениеП1,
|    НачисленияСрезПоследних.П2 КАК ЗначениеП2,
|    НачисленияСрезПоследних.П3 КАК ЗначениеП3,
|    НачисленияСрезПоследних.ГруппаСотрудников,
|    ЗамещениеСотрудников.Сотрудник КАК Сотрудник,
|    ЗамещениеСотрудников.ВидНачисления КАК Начисление,
|    ЗамещениеСотрудников.ДатаНач КАК ДатаНач,
|    ЗамещениеСотрудников.ДатаОк КАК ДатаОК,
|    ЗамещениеСотрудников.Коэффициент КАК Коэффициент
|ИЗ
|    РегистрСведений.ЗамещениеСотрудников КАК ЗамещениеСотрудников
|     ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Начисления.СрезПоследних(
|     &КонПериода,
|     Организация = &Организация) КАК НачисленияСрезПоследних
|     ПО ЗамещениеСотрудников.ЗамещаемыйСотрудник = НачисленияСрезПоследних.Сотрудник
|     И ЗамещениеСотрудников.ВидНачисления = НачисленияСрезПоследних.Начисление
|     И ЗамещениеСотрудников.Организация = НачисленияСрезПоследних.Организация
|ГДЕ
|    ЗамещениеСотрудников.Организация = &Организация
|    И ЗамещениеСотрудников.ДатаЗамещения МЕЖДУ &НачПериода И &КонПериода и Назначить = ИСТИНА";

Выборка = Запрос.Выполнить().Выбрать();    
Пока Выборка.Следующий() Цикл
НовСтр = БазаРасчета.Добавить();
НовСтр.Сотрудник     =    Выборка.Сотрудник;
НовСтр.ГруппаСотрудников    =    Выборка.ГруппаСотрудников;
НовСтр.ЗначениеП1     =    Выборка.ЗначениеП1;
НовСтр.ЗначениеП2     =    Выборка.ЗначениеП2;
НовСтр.ЗначениеП3     =    Выборка.ЗначениеП3;
НовСтр.Начисление     =    Выборка.Начисление;
НовСтр.КоэффициентЗамещения    =    Выборка.Коэффициент;
КонецЦикла;
ЗаписатьВФорме();

РассчитатьБазуРасчета();
КонецЕсли;    

КонецПроцедуры // ДействияФормыЗаполнитьИРасчитатьБазу()
1 21stas
 
03.05.12
18:55
Посмотри, какие поля есть в РегистрСведений.ЗамещениеСотрудников
2 AVV2008
 
03.05.12
18:56
Посмотри, что есть ДатаНач в регистре ЗамещениеСотрудников?
попробуй закомментировать эту часть запроса
3 MRAK
 
03.05.12
18:58
а что там смотреть. Нет "ДатаНач". Криво походу обновили
4 nesteruk_v
 
03.05.12
19:12
И что делать теперь? По большому счету,  рассчет Замещение сотрудника мне не нужен вообще в начислении, так как никто не будет вести этот учет...
5 nesteruk_v
 
03.05.12
19:30
Блин, 2 недели времени на заполнение базы потрачено... Помогите, пожалуйста!
Может вообще отключить это ЗамещениеСотрудника. Если возможно - то как это сделать?
6 nesteruk_v
 
03.05.12
19:43
AVV2008
2 - 03.05.12 - 18:56
Посмотри, что есть ДатаНач в регистре ЗамещениеСотрудников?
попробуй закомментировать эту часть запроса

Я не особо силен в програмировании. Об этом идет речь:

// Процедура выбора периода
//
Процедура ВыбПериодНажатие(Элемент)
   
   НастройкаПериода = Новый НастройкаПериода;
   НастройкаПериода.УстановитьПериод(ЗамещаетС, ?(ЗамещаетПо = '0001-01-01', ЗамещаетПо, КонецДня(ЗамещаетПо)));
   НастройкаПериода.РедактироватьКакИнтервал    =    Истина;
   НастройкаПериода.РедактироватьКакПериод        =    Истина;
   НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;
   Если НастройкаПериода.Редактировать() Тогда
       ЗамещаетС    =    НастройкаПериода.ПолучитьДатуНачала();
       ЗамещаетПо    =    НастройкаПериода.ПолучитьДатуОкончания();
   КонецЕсли;
   
КонецПроцедуры // ВыбПериодНажатие()
7 AVV2008
 
04.05.12
13:46
если пробовать самому, то речь об этом:  // ЗамещениеСотрудников.ДатаНач КАК ДатаНач,
или обратится к тому, кто обновлял- возможно у него были какие-то идеи.
8 nesteruk_v
 
04.05.12
14:29
Проблему вылета ошибки решил удалением кода ЗамещенияСотрудника из процедуры:

удаленный фрагмент:
Запрос.Текст    =    "ВЫБРАТЬ РАЗЛИЧНЫЕ
|    НачисленияСрезПоследних.П1 КАК ЗначениеП1,
|    НачисленияСрезПоследних.П2 КАК ЗначениеП2,
|    НачисленияСрезПоследних.П3 КАК ЗначениеП3,
|    НачисленияСрезПоследних.ГруппаСотрудников,
|    ЗамещениеСотрудников.Сотрудник КАК Сотрудник,
|    ЗамещениеСотрудников.ВидНачисления КАК Начисление,
|    ЗамещениеСотрудников.ДатаНач КАК ДатаНач,
|    ЗамещениеСотрудников.ДатаОк КАК ДатаОК,
|    ЗамещениеСотрудников.Коэффициент КАК Коэффициент
|ИЗ
|    РегистрСведений.ЗамещениеСотрудников КАК ЗамещениеСотрудников
|     ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Начисления.СрезПоследних(
|     &КонПериода,
|     Организация = &Организация) КАК НачисленияСрезПоследних
|     ПО ЗамещениеСотрудников.ЗамещаемыйСотрудник = НачисленияСрезПоследних.Сотрудник
|     И ЗамещениеСотрудников.ВидНачисления = НачисленияСрезПоследних.Начисление
|     И ЗамещениеСотрудников.Организация = НачисленияСрезПоследних.Организация
|ГДЕ
|    ЗамещениеСотрудников.Организация = &Организация
|    И ЗамещениеСотрудников.ДатаЗамещения МЕЖДУ &НачПериода И &КонПериода и Назначить = ИСТИНА";

Выборка = Запрос.Выполнить().Выбрать();    
Пока Выборка.Следующий() Цикл
НовСтр = БазаРасчета.Добавить();
НовСтр.Сотрудник     =    Выборка.Сотрудник;
НовСтр.ГруппаСотрудников    =    Выборка.ГруппаСотрудников;
НовСтр.ЗначениеП1     =    Выборка.ЗначениеП1;
НовСтр.ЗначениеП2     =    Выборка.ЗначениеП2;
НовСтр.ЗначениеП3     =    Выборка.ЗначениеП3;
НовСтр.Начисление     =    Выборка.Начисление;
НовСтр.КоэффициентЗамещения    =    Выборка.Коэффициент;
КонецЦикла;
ЗаписатьВФорме();

Но теперь есть другая проблема:
после заполнения и проводки по предприятию формы "Визит" (услуга, стоимость, материалы, оплата, сотрудник и т.д.), т.е. проводится операция по всем докуметам. Перехожу в "Регистрация данных за день", нажимаю "Заполнить данными" - и ничего не происходит. Соответственно не записываются данные..., не возможно провести материалы по складу, начислить зароботную плату и т.д. Что делать?...
9 Midzgun
 
04.05.12
14:32
Нужно сравнивать конфигурацию со стандартной версией. Дописывали под вашу фирму конфу?
10 nesteruk_v
 
04.05.12
15:16
Конфигурация у меня с необьятных просторов интернета (отученная от жадности). Нашел свежее конфигурацию, но она еще жадничает. В конфигураторе "Обновление основной конфигурации" сравнил свою и поставщика. Практически по всем разделам есть изменения. В каких разделах необходимо выполнить "обновление", так чтоб не "навредить рабочей" конфигурации?
11 Конфигуратор1с
 
04.05.12
15:33
(10)воровать нехорошо.
12 nesteruk_v
 
04.05.12
15:49
(11) ... а с чего ты сделал вывод, что я своровал? Лежит себе конфигурация в свободном доступе - скачал и пользуюсь.
13 Конфигуратор1с
 
04.05.12
15:51
(12)ага. Лежит твой телефон на столе в свободном доступе - проходит мимо сотрудник взял и пользуется )))
14 also
 
04.05.12
15:51
выкиньте комильфо в помойку!!!
15 nesteruk_v
 
04.05.12
15:57
(14)предлоежние неплохое - а что взамен ставить?
16 MRAK
 
04.05.12
19:01
(15) вот посмотри:
http://infostart.ru/public/120169/