Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
zersturen
0 / 0 / 1
Регистрация: 12.03.2012
Сообщений: 166
1

Преобразование к типу "Дата" ошибка

29.04.2016, 08:38. Просмотров 1449. Ответов 9
Метки нет (Все метки)

Господа, уважаемые, добрый день, прошу помощи. 1С 8.3.7.1845 ЗУП 2.5.101. Есть процедура во внешней обработке, которая выводит на печать необходимые данные из ЗУП. Отрабатывает она все прекрасно и без проблем, но есть одно но! Есть такая строка:
1C
1
ТД=Дата(Формат(Год(РД),"ЧГ=0"),Месяц(РД),День(Стр.ПриемНаРаботу));
Если День(Стр.ПриемНаРаботу) выпадает на 31, то обработка выпадает с ошибкой "Преобразование к типу дата не может быть осуществлено...), хотя со всеми другими днями как и говорил отрабатывает на ура. В чем может быть дело?
Сама процедура:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
Процедура КнопкаВыполнитьНажатие(Кнопка)
    // Вставить содержимое обработчика.
    Если НЕ(ЗначениеЗаполнено(РД) и ЗначениеЗаполнено(Организация)) тогда
        предупреждение("Не определена организация или дата отчета");
        Возврат;
    КонецЕсли;
    Зап=Новый Запрос;
    Зап.Текст="ВЫБРАТЬ
    |   ВложенныйЗапрос.Сотрудник КАК Сотрудник,
    |   ВложенныйЗапрос.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
    |   ВложенныйЗапрос.Должность,
    |   Прием.ПриемНаРаботу,
    |   РАЗНОСТЬДАТ(Прием.ПриемНаРаботу, &РД, МЕСЯЦ) КАК МесяцыОтработано,
    |   0 КАК ДнейОтработано,
    |   0 КАК Отпуск,
    |   0 КАК ОстатокДней,
    |   0 КАК СреднедневнойЗаработок
    |ИЗ
    |   (ВЫБРАТЬ
    |       РаботникиОрганизацийСрезПоследних.Период КАК Период,
    |       РаботникиОрганизацийСрезПоследних.Регистратор КАК Регистратор,
    |       РаботникиОрганизацийСрезПоследних.НомерСтроки КАК НомерСтроки,
    |       РаботникиОрганизацийСрезПоследних.Активность КАК Активность,
    |       РаботникиОрганизацийСрезПоследних.Сотрудник КАК Сотрудник,
    |       РаботникиОрганизацийСрезПоследних.Организация КАК Организация,
    |       РаботникиОрганизацийСрезПоследних.УдалитьФизлицо КАК УдалитьФизлицо,
    |       РаботникиОрганизацийСрезПоследних.УдалитьПриказ КАК УдалитьПриказ,
    |       РаботникиОрганизацийСрезПоследних.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,
    |       РаботникиОрганизацийСрезПоследних.ОбособленноеПодразделение КАК ОбособленноеПодразделение,
    |       РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
    |       РаботникиОрганизацийСрезПоследних.Должность КАК Должность,
    |       РаботникиОрганизацийСрезПоследних.ГрафикРаботы КАК ГрафикРаботы,
    |       РаботникиОрганизацийСрезПоследних.ПериодЗавершения КАК ПериодЗавершения,
    |       РаботникиОрганизацийСрезПоследних.ЗанимаемыхСтавокЗавершения КАК ЗанимаемыхСтавокЗавершения,
    |       РаботникиОрганизацийСрезПоследних.ОбособленноеПодразделениеЗавершения КАК ОбособленноеПодразделениеЗавершения,
    |       РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизацииЗавершения КАК ПодразделениеОрганизацииЗавершения,
    |       РаботникиОрганизацийСрезПоследних.ДолжностьЗавершения КАК ДолжностьЗавершения,
    |       РаботникиОрганизацийСрезПоследних.ГрафикРаботыЗавершения КАК ГрафикРаботыЗавершения,
    |       РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния КАК ПричинаИзмененияСостояния,
    |       РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостоянияЗавершения КАК ПричинаИзмененияСостоянияЗавершения,
    |       РаботникиОрганизацийСрезПоследних.УдалитьТабельныйНомер КАК УдалитьТабельныйНомер,
    |       РаботникиОрганизацийСрезПоследних.УдалитьПричинаИзмененияСостояния КАК УдалитьПричинаИзмененияСостояния,
    |       РаботникиОрганизацийСрезПоследних.УдалитьОбособленноеПодразделение КАК УдалитьОбособленноеПодразделение,
    |       РаботникиОрганизацийСрезПоследних.ПервичныйДокумент КАК ПервичныйДокумент
    |   ИЗ
    |       РегистрСведений.РаботникиОрганизаций.СрезПоследних(&РД, Организация = &Организация) КАК РаботникиОрганизацийСрезПоследних) КАК ВложенныйЗапрос
    |       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    |           МАКСИМУМ(РаботникиОрганизаций.Период) КАК ПриемНаРаботу,
    |           РаботникиОрганизаций.Сотрудник КАК Сотрудник
    |       ИЗ
    |           РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
    |       ГДЕ
    |           РаботникиОрганизаций.Организация = &Организация
    |           И РаботникиОрганизаций.Период <= &РД
    |           И РаботникиОрганизаций.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу)
    |       
    |       СГРУППИРОВАТЬ ПО
    |           РаботникиОрганизаций.Сотрудник) КАК Прием
    |       ПО ВложенныйЗапрос.Сотрудник = Прием.Сотрудник
    |ГДЕ
    |   ВложенныйЗапрос.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
    |
    |УПОРЯДОЧИТЬ ПО
    |   ВложенныйЗапрос.Сотрудник.Наименование";
    Зап.УстановитьПараметр("Организация",Организация);
    Зап.УстановитьПараметр("РД",КонецДня(РД));
    Рез=Зап.Выполнить().Выгрузить();
    Рез.Колонки.Добавить("сч");
    Для Каждого Стр из Рез Цикл
        состояние("Обработка - "+Стр.Сотрудник);
        //Определим Количестов Дней отпуска
        Зап.Текст="ВЫБРАТЬ
        |   ОтпускаОрганизацийРаботникиОрганизации.Сотрудник,
        |   СУММА(ОтпускаОрганизацийРаботникиОрганизации.КоличествоДней) КАК КоличествоДней
        |ИЗ
        |   Документ.ОтпускаОрганизаций.РаботникиОрганизации КАК ОтпускаОрганизацийРаботникиОрганизации
        |ГДЕ
        |   ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Проведен = ИСТИНА
        |   И ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Организация = &Организация
        |   И ОтпускаОрганизацийРаботникиОрганизации.ПричинаОтсутствия = ЗНАЧЕНИЕ(Перечисление.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускЕжегодный)
        |   И ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала >= &ДН
        |   И ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания <= &РД
        |   И ОтпускаОрганизацийРаботникиОрганизации.Сотрудник = &Сотрудник
        |
        |СГРУППИРОВАТЬ ПО
        |   ОтпускаОрганизацийРаботникиОрганизации.Сотрудник
        |
        |УПОРЯДОЧИТЬ ПО
        |   ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Наименование";
        КолДн=0;
        ЗАп.УстановитьПараметр("ДН",Стр.ПриемНаРаботу);
        ЗАп.УстановитьПараметр("Сотрудник",Стр.Сотрудник);
        жж=Зап.Выполнить().Выгрузить();
        Для Каждого фф из жж Цикл
            КолДн=КолДн+фф.КоличествоДней;
        КонецЦикла;
        Стр.Отпуск=КолДн;
        ТД=Дата(Формат(Год(РД),"ЧГ=0"),Месяц(РД),День(Стр.ПриемНаРаботу));
        Если День(Стр.ПриемНаРаботу)>День(РД) тогда
            Если Месяц(РД)=1 тогда
                ТД=Дата(Год(РД)-1,1,День(Стр.ПриемНаРаботу));
            иначе
                ТД=Дата(Год(РД),Месяц(РД)-1,День(Стр.ПриемНаРаботу));
            КонецЕсли;
        КонецЕсли;
        стр.ДнейОтработано=мв_ПолучитьКоличествоДней(РД,ТД);
        Стр.ОстатокДней=(?(стр.ДнейОтработано>14,1,0)+Стр.МесяцыОтработано)*2.33;
        Если Стр.ДнейОтработано<15 тогда
            Если Цел(Стр.МесяцыОтработано/12)=Стр.МесяцыОтработано/12 тогда
                Стр.ОстатокДней=28*Цел(Стр.МесяцыОтработано/12);
            КонецЕсли;
        КонецЕсли;
        Стр.ОстатокДней=Стр.ОстатокДней-Стр.Отпуск;
        ОБ=Документы.НачислениеОтпускаРаботникамОрганизаций.СоздатьДокумент();
        Об.Организация=Организация;
        Об.Дата=РД;
        Об.Сотрудник=Стр.Сотрудник;
        Об.ДатаНачалаОсновногоОтпуска=РД;
        ОБ.ДатаНачалаСобытия =РД;
        мСведенияОВидахРасчета = Новый Соответствие;
        ПериодРасчетаСреднегоЗаработкаОкончание=РД;
        ПериодРасчетаСреднегоЗаработкаНачало=РД+86400;
        ВидРасчета=ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОплатаПоСреднемуОтпКалендарныеДни;
        СведениеОВидеРасчета = ПроведениеРасчетов.ПолучитьСведенияОВидеРасчета(мСведенияОВидахРасчета, ВидРасчета);
        МесяцевРасчетногоПериода = ?(СведениеОВидеРасчета.ПорядокОпределенияРасчетногоПериодаСреднегоЗаработка = Перечисления.ПорядокОпределенияРасчетногоПериодаСреднегоЗаработка.ПоКолдоговору,СведениеОВидеРасчета.ПериодРасчетаСреднегоЗаработка,НачислениеОтпускаРаботникамОрганизацийПереопределяемый.КоличествоМесяцевРасчетаПоЗакону(ОБ));
        //Определим счет затрат на сотрудника
        Зат=Новый Запрос;
        Зат.Текст="ВЫБРАТЬ
                  | БУОсновныеНачисления.ПериодРегистрации,
                  | БУОсновныеНачисления.СчетДт КАК сч
                  |ИЗ
                  | РегистрРасчета.БУОсновныеНачисления КАК БУОсновныеНачисления
                  |ГДЕ
                  | БУОсновныеНачисления.Организация = &Орг
                  | И БУОсновныеНачисления.Сотрудник = &Сотр";
        Зат.УстановитьПараметр("Орг",Организация);
        Зат.УстановитьПараметр("Сотр",Стр.Сотрудник);
        фф=Зат.Выполнить().Выгрузить();
        фф.Сортировать("ПериодРегистрации Возр");
        Если фф.Количество()>0 тогда
            Стр.Сч=фф[0].сч;
        КонецЕсли;
    КонецЦикла;
    Если рез.Количество()=0 тогда
        Предупреждение("Нет данных для вывода");
        Возврат;
    КонецЕсли;
    
    Таб=Новый ТабличныйДокумент;
    Макет=ПолучитьМакет(?(флСредний,"Макет1","Макет"));
    Обл=Макет.ПолучитьОбласть("Шапка");
    Обл.Параметры.РД=Формат(РД,"ДФ=dd.MM.yyyy");
    Обл.Параметры.Организация=Организация;
    Таб.Вывести(Обл);
    ИтогоСумма=0;
    ИтогоСуммаЕСН=0;
    ИтогоВсего=0;
    Если флРасшифровка и флСредний тогда
        Таб.НачатьАвтогруппировкуСтрок();
    КонецЕсли;
    Для Каждого Стр из рез Цикл
        Состояние("Обработка - "+Стр.Сотрудник);
        Если ЗначениеЗаполнено(Сотр) тогда
            Если Сотр<>Стр.Сотрудник тогда
                Продолжить;
            КонецЕсли;
        КонецЕсли;
        Обл=Макет.ПолучитьОбласть("Стр");
        Обл.Параметры.Заполнить(Стр);
        Обл.Параметры.РД=Формат(РД,"ДФ=dd.MM.yyyy");
        Если флСредний тогда
            ПорядокРасчета = Перечисления.ПорядокРасчетаОтпуска.ПоКалендарнымДням;
            мРассчитываемыеТаблицы = Новый Структура("Начисления,РасчетСреднего");
            мРассчитываемыеТаблицы.Начисления = Ложь;
            мРассчитываемыеТаблицы.РасчетСреднего = Истина;
            
            ДатаРасчета = РД;
            
            Док = Документы.НачислениеОтпускаРаботникамОрганизаций.НайтиПоНомеру("Временный", ДатаРасчета);
            Если Док.Пустая() Тогда
                текДок = Документы.НачислениеОтпускаРаботникамОрганизаций.СоздатьДокумент();
                текДок.Номер = "Временный";
            Иначе
                текДок = Док.ПолучитьОбъект();
                Если текДок.ПометкаУдаления Тогда
                    текДок.УстановитьПометкуУдаления(Ложь);
                КонецЕсли;
            КонецЕсли;
            текДок.Организация=Организация;
            текДок.Дата=РД;
            текДок.ДатаНачалаОсновногоОтпуска = НачалоДня(РД);
            текДок.ДатаОкончанияОсновногоОтпуска = КонецДня(ДатаРасчета);
            текДок.ПорядокРасчетаОсновногоОтпуска = ПорядокРасчета;
            текДок.ОсновнойОтпуск = Истина;
            текДок.ПериодРегистрации = НачалоМесяца(ДатаРасчета);
            текДок.ДатаВыплатыДохода = НачалоМесяца(ДатаРасчета);
            текДок.ДатаНачалаСобытия = ДатаРасчета;
            текДок.Сотрудник = Стр.Сотрудник;
            текДок.ПериодРасчетаСреднегоЗаработкаОкончание=КонецМесяца(ДобавитьМесяц(НачалоМесяца(РД),-1));
            текДок.ПериодРасчетаСреднегоЗаработкаНачало=НачалоДня(ДобавитьМесяц(НачалоМесяца(текДок.ПериодРасчетаСреднегоЗаработкаОкончание),-11));
            текДок.Записать();
            ЗаполнитьЗначенияСвойств(текДок, ОстаткиОтпусков.РабочийГодПериодаОтпуска(
            текДок.Сотрудник, текДок.ДатаНачалаОсновногоОтпуска, текДок.ДатаОкончанияОсновногоОтпуска, текДок.Ссылка, ТекДок.ПорядокРасчетаОсновногоОтпуска, ТекДок.ОсновнойОтпуск, ТекДок.ПорядокРасчетаОсновногоОтпуска));
            текДок.Рассчитать(мРассчитываемыеТаблицы);
            ВариантРасчетаДокумента = текДок.ОсновнойВариантРасчетаДокумента();
            ВидРасчета = ВариантРасчетаДокумента.ВидРасчета;
            мСведенияОВидахРасчета = Новый Соответствие;
            СведениеОВидеРасчета = ПроведениеРасчетов.ПолучитьСведенияОВидеРасчета(мСведенияОВидахРасчета, ВидРасчета);
            МесяцевРасчетногоПериода = 12;
            текДок.Записать();
            СреднийДневнойЗаработок = Формат(НачислениеОтпускаРаботникамОрганизацийПереопределяемый.РасчетСреднегоЗаработка(текДок, СведениеОВидеРасчета.СпособРасчета, МесяцевРасчетногоПериода, текДок.ПериодРасчетаСреднегоЗаработкаНачало, текДок.ПериодРасчетаСреднегоЗаработкаОкончание),  "ЧЦ=12; ЧДЦ=2; ЧН=");
            Обл.Параметры.СреднийЗаработок=СреднийДневнойЗаработок;
            Сумма=Окр(СреднийДневнойЗаработок*Стр.ОстатокДней,2);
            ИтогоСумма=ИтогоСумма+Сумма;
            Обл.Параметры.Сумма=Сумма;
            текДок.Записать(РежимЗаписиДокумента.Проведение);
            ВыборкаПоШапкеДокумента = текДок.СформироватьЗапросПоШапке().Выбрать();
            ВыборкаПоШапкеДокумента.Следующий();
            ТабДокумент = ФормированиеПечатныхФормЗК.ПечатьРасчетаСреднегоЗаработка(текДок.Ссылка, текДок.ДатаНачалаСобытия, ВыборкаПоШапкеДокумента.ПериодРасчетаСреднегоЗаработка, "с " + Формат(текДок.ДатаНачалаОсновногоОтпуска,"ДФ=dd.MM.yyyy") + " по " + Формат(текДок.ДатаОкончанияОсновногоОтпуска,"ДФ=dd.MM.yyyy"), ?(текДок.ПорядокРасчетаОсновногоОтпуска = Перечисления.ПорядокРасчетаОтпуска.ПоКалендарнымДням,Перечисления.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуДляОтпускаПоКалендарнымДням,Перечисления.СпособыРасчетаОплатыТруда.ПоСреднемуЗаработкуДляОтпускаПоШестидневке), НачислениеОтпускаРаботникамОрганизацийПереопределяемый.ИспользуетсяСреднеЧасовойЗаработок(текДок));
            текДок.Удалить();
            БазаЕСН=ПолучитьБазуЕСН(НачалоГода(РД),РД,Стр.Сотрудник.ФизЛицо,Организация);
            ПроцЕСН=?(БазаЕСН<512000,ПолучитьПроцЕСН(Организация,РД),10);
            ПроцТравм=ПолучитьПроцТравм(Организация,РД);
            Обл.Параметры.ПроцТравм=ПроцТравм;
            Обл.Параметры.ПроцЕСН=ПроцЕСН;
            Обл.Параметры.БазаЕСН=БазаЕСН;
            СуммаЕСН=Окр(Сумма*((ПроцЕСН+ПроцТравм)/100),2);
            ИтогоСуммаЕсн=ИтогоСуммаЕсн+СуммаЕсн;
            Обл.Параметры.СуммаЕСН=СуммаЕСН;
            Всего=Сумма+СуммаЕСН;
            Обл.Параметры.Всего=Всего;
            ИтогоВсего=ИтогоВсего+Всего;
        КонецЕсли;
        Таб.Вывести(Обл,1);
        Если флСредний и флРасшифровка тогда
            Таб.Вывести(ТабДокумент,2);
        КонецЕсли;
    КонецЦикла;
    Если флСредний тогда
        Обл=Макет.ПолучитьОбласть("ит");
        Обл.Параметры.Сумма=ИтогоСумма;
        Обл.Параметры.СуммаЕСН=ИтогоСуммаЕСН;
        Обл.Параметры.Всего=ИтогоВсего;
        Таб.Вывести(Обл,1);
    КонецЕсли;
    Если флРасшифровка и флСредний тогда
        Таб.ЗакончитьАвтогруппировкуСтрок();
    КонецЕсли;
    УниверсальныеМеханизмы.НапечататьДокумент(Таб);
