Имя: Пароль:
1C
1С v8
Программно присвоить таб.номер новому сотруднику
0 листопад
 
27.04.14
12:16
ЗУП
Пишу внешнюю обработку, которая из имеющихся физ лиц справочника "ФизЛица" создает сотрудников. Проблема - сотрудники создаются без табельных номеров. Как это побороть? Вот код:


Процедура Кнопка1Нажатие(Элемент)
    
    НаимГруппы = "Договорники";
    ГруппаФЛ = Справочники.ФизическиеЛица.НайтиПоНаименованию(НаимГруппы);
    ГруппаСотр = Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(НаимГруппы);
    
    Запрос= Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    СотрудникиОрганизаций.Ссылка,
    |    СотрудникиОрганизаций.Физлицо,
    |    СотрудникиОрганизаций.Наименование
    |ПОМЕСТИТЬ ВТ_Сотрудники
    |ИЗ
    |    Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ФизическиеЛица.Ссылка КАК СсылкаФизлица,
    |    ВТ_Сотрудники.Ссылка КАК СсылкаСотрудники,
    |    ФизическиеЛица.Родитель,
    |    ФизическиеЛица.Наименование,
    |    ФизическиеЛица.Комментарий
    |ИЗ
    |    Справочник.ФизическиеЛица КАК ФизическиеЛица
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Сотрудники КАК ВТ_Сотрудники
    |        ПО (ВТ_Сотрудники.Физлицо.Ссылка = ФизическиеЛица.Ссылка)
    |ГДЕ
    |    НЕ ФизическиеЛица.ЭтоГруппа
    |    И ФизическиеЛица.Родитель = &Группа";
    
    Запрос.УстановитьПараметр("Группа",ГруппаФЛ);
    
    Результат = Запрос.Выполнить().Выгрузить();
    
    Для Каждого Строка ИЗ Результат Цикл
        Если  Строка.СсылкаСотрудники = NULL Тогда // если нет ссылка на то что это физ лицо сотрудник то создаем нового
            
            ЭлементСправочника= Справочники.СотрудникиОрганизаций.СоздатьЭлемент();
        Иначе
            ЭлементСправочника = Строка.СсылкаСотрудники.ПолучитьОбъект(); // если сотрудник существует перезаписываем его с новыми реквизитами
        КонецЕсли;
        
        ЭлементСправочника.ПолучитьОчереднойТабельныйНомер();    //вот здесь пытаюсь создать таб.номер
        ЭлементСправочника.Физлицо=Строка.СсылкаФизлица;
        ЭлементСправочника.Родитель = ГруппаСотр;
        ЭлементСправочника.Организация=Справочники.Организации.НайтиПоКоду("000000001");
        ЭлементСправочника.ВидДоговора=Перечисления.ВидыДоговоровСФизЛицами.Подряда;    
        ЭлементСправочника.ВидЗанятости=Перечисления.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы;
        ЭлементСправочника.Актуальность=Истина;
        ЭлементСправочника.Наименование=Строка.Наименование;
        ЭлементСправочника.Записать();
    КонецЦикла;
    
КонецПроцедуры
1 Wobland
 
27.04.14
12:45
а какие варианты ответа?
2 листопад
 
27.04.14
13:17
Ап!
3 User_Agronom
 
27.04.14
13:22
Нет команды:
ЭлементСправочника.Код = <Несколько непонятно как он должен формироваться>.

Но с ЗУП общался года полтора назад, могу спутать имя реквизита.
4 User_Agronom
 
27.04.14
13:23
Попрбуй так
ЭлементСправочника.Код = ЭлементСправочника.ПолучитьОчереднойТабельныйНомер();

Или посмотри события ПриЗаписи в типовых.
5 SeraFim
 
27.04.14
13:25
Посмотри функцию

Функция ПолучитьОчереднойТабельныйНомер() Экспорт
    
    Если Не ЗначениеЗаполнено(ВидДоговора) Тогда
        Возврат "";
    КонецЕсли;
    
    Префикс = "";
    
    Запрос = Новый Запрос;
//...


Следовательно, сначала все реквизиты заполни, а потом - табельный номер установи
6 листопад
 
27.04.14
13:32
(4) не помогло
(5) перенесла в самый конец запись кода - не помогло...
7 Wobland
 
27.04.14
13:40
автор - молодец, восхищаюсь. не имея возможности применить откладчик, пыхтит, упорно движется к цели
8 User_Agronom
 
27.04.14
13:42
(4) >>посмотри события ПриЗаписи в типовых

Попробуй создать сотрудника и найди то место, где ему формируется табельный номер.
9 листопад
 
27.04.14
13:52
Вот эта функция в типовых:


// Функция формирует очередной табельный номер сотрудника
// уникальность в пределах организации и вида договора
// Возвращаемое значение:
//   Строка   – табельный номер
//
Функция ПолучитьОчереднойТабельныйНомер() Экспорт
    
    Если Не ЗначениеЗаполнено(ВидДоговора) Тогда
        Возврат "";
    КонецЕсли;
    
    Префикс = "";
    
    Запрос = Новый Запрос;
    
    Запрос.УстановитьПараметр("парамОрганизация",Организация);
    парамВидДоговора = Новый Массив;
    
    СотрудникиОрганизацийПереопределяемый.ЗаполнитьПараметрыВидовДоговоров(парамВидДоговора, ВидДоговора, Префикс);
    
    Запрос.УстановитьПараметр("парамВидДоговора",парамВидДоговора);
    Запрос.УстановитьПараметр("Ссылка",Ссылка);
    
    ТекстЗапроса =
    "ВЫБРАТЬ
    |    МАКСИМУМ(СотрудникиОрганизаций.Код) КАК Код
    |ИЗ
    |    Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
    |ГДЕ
    |    СотрудникиОрганизаций.Организация = &парамОрганизация
    |    И СотрудникиОрганизаций.ВидДоговора В(&парамВидДоговора)
    |    И СотрудникиОрганизаций.Ссылка <> &Ссылка";
    
    Запрос.Текст = ТекстЗапроса;
    РезультатаЗапроса = Запрос.Выполнить();
    Если РезультатаЗапроса.Пустой() Тогда
        Возврат ?(ЗначениеЗаполнено(Префикс), Префикс + "000000001", "0000000001");
    Иначе
        СтрокаРезультата = РезультатаЗапроса.Выгрузить()[0];
        Если НЕ ЗначениеЗаполнено(СтрокаРезультата.Код) Тогда
            Возврат ?(ЗначениеЗаполнено(Префикс), Префикс + "000000001", "0000000001");
        Иначе
            Возврат ПроцедурыУправленияПерсоналом.ПолучитьСледующийНомер(СокрП(СтрокаРезультата.Код));
        КонецЕсли;
    КонецЕсли;
    
КонецФункции // ПолучитьОчереднойТабельныйНомер()
10 SeraFim
 
27.04.14
14:15
(6) не верю =)
11 листопад
 
27.04.14
14:16
(10) Вот мсправленный код, не срабатывает:


Процедура Кнопка1Нажатие(Элемент)
    
    НаимГруппы = "Договорники";
    ГруппаФЛ = Справочники.ФизическиеЛица.НайтиПоНаименованию(НаимГруппы);
    ГруппаСотр = Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(НаимГруппы);
    
    Запрос= Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    СотрудникиОрганизаций.Ссылка,
    |    СотрудникиОрганизаций.Физлицо,
    |    СотрудникиОрганизаций.Наименование
    |ПОМЕСТИТЬ ВТ_Сотрудники
    |ИЗ
    |    Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ФизическиеЛица.Ссылка КАК СсылкаФизлица,
    |    ВТ_Сотрудники.Ссылка КАК СсылкаСотрудники,
    |    ФизическиеЛица.Родитель,
    |    ФизическиеЛица.Наименование,
    |    ФизическиеЛица.Комментарий
    |ИЗ
    |    Справочник.ФизическиеЛица КАК ФизическиеЛица
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Сотрудники КАК ВТ_Сотрудники
    |        ПО (ВТ_Сотрудники.Физлицо.Ссылка = ФизическиеЛица.Ссылка)
    |ГДЕ
    |    НЕ ФизическиеЛица.ЭтоГруппа
    |    И ФизическиеЛица.Родитель = &Группа";
    
    Запрос.УстановитьПараметр("Группа",ГруппаФЛ);
    
    Результат = Запрос.Выполнить().Выгрузить();
    
    Для Каждого Строка ИЗ Результат Цикл
        Если  Строка.СсылкаСотрудники = NULL Тогда // если нет ссылка на то что это физ лицо сотрудник то создаем нового
            
            ЭлементСправочника= Справочники.СотрудникиОрганизаций.СоздатьЭлемент();
        Иначе
            ЭлементСправочника = Строка.СсылкаСотрудники.ПолучитьОбъект(); // если сотрудник существует перезаписываем его с новыми реквизитами
        КонецЕсли;
        
        //    ЭлементСправочника.ПолучитьОчереднойТабельныйНомер();    //вот здесь пытаюсь создать таб.номер
        ЭлементСправочника.Физлицо=Строка.СсылкаФизлица;
        ЭлементСправочника.Родитель = ГруппаСотр;
        ЭлементСправочника.Организация=Справочники.Организации.НайтиПоКоду("000000001");
        ЭлементСправочника.ВидДоговора=Перечисления.ВидыДоговоровСФизЛицами.Подряда;    
        ЭлементСправочника.ВидЗанятости=Перечисления.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы;
        ЭлементСправочника.Актуальность=Истина;
        ЭлементСправочника.Наименование=Строка.Наименование;
        ЭлементСправочника.ПолучитьОчереднойТабельныйНомер(); // сюда перенесла, после заполнения всех реквизитов  
        ЭлементСправочника.Записать();
    КонецЦикла;
    
КонецПроцедуры
12 Wobland
 
27.04.14
14:18
(11) спорим, возвращает, что надо?
13 Wobland
 
27.04.14
14:18
(12) я про ПолучитьОчереднойТабельныйНомер
14 SeraFim
 
27.04.14
14:23
ЭлементСправочника.Код=ЭлементСправочника.ПолучитьОчереднойТабельныйНомер();
15 листопад
 
27.04.14
14:24
Wobland, вы всегда только ехидничаете. Реальной помощи от Вас никогда не было.
16 Wobland
 
27.04.14
14:25
(15) или просто не осилил
//я вообще сейчас злой, как последняя сволочь
17 листопад
 
27.04.14
14:26
(14) Да, в (11) опечатка, там у меня вместо:
ЭлементСправочника.ПолучитьОчереднойТабельныйНомер();

Написано:
ЭлементСправочника.Код=ЭлементСправочника.ПолучитьОчереднойТабельныйНомер();

И все равно таб.номер не присваивается...
18 листопад
 
27.04.14
14:41
Ап!
19 Любопытная
 
27.04.14
14:48
(18)Отладчик что показывает?
20 neo_matrix_123
 