КонецПроцедуры
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2016, 08:38
Ответы с готовыми решениями:

Перевод с обычной формы на управляемую: ошибка "Преобразование значения к типу Дата не может быть выполнено"
Добрый день, перевожу обычную форму на управляемую Вот часть кода нОбъект =...

ТЗ во временную таблицу. Преобразование значения к типу Дата не может быть выполнено
Здравствуйте! В общем выбрал запросом из таблицы sql дату формата дата/время(ВремяПрихода) и...

Получение значения поля типа "Дата" с формы
Добрый вечер. Помогите решить проблему. Делаю отчёт. Добавил реквизит типа &quot;Дата&quot; и на саму форму...

Ошибка: Преобразование значения к типу Число не может быть выполнено
Пытаюсь провести начисления по книге Радченко, написал алгоритм формирования различных видов...

1С 8.3 Розница 2.1.4.9 "Текущая цена розницы" и "Остаток" в форме элемента "Номенклатура"
Есть ли готовое решение, можно через внешнюю форму нужно контроль &quot;Текущая цена розницы&quot; и...

9
Tklwegsd
Эксперт 1С
787 / 564 / 195
Регистрация: 24.07.2013
Сообщений: 1,971
29.04.2016, 22:35 2
Не во всех месяцах бывает 31-е число.
0
zersturen
0 / 0 / 1
Регистрация: 12.03.2012
Сообщений: 166
30.04.2016, 10:43  [ТС] 3
Ну это понятно, а как это обойти? Есть идеи?
0
SpiRUS
10 / 10 / 5
Регистрация: 23.06.2015
Сообщений: 74
04.05.2016, 15:50 4
zersturen
1C
1
2
3
4
Если Стр.ПриемНаРаботу = 31 Тогда
ИначеЕсли Стр.ПриемНаРаботу = 30 Тогда
ИначеЕсли Стр.ПриемНаРаботу = 28 Тогда
КонецЕсли
может не очень красиво, но действенно
0
04.05.2016, 15:50
Jackshi
59 / 59 / 6
Регистрация: 16.01.2013
Сообщений: 155
04.05.2016, 16:21 5
SpiRUS, есть ещё високосный год
0
GreenkA
Форумчанин
Эксперт 1С
3003 / 1923 / 520
Регистрация: 25.06.2009
Сообщений: 6,817
04.05.2016, 18:54 6
SpiRUS, при чем тут день? Смысл в преобразовании именно даты: не в любом месяце 31 или 30 дней. Так что ваш вариант не годится.
0
zersturen
0 / 0 / 1
Регистрация: 12.03.2012
Сообщений: 166
04.05.2016, 19:04  [ТС] 7
Я решил просто сделать так:
1C
1
2
3
4
5
ДеньРД = Стр.ПриемНаРаботу
Если ДеньРД = 31 Тогда
ДеньРД = ДеньРД - 1;
КонецЕсли;
ТД=Дата(Формат(Год(РД),"ЧГ=0"),Месяц(РД),ДеньРД);
И решил не париться за 1 день, там три человека всего принято 31 числа
0
GreenkA
Форумчанин
Эксперт 1С
3003 / 1923 / 520
Регистрация: 25.06.2009
Сообщений: 6,817
04.05.2016, 19:31 8
zersturen, а если это будет февраль? Как сказано выше - еще и от високосного года зависит количество дней в феврале.
0
SpiRUS
10 / 10 / 5
Регистрация: 23.06.2015
Сообщений: 74
04.05.2016, 21:28 9
Тогда уж если не принципиальны пара дней то
1C
1
2
3
4
5
Попытка
ТД=Дата(Формат(Год(РД),"ЧГ=0"),Месяц(РД),День(Стр.ПриемНаРаботу));
Исключение
ТД=Дата(Формат(Год(РД),"ЧГ=0"),Месяц(РД),КонецПериода(Стр.ПриемНаРаботу, Месяц));
КонецПопытки
0
GreenkA
Форумчанин
Эксперт 1С
3003 / 1923 / 520
Регистрация: 25.06.2009
Сообщений: 6,817
06.05.2016, 13:05 10
SpiRUS, КонецПериода()- функция запроса.
1C
1
2
3
4
5
Попытка
ТД=Дата(Формат(Год(РД),"ЧГ=0"),Месяц(РД),День(Стр.ПриемНаРаботу));
Исключение
ТД=КонецМесяца(Дата(Формат(Год(РД),"ЧГ=0"),Месяц(РД),1));
КонецПопытки
1
06.05.2016, 13:05
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2016, 13:05

Ошибка Ошибка при вызове метода контекста (Выполнить) Ожидается выражение "ВЫБРАТЬ"
Выдает ошибку. Была пропущена точка. Исправила. Выдавал другую ошибку теперь опять эту. ...

Работа с запросом и ошибка "Ошибка при вызове метода контекста (Выполнить)"
Подскажите почему вылезает ошибка {Форма.ФормаОтчета.Форма(52)}: Ошибка при вызове метода...

На форму списка товаров добавить "ТабличноеПоле" с типом значений "ДеревоЗначений"
1С.8.0 На форму списка товаров добавить &quot;ТабличноеПоле&quot; с типом значений &quot;ДеревоЗначений&quot;. При...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.