27.04.14
15:12
// Функция формирует уникальный номер трудового договора
// уникальность в пределах года
//
Функция ПолучитьНомерТрудовогоДоговора(Организация, ВидДоговора, ДатаДоговора, НомерДоговора) Экспорт
    
    Если Организация.Пустая() Тогда
        Возврат НомерДоговора;
    КонецЕсли;
    
    ВидыДоговоров    = Новый Массив;
    ВидыДоговоров.Добавить(Перечисления.ВидыДоговоровСФизЛицами.ТрудовойДоговор);

    СотрудникиОрганизацийПереопределяемый.ДополнитьВидыДоговоровДляПолученияНомера(ВидыДоговоров);

    Если ВидыДоговоров.Найти(ВидДоговора) = Неопределено Тогда
        Возврат НомерДоговора;
    КонецЕсли;
    
    Запрос = Новый Запрос;
    
    ДатаДоговораДляЗапроса = ?(ЗначениеЗаполнено(ДатаДоговора), ДатаДоговора, ОбщегоНазначенияЗК.ПолучитьРабочуюДату());
    
    Запрос.УстановитьПараметр("парамОрганизация",Организация);
    Запрос.УстановитьПараметр("парамНачалоГода" ,НачалоГода(НачалоДня(ДатаДоговораДляЗапроса)));
    Запрос.УстановитьПараметр("парамКонецГода"  ,КонецГода(КонецДня(ДатаДоговораДляЗапроса)));
    Запрос.УстановитьПараметр("парамВидДоговора" ,ВидДоговора);
    
    ТекстЗапроса =
    "ВЫБРАТЬ
    |    МАКСИМУМ(СотрудникиОрганизаций.НомерДоговора) КАК НомерДок
    |ИЗ
    |    Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
    |ГДЕ
    |    СотрудникиОрганизаций.Организация = &парамОрганизация
    |    И СотрудникиОрганизаций.ВидДоговора = &парамВидДоговора
    |    И СотрудникиОрганизаций.ДатаДоговора МЕЖДУ &парамНачалоГода И &парамКонецГода";
    
    Запрос.Текст = ТекстЗапроса;
    Если Запрос.Выполнить().Пустой() Тогда
        Возврат Организация.Префикс + "0000001";
    Иначе
        
        СтрокаРезультата = Запрос.Выполнить().Выгрузить()[0];
        Если НЕ ЗначениеЗаполнено(СтрокаРезультата.НомерДок) Тогда
            Возврат Организация.Префикс + "0000001";
        Иначе
            Возврат ПроцедурыУправленияПерсоналом.ПолучитьСледующийНомер(СокрП(СтрокаРезультата.НомерДок));
        КонецЕсли;
        
    КонецЕсли;
    
КонецФункции // ПолучитьНомерТрудовогоДоговора()

// Увеличивает номер в переданной строке на 1
//
// Параметры
//  ПоследнийНомер - строка - представляет собой номер (документа, табельный и т.п.)
//
// Возвращаемое значение:
//  строка  - следующий по порядку номер
//
Функция ПолучитьСледующийНомер(ПоследнийНомер, Знач ДлинаНомера = 0) Экспорт
    
    Если ДлинаНомера = 0 Тогда
        ДлинаНомера = СтрДлина(ПоследнийНомер);
    КонецЕсли;
    Если ДлинаНомера = 0 Тогда
        Возврат "1"
    КонецЕсли;
    СчетчикСимв = ДлинаНомера;
    Пока СчетчикСимв > 0 Цикл
        Если Не ПустаяСтрока(Сред(ПоследнийНомер, СчетчикСимв, 1)) и ОбщегоНазначенияЗК.ТолькоЦифрыВСтроке(Сред(ПоследнийНомер, СчетчикСимв, 1)) Тогда
            СчетчикСимв = СчетчикСимв - 1;
        Иначе
            Прервать;
        КонецЕсли;
    КонецЦикла;
    Если СчетчикСимв = ДлинаНомера Тогда
        НомерЧисловой = 1
    Иначе
        НомерЧисловой = Число(Сред(ПоследнийНомер, СчетчикСимв + 1));
    КонецЕсли;
    Если НомерЧисловой < Pow(10, ДлинаНомера - СчетчикСимв) - 1 Тогда
        СледующийНомер = НомерЧисловой + 1;
    Иначе
        СледующийНомер = НомерЧисловой;
    КонецЕсли;
    НовыйНомер = Лев(ПоследнийНомер,  СчетчикСимв) + Формат(СледующийНомер,"ЧЦ=" + (ДлинаНомера - СчетчикСимв) + "; ЧВН=; ЧГ=0");
    Возврат НовыйНомер
    
КонецФункции // ПолучитьСледующийНомер()
21 листопад
 
27.04.14
15:12
(19) В отладчике вообще ничего не пойму...
22 листопад
 
27.04.14
15:14
(20) Это Вы скопировали из типовых. А как теперь их применить?
23 Любопытная
 
27.04.14
15:16
(21) Что не поймешь?
ЭлементСправочника.Код=ЭлементСправочника.ПолучитьОчереднойТабельныйНомер();
После выполнения этой строки Код элемента заполняется?
24 Torquader
 
27.04.14
15:57
(23) И как у вас тут успехи с девочкой-дятлом ?
25 Torquader
 
27.04.14
15:58
У меня возник вопрос - а, случайно, Листопад и Мисти - это не одно и то же ?
26 neo_matrix_123
 
27.04.14
16:04
(24) да уже из мрамора одна труха... а-н все не выходит каменный цветок!
27 neo_matrix_123
 
27.04.14
16:13
(22) ну, например, напрямую обратившись к процедурам глобального контекста из модуля вашей обработки заполнения. но только молча
28 SeraFim
 
27.04.14
16:27
(24)сидим, любуемся фотографией
29 Wobland
 
27.04.14
17:04
(28) вот бы на фотографию Михаила Иванова ещё взглянуть
30 листопад
 
27.04.14
17:17
Up!
31 zak555
 
27.04.14
17:20
(30) фотку сменишь ?
32 листопад
 
27.04.14
17:24
Вот так, табельный номер присваивается. Но нумерация почему-то идет без лидирующих нулей. Т.е. присваивает таб.номер 91, а должен быть 0000000091. Почему так происходит?


Процедура Кнопка1Нажатие(Элемент)
    
    НаимГруппы = "Договорники";
    ГруппаФЛ = Справочники.ФизическиеЛица.НайтиПоНаименованию(НаимГруппы);
    ГруппаСотр = Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(НаимГруппы);
    
    
    Запрос= Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    СотрудникиОрганизаций.Ссылка,
    |    СотрудникиОрганизаций.Физлицо,
    |    СотрудникиОрганизаций.Наименование
    |ПОМЕСТИТЬ ВТ_Сотрудники
    |ИЗ
    |    Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ФизическиеЛица.Ссылка КАК СсылкаФизлица,
    |    ВТ_Сотрудники.Ссылка КАК СсылкаСотрудники,
    |    ФизическиеЛица.Родитель,
    |    ФизическиеЛица.Наименование,
    |    ФизическиеЛица.Комментарий
    |ИЗ
    |    Справочник.ФизическиеЛица КАК ФизическиеЛица
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Сотрудники КАК ВТ_Сотрудники
    |        ПО (ВТ_Сотрудники.Физлицо.Ссылка = ФизическиеЛица.Ссылка)
    |ГДЕ
    |    НЕ ФизическиеЛица.ЭтоГруппа
    |    И ФизическиеЛица.Родитель = &Группа";
    
    Запрос.УстановитьПараметр("Группа",ГруппаФЛ);
    
    Результат = Запрос.Выполнить().Выгрузить();
    
    Для Каждого Строка ИЗ Результат Цикл
        Если  Строка.СсылкаСотрудники = NULL Тогда // если нет ссылка на то что это физ лицо сотрудник то создаем нового
            
            ЭлементСправочника= Справочники.СотрудникиОрганизаций.СоздатьЭлемент();
        Иначе
            ЭлементСправочника = Строка.СсылкаСотрудники.ПолучитьОбъект(); // если сотрудник существует перезаписываем его с новыми реквизитами
        КонецЕсли;                            
        
        ЭлементСправочника.Физлицо=Строка.СсылкаФизлица;
        ЭлементСправочника.Родитель = ГруппаСотр;
        //ЭлементСправочника.Организация=Организация;
        ЭлементСправочника.Организация=Справочники.Организации.НайтиПоКоду("000000001");
        ЭлементСправочника.ВидДоговора=Перечисления.ВидыДоговоровСФизЛицами.Подряда;    
        ЭлементСправочника.ВидЗанятости=Перечисления.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы;
        ЭлементСправочника.Актуальность=Истина;
        //ЭлементСправочника.Код=Строка.Комментарий;
        ЭлементСправочника.Наименование=Строка.Наименование;
        ЭлементСправочника.Код = ЭлементСправочника.ПолучитьОчереднойТабельныйНомер();
        
        ЭлементСправочника.Записать();
    КонецЦикла;
    
КонецПроцедуры
33 ДенисЧ
 
27.04.14
17:28
(32) продать тебе описание функции Формат()
34 ДенисЧ
 
27.04.14
17:28
?
35 Torquader
 
27.04.14
17:30
(32) Господин "тук-тук по дереву", если вы к номеру добавить нули не в состоянии, то тут 1С ничем не поможет.
Просто, табельный номер - всё-таки - число и нулей у числа в начале быть не должно.
36 SeraFim
 
27.04.14
17:52
(32)рискну предположить, что это зависит от того, какие табельные номера уже есть в базе.
То есть если у Иванова табельный номер "90", то Петрову присвоится - "91",
А если у Иванова - "0000000090", то у Петрова будет "0000000091"
37 ДенисЧ
 
27.04.14
17:56
(35) Госпожа, пrостите...
38 Wobland
 
27.04.14
17:57
(37) полной уверенности нет у многих
39 ДенисЧ
 
27.04.14
18:02
(38) А вас это так сильно беспокоит? Ну хочет господин представиться белой госпожой, почему бы и не потакнуть...
40 Torquader
 
27.04.14
18:03
(37) У "птиц с большим клювом" пол очень сложно определяется и на основные функции по превращению деревьев в щепки - никак не влияет.
Потом это "чудо" с ником, которому любой дятел позавидует было обнаружено на инфросрате, как мальчик.
41 zak555
 
27.04.14
18:07
те м, которые скрываются под ж -- кто они ?
42 Torquader
 
27.04.14
18:09
(41) Это ты у них спроси.
Хотя, в некоторых странах они даже этим гордятся.
43 zak555
 
27.04.14
18:10
это же отклонение
44 Wobland
 
27.04.14
18:12
(40) в слове "инфросрат" одна Р лишняя, по-моему
45 Torquader
 
27.04.14
18:20
(43) Если мальчику отрезать "хвостик", а девочке - зашить "дырочку", то различий между ними не останется, однако, программировать они от этого не станут.
46 Torquader
 
27.04.14
18:20
(44) Ну, извиняюсь, может быть и лишняя, но "инфосрат" как-то не очень хорошо звучит.
47 Wobland
 
27.04.14
18:35
(45) правильно. программинг высшего уровня осуществляется непосредственно 22 см.
48 Torquader
 
27.04.14
18:38
(47) То есть, если к (0) пришить "22 см", то у него больше не будет нерешённых проблем.
49 Wobland
 
27.04.14
18:39
(48) меня мама родила с один-двумя. всё остальное - годы учёбы и опыта. ну если пришить, может, хоть девчонки потянутся
50 Любопытная
 
27.04.14
18:41
Чего вы злые-то такие? Девушка за помощью обратилась, а вы сразу "дятел". А потом удивляются, чего это их козлами считают... Добрее бы надо быть к окружающим
51 Wobland
 
27.04.14
18:45
(50) была б девушка, я б ещё поудержался. но не уметь заюзать обкладчик на каких-то мелочах и продолжать тыкаться лобом в ворота.. это достойно либо презрения либо профессии гуманитарной направленности
52 Torquader
 
27.04.14
18:45
(50) В общем смотри
v8: Формат даты
И найди ещё несколько таких же тем от этого же "чуда", которое вы назвали "девушка".
P.S. девушка - она только в первый раз, а если несколько раз - то уже и не девушка.
53 Torquader
 
27.04.14
18:46
(51) Так я уже подозреваю, что это очередная реинкарнация Мисти
54 Wobland
 
27.04.14
18:47
55 Любопытная
 
27.04.14
18:48
Ну и прошли бы мимо
56 Torquader
 
27.04.14
18:49
(55) Мимо такого не проходят.
Я лучше мимо девочки пройду - пусть другие помогут, но мимо такого пройти сложно.
57 Wobland
 
27.04.14
18:50
(55) есть призрачная надежда когда-нибудь взрастить в товарище признаки самостоятельности
58 Torquader
 
27.04.14
18:50
(57) Хотя, с большей вероятности это "чудо" замкнётся в себе.