1. 1C / Говнокод #27948

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    Функция ПолучитьПарамтерыОтправкиРеестра()
    	Адресат = ПараметрыСеанса.ТекущийПользователь.аОфис.ОфисАрхивации.Ответственный;
    	
    	Запрос = Новый Запрос;
    	Запрос.Текст = "ВЫБРАТЬ
    			               |	ТерриторииИПомещения.Ссылка КАК Ссылка
    			               |ИЗ
    			               |	Справочник.ТерриторииИПомещения КАК ТерриторииИПомещения
    			               |ГДЕ
    			               |	ТерриторииИПомещения.аОфисПредприятия = &Архив
    			               |	И НЕ ТерриторииИПомещения.ПометкаУдаления";
    	Запрос.УстановитьПараметр("Архив", Адресат.аОфис.ОфисАрхивации);
    	РЗОф = Запрос.Выполнить().Выгрузить();
    	Если РЗОф.Количество() = 0 Тогда
    		Сообщить("Офис архивации """ + Адресат.аОфис.ОфисАрхивации + """ не прикреплен к территории. Обратитесь в техническую поддержку");
    	ИначеЕсли РЗОф.Количество() > 1 Тогда
    		Сообщить("Офис архивации """ + Адресат.аОфис.ОфисАрхивации + """ прикреплен к нескольким территориям:");
    		Для Каждого СтрТер ИЗ РЗОф Цикл
    			Сообщить(СтрТер.Ссылка);
    		КонецЦикла;
    		Сообщить("Обратитесь в техническую поддержку.");
    	Иначе
    		ОфисПолучателя = РЗОф[0].Ссылка;	
    		ПодразделениеПолучателя = Адресат.Подразделение;		
    	КонецЕсли;
    
    	Возврат Новый Структура("Адресат, ОфисПолучателя, ПодразделениеПолучателя", Адресат, ОфисПолучателя, ПодразделениеПолучателя);
    КонецФункции

    alexey85, 12 Января 2022

    Комментарии (0)
  2. 1C / Говнокод #27856

    −1

    1. 1
    2. 2
    Для ТекИндекс = 0 По Объект.Товары.Количество() -1 Цикл       									   
    			Стр = Объект.Товары[ТекИндекс];

    //Интересе, а чем не устроило?:

    Для каждого Стр из Объект.Товары Цикл

    timofeysin, 06 Декабря 2021

    Комментарии (8)
  3. 1C / Говнокод #27841

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    ДокументСсылка = парВыборка.Документ;
    		Если СокрЛП(ДокументСсылка) = "" Тогда
    			Продолжить;
    		КонецЕсли;

    А как вы проверяете на ПустуюСсылку?

    timofeysin, 26 Ноября 2021

    Комментарии (11)
  4. 1C / Говнокод #27837

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    Процедура ПоказатьРасчетныеСчета()
    	ТаблицаРасчетныхСчетов.Очистить();
    	
    	Если ЭтоНовый() Тогда
    		Возврат;
    	КонецЕсли;	
    	
    	Выборка = Справочники.ТСЖ.Выбрать();
    	Пока Выборка.Следующий() Цикл
    		ТСЖНеБух = Выборка.Ссылка;
    		Если (ТСЖНеБух.ПометкаУдаления) ИЛИ (ТСЖНеБух.ЭтоУК=1) ИЛИ (ТСЖНеБух.ЭтоУК=2) Тогда 
    			Продолжить;
    		КонецЕсли;
    		
    		//--- (1)--- Все СОБСТВЕННЫЕ счета (выборка по владельцу счета)
    		Если (НЕ ТСЖНеБух.НаБалансеУК) Тогда
    			ВыбСчетов = Справочники.БанковскиеСчета.Выбрать(,ТСЖНеБух,,"Код Возр"); 
    			Пока ВыбСчетов.Следующий() Цикл
    				Если (НЕ ВыбСчетов.ПометкаУдаления) Тогда
    					ДобавитьСчет(ТСЖНеБух, ВыбСчетов.Ссылка, ВыбСчетов.Ссылка.ХранилищеУслуг);
    				КонецЕсли;	
    			КонецЦикла;
    		КонецЕсли;	
    
    		//--- (2)--- Все ЧУЖИЕ счета (обход табличной части СчетаУК)
    		Для Каждого ВыбСчет Из ТСЖНеБух.СчетаУК Цикл
    			Если  (ВыбСчет.Организация   = Справочники.ТСЖ.ПустаяСсылка()) ИЛИ
    				  (ВыбСчет.РасчетныйСчет = Справочники.БанковскиеСчета.ПустаяСсылка()) Тогда
    				  Продолжить;
    			КонецЕсли;	  
    			Если НЕ ВыбСчет.РасчетныйСчет.ПометкаУдаления Тогда
    				ДобавитьСчет(ТСЖНеБух, ВыбСчет.РасчетныйСчет, ВыбСчет.ХранилищеУслуг);
    			КонецЕсли;	
    		КонецЦикла;	
    		//----------
    	КонецЦикла;	
    КонецПроцедуры
    Процедура ДобавитьСчет(ТСЖНеБух, РСчет, Хран)
    		НовСтр               = ТаблицаРасчетныхСчетов.Добавить();
    		НовСтр.Организация   = ТСЖНеБух;
    		НовСтр.Получатель    = РСчет.Владелец;
    		НовСтр.РасчетныйСчет = РСчет;
    			
    		Если ТСЖНеБух.ВсеУслугиВОдной Тогда
    			НовСтр.Флаг      = "Да, может.";
    		Иначе	
    			МассУслуг      = глПолучитьМассивСсылокУслуг(Хран);
    			НовСтр.Флаг      = ?(МассУслуг.Найти( Ссылка ) = Неопределено, "Нет", "Да, может.");
    		КонецЕсли;	
    КонецПроцедуры

    ХранилищеЗначений, любимый(?) костыль людей, не слышавших о нормализации.
    Вместо того, чтобы сделать регистр сведений со связями (хотя бы)счёт-услуга, мы запихнём список услуг в ХЗ - реквизит счёта. Это ведь так удобно(на самом деле нет)!

    CtrlAltReset, 25 Ноября 2021

    Комментарии (4)
  5. 1C / Говнокод #27719

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    &НаСервере
    Процедура ЗагрузитьПринятыхНаСервере()
    	Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
    	
    	Если Пользователь = "Иванов Иван Юрьевич" ИЛИ Пользователь = "Пупкин Иван Дмитриевич" Тогда
    		Если ЭтотОбъект.Программа.Пустая() Тогда
    			Сообщить("Выберите программу");
    			Возврат;
    		КонецЕсли;
    		
    		Запрос = Новый Запрос;
    		Запрос.Текст = 
    		"ВЫБРАТЬ
    		|	ТекущиеКадровыеДанныеСотрудников.Сотрудник КАК Сотрудник
    		|ИЗ
    		|	РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
    		|ГДЕ
    		|	ТекущиеКадровыеДанныеСотрудников.ДатаПриема <> &ДатаУвольнения
    		|	И ТекущиеКадровыеДанныеСотрудников.ДатаПриема МЕЖДУ &Дата1 И &Дата2
    		|	И ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения = &ДатаУвольнения";
    		
    		Запрос.УстановитьПараметр("Дата1", ЭтотОбъект.Дата1);
    		Запрос.УстановитьПараметр("Дата2", ЭтотОбъект.Дата2);
    		Запрос.УстановитьПараметр("ДатаУвольнения", Дата(1,1,1));
    		
    		ТЗРезультатов = Запрос.Выполнить().Выгрузить();
    		Для Каждого ТекСтрока Из ТЗРезультатов Цикл	
    			Запрос = Новый Запрос;
    			Запрос.Текст = 
    			"ВЫБРАТЬ
    			|	ОбучениеПоОхранеТрудаОценкаПерсонала.Сотрудник КАК Сотрудник,
    			|	ОбучениеПоОхранеТрудаОценкаПерсонала.Программа КАК Программа,
    			|	ОбучениеПоОхранеТрудаОценкаПерсонала.Ответственный КАК Ответственный
    			|ИЗ
    			|	РегистрСведений.ОбучениеПоОхранеТрудаОценкаПерсонала КАК ОбучениеПоОхранеТрудаОценкаПерсонала
    			|ГДЕ
    			|	(ОбучениеПоОхранеТрудаОценкаПерсонала.Ответственный.Наименование = &Ответственный ИЛИ ОбучениеПоОхранеТрудаОценкаПерсонала.Ответственный.Наименование = &Ответственный1) 
    			|	И ОбучениеПоОхранеТрудаОценкаПерсонала.Программа = &Программа
    			|	И ОбучениеПоОхранеТрудаОценкаПерсонала.Сотрудник = &Сотрудник";
    			
    			Запрос.УстановитьПараметр("Ответственный", "Иванов Иван Юрьевич");
    			Запрос.УстановитьПараметр("Ответственный1", "Пупкин Иван Дмитриевич");
    			Запрос.УстановитьПараметр("Программа", ЭтотОбъект.Программа);
    			Запрос.УстановитьПараметр("Сотрудник", ТекСтрока.Сотрудник);
    
    			Работники = Запрос.Выполнить().Выгрузить();
    			Если Работники.Количество()>0 Тогда
    				
    			Иначе
    				МенеджерЗаписи = РегистрыСведений.ОбучениеПоОхранеТрудаОценкаПерсонала.СоздатьМенеджерЗаписи();
    				МенеджерЗаписи.Сотрудник = ТекСтрока.Сотрудник;
    				//МенеджерЗаписи.Программа = ЭтотОбъект.Программа;
    				МенеджерЗаписи.Ответственный = Справочники.Пользователи.НайтиПоНаименованию(Пользователь);
    				Попытка
    					МенеджерЗаписи.Записать(Ложь);
    					Сообщить("Добавлен сотрудник " + ТекСтрока.Сотрудник);
    				Исключение
    					Сообщить("Сотрудник " + ТекСтрока.Сотрудник + " был ранее добавлен");
    				КонецПопытки;		
    			КонецЕсли;
    			
    		КонецЦикла;	
    	Иначе	
    		Запрос = Новый Запрос;
    		Запрос.Текст = 
    		"ВЫБРАТЬ
    		|	КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник
    		|ИЗ
    		|	РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
    		|ГДЕ
    		|	КадроваяИсторияСотрудников.ВидСобытия = &ВидСобытия
    		|	И КадроваяИсторияСотрудников.Период МЕЖДУ &Дата1 И &Дата2
    		|	И КадроваяИсторияСотрудников.ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Прием)";
    		Запрос.УстановитьПараметр("Дата1", НачалоДня(ЭтотОбъект.Дата1));
    		Запрос.УстановитьПараметр("Дата2", КонецДня(ЭтотОбъект.Дата2));
    		Запрос.УстановитьПараметр("ВидСобытия",Перечисления.ВидыКадровыхСобытий.Прием);
    		ТЗРезультатов = Запрос.Выполнить().Выгрузить();
    		Для Каждого ТекСтрока Из ТЗРезультатов Цикл	
    			МенеджерЗаписи = РегистрыСведений.ОбучениеПоОхранеТрудаОценкаПерсонала.СоздатьМенеджерЗаписи();
    			МенеджерЗаписи.Сотрудник = ТекСтрока.Сотрудник;
    			МенеджерЗаписи.Программа = ЭтотОбъект.Программа;
    			МенеджерЗаписи.Ответственный = Справочники.Пользователи.НайтиПоНаименованию(Пользователь);
    			Попытка
    				МенеджерЗаписи.Записать(Ложь);
    				Сообщить("Добавлен сотрудник " + ТекСтрока.Сотрудник);
    			Исключение
    				Сообщить("Сотрудник " + ТекСтрока.Сотрудник + " был ранее добавлен");
    			КонецПопытки;	
    		КонецЦикла;

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

    Mixanhe, 13 Октября 2021

    Комментарии (8)
  6. 1C / Говнокод #27537

    −1

    1. 1
    Немного лирики в ветку

    День за днем из года в год
    Мы херачим говнокод
    Не испытывая стресс
    Мы шатаем 1С

    И работаем мы чисто
    По заветам программистов:
    "CTRL+C, CTRL+V
    И гоните мне лавэ!"

    DrAku1a, 26 Июля 2021

    Комментарии (16)
  7. 1C / Говнокод #27447

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    Функция ОпределитьВидКонтрагента(Контрагент) Экспорт
    	
    	 Запрос = Новый Запрос;
    	 
    	 Запрос.УстановитьПараметр("Контрагент", Контрагент);
    	 
    	 ТекстЗапроса = "ВЫБРАТЬ
    		|	Контрагенты.Ссылка КАК Контрагент,
    		|	Контрагенты.Представление КАК Представление,
    		|	Контрагенты.ЮрФизЛицо КАК ЮрФизЛицо
    		|ИЗ
    		|	Справочник.Контрагенты КАК Контрагенты
    		|ГДЕ
    		|	Контрагенты.ЮрФизЛицо = ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.ЮрЛицоНеРезидент)
    		|	И Контрагенты.Ссылка = &Контрагент";
    	 
    	 Запрос.Текст = ТекстЗапроса;
    	 	 
    	 РезультатЗапроса = Запрос.Выполнить();
    	 
    	 Если РезультатЗапроса.Пустой() Тогда
    		 Возврат Ложь;
    	 КонецЕсли;
    	 
    	 Выборка = РезультатЗапроса.Выбрать();
    	 
    	 Пока Выборка.Следующий() Цикл
    		 
    		 Если Контрагент = Выборка.Контрагент Тогда
    			 Возврат Истина;
    			 
    		 Иначе
    			 Возврат Ложь;
    			 
    		 КонецЕсли;
    		 
    	 КонецЦикла;
    	 
    КонецФункции

    cdpoma, 01 Июня 2021

    Комментарии (24)
  8. 1C / Говнокод #27383

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    // Заполняет документ заказ данными с сайта.
    // 
    // Параметры:
    //  ДокументОбъект - ДокументОбъект - объект документа Заказ покупателя.
    //  РеквизитыЗаказа - Структура - содержит значения реквизитов заказа, загруженных с сайта:
    //     * Ид - Идентификатор заказа, очень часто тоже что и номер.
    //     * Дата				- дата создания заказа на сайте.
    //     * Номер				- номер заказа на сайте.
    //     * ДатаОтгрузки		- дата отгрузки товара по заказу.
    //     * ВалютаДокументаКод	- трехзначный идентификатор валюты.
    //     * ВидЦенНаименование	- наименование вида цены.
    //     * СуммаВключаетНДС	- признак включения НДС.
    //     * НаименованиеСкидки	- наименование скидки.
    //     * ПроцентСкидки		- процент скидки.
    //     * СуммаСкидки		- сумма скидки по заказу.
    //     * СкладНаименование 	- наименование склада, точки самовывоза.
    //     * ПодразделениеНаименование - наименование подразделения.
    //     * Контрагент			- ссылка на контрагента, который уже был идентифицирован в базе.
    //     * АдресДоставки      - строка адреса доставки.
    //     * ТочкаСамовывоза	- ссылка на элемент справочника, который в прикладном решении является справочником точек самовывоза или Неопределено.
    //     * Товары				- табличная часть документа.
    //     * Комментарий		- текстовый комментарий.
    //  СвойстваЗаказа - Соответствие - содержит строковое представления свойств (ключ) и значений (значение) заказа.
    //  ПрикладныеПараметры - Структура - содержит параметры прикладного решения, добавленные на форму узла плана обмена.
    //  ОписаниеОшибки - Строка - текстовое представление ошибки.
    //  Успешно - Булево - признак заполнения документа.
    //
    Процедура ЗаполнитьЗаказ(ДокументОбъект, РеквизитыЗаказа, СвойстваЗаказа,
                             ПрикладныеПараметры, ОписаниеОшибки, Успешно) Экспорт
    	//++ НЕ ГОСИС
    	Валюта = Неопределено;
    	ОбменССайтамиУТ.ОбработатьВалютуXML(Валюта, РеквизитыЗаказа.ВалютаДокументаКод);
    	
    	ДокументОбъект.Дата          = РеквизитыЗаказа.Дата;
    	ДокументОбъект.Валюта        = Валюта;
    	ДокументОбъект.Соглашение    = ПрикладныеПараметры.Соглашение;
    	ДокументОбъект.Организация   = ПрикладныеПараметры.Организация;
    	ДокументОбъект.Менеджер      = ПрикладныеПараметры.Менеджер;
    	ДокументОбъект.Контрагент    = РеквизитыЗаказа.Контрагент;
    	ДокументОбъект.Партнер       = РеквизитыЗаказа.Партнер;
    	ДокументОбъект.ЦенаВключаетНДС = РеквизитыЗаказа.СуммаВключаетНДС;
    	ДокументОбъект.Склад           = ?(ЗначениеЗаполнено(РеквизитыЗаказа.ТочкаСамовывоза),
    	                                   РеквизитыЗаказа.ТочкаСамовывоза, 
    	                                   ПрикладныеПараметры.Склад);
    	
    	УсловияПродаж = ПродажиСервер.ПолучитьУсловияПродаж(ПрикладныеПараметры.Соглашение);
    	
    	Если НЕ ЗначениеЗаполнено(УсловияПродаж.ИспользуютсяДоговорыКонтрагентов) 
    		ИЛИ НЕ УсловияПродаж.ИспользуютсяДоговорыКонтрагентов Тогда
    		ДокументОбъект.ПорядокОплаты = УсловияПродаж.ПорядокОплаты;
    	Иначе
    		ДокументОбъект.ПорядокОплаты = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументОбъект.Договор, "ПорядокОплаты");
    	КонецЕсли;
    	
    	ДокументОбъект.ВернутьМногооборотнуюТару = УсловияПродаж.ВозвращатьМногооборотнуюТару;
    	ЗаполнитьЗначенияСвойств(ДокументОбъект,
    	                         УсловияПродаж,
    	                        "ХозяйственнаяОперация, ГруппаФинансовогоУчета,
    	                        |ТребуетсяЗалогЗаТару, ФормаОплаты, ГрафикОплаты");
    	Если ЗначениеЗаполнено(ДокументОбъект.ГрафикОплаты) Тогда
    		ДокументОбъект.ФормаОплаты = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументОбъект.ГрафикОплаты, "ФормаОплаты");
    	КонецЕсли;
    	
    	ДокументОбъект.ВернутьМногооборотнуюТару = УсловияПродаж.ВозвращатьМногооборотнуюТару;
    	ДокументОбъект.Приоритет = Справочники.Приоритеты.ПолучитьПриоритетПоУмолчанию(ДокументОбъект.Приоритет);
    	Если УсловияПродаж.ИспользуютсяДоговорыКонтрагентов Тогда
    		
    		ДокументОбъект.Договор = ПродажиСервер.ПолучитьДоговорПоУмолчанию(ДокументОбъект,
    		                                                                  УсловияПродаж.ХозяйственнаяОперация,
    		                                                                  Валюта);
    		
    		Если ЗначениеЗаполнено(ДокументОбъект.Договор) Тогда
    			ДокументОбъект.НалогообложениеНДС = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументОбъект.Договор,
    				"НалогообложениеНДС");
    		КонецЕсли;
    		
    	КонецЕсли;
    	
    	Если НЕ ЗначениеЗаполнено(ДокументОбъект.НалогообложениеНДС) Тогда
    		ДокументОбъект.НалогообложениеНДС = Справочники.Организации.НалогообложениеНДС(
    			ДокументОбъект.Организация,
    			ДокументОбъект.Склад,
    			ДокументОбъект.Дата);
    	КонецЕсли;
    	
    	Комментарий = "";
    	Если Не ПустаяСтрока(РеквизитыЗаказа.Комментарий) Тогда
    		Комментарий = Комментарий + НСтр("ru = 'Комментарий менеджера на сайте'") + ": " +РеквизитыЗаказа.Комментарий;
    	КонецЕсли;
    	
    	КомментарийПокупателя = СвойстваЗаказа.Получить("Комментарии покупателя");
    	Если Не КомментарийПокупателя = Неопределено И Не ПустаяСтрока(КомментарийПокупателя) Тогда
    		Комментарий = Комментарий + ?(ПустаяСтрока(Комментарий),"",Символы.ПС) + НСтр("ru = 'Комментарий покупателя на сайте'") + ": " + КомментарийПокупателя;
    	КонецЕсли;
    	
    	ДокументОбъект.Комментарий   = Комментарий;
    	
    	СтатусЗаказа = СвойстваЗаказа.Получить("Статус заказа");

    0x255, 29 Апреля 2021

    Комментарии (0)
  9. 1C / Говнокод #27291

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    // Раздел 1 продолжение, расчет графы 5 и 6.
    	Области.П010000105.Значение = Области.П010000205.Значение
    	                                         + Области.П010000305.Значение
    	                                         + Области.П010000405.Значение
    	                                         + Области.П010000505.Значение
    	                                         + Области.П010000605.Значение
    	                                         + Области.П010000705.Значение
    	                                         + Области.П010000805.Значение
    	                                         + Области.П010000905.Значение
    	                                         + Области.П010001005.Значение
    	                                         + Области.П010001105.Значение;
    	Если Области.П010000105.Значение = 0 Тогда
    		ФорматПредставленияНуля = ?(ПустаяСтрока(Области.П010000205.Текст
    	                                           + Области.П010000305.Текст
    	                                           + Области.П010000405.Текст
    	                                           + Области.П010000505.Текст
    	                                           + Области.П010000605.Текст
    	                                           + Области.П010000705.Текст
    	                                           + Области.П010000805.Текст
    	                                           + Области.П010000905.Текст
    	                                           + Области.П010001005.Текст
    	                                           + Области.П010001105.Текст), "ЧН=' '", "ЧН=");
    		Области.П010000105.Формат = РегламентированнаяОтчетностьКлиентСервер.ЗаменитьПредставлениеНуляВСтрокеФормата(Области.П010000105.Формат, ФорматПредставленияНуля);
    	КонецЕсли;
    	
    	Области.П010000106.Значение = Области.П010000206.Значение
    	                                         + Области.П010000306.Значение
    	                                         + Области.П010000406.Значение
    	                                         + Области.П010000506.Значение
    	                                         + Области.П010000606.Значение
    	                                         + Области.П010000706.Значение
    	                                         + Области.П010000806.Значение
    	                                         + Области.П010000906.Значение
    	                                         + Области.П010001006.Значение
    	                                         + Области.П010001106.Значение;
    	Если Области.П010000106.Значение = 0 Тогда
    		ФорматПредставленияНуля = ?(ПустаяСтрока(Области.П010000206.Текст
    	                                           + Области.П010000306.Текст
    	                                           + Области.П010000406.Текст
    	                                           + Области.П010000506.Текст
    	                                           + Области.П010000606.Текст
    	                                           + Области.П010000706.Текст
    	                                           + Области.П010000806.Текст
    	                                           + Области.П010000906.Текст
    	                                           + Области.П010001006.Текст
    	                                           + Области.П010001106.Текст), "ЧН=' '", "ЧН=");
    		Области.П010000106.Формат = РегламентированнаяОтчетностьКлиентСервер.ЗаменитьПредставлениеНуляВСтрокеФормата(Области.П010000106.Формат, ФорматПредставленияНуля);
    	КонецЕсли;
    	
    	Области.П010000107.Значение = Области.П010000207.Значение
    	                                         + Области.П010000307.Значение
    	                                         + Области.П010000407.Значение
    	                                         + Области.П010000507.Значение
    	                                         + Области.П010000607.Значение
    	                                         + Области.П010000707.Значение
    	                                         + Области.П010000807.Значение
    	                                         + Области.П010000907.Значение
    	                                         + Области.П010001007.Значение
    	                                         + Области.П010001107.Значение;
    	Если Области.П010000107.Значение = 0 Тогда
    		ФорматПредставленияНуля = ?(ПустаяСтрока(Области.П010000207.Текст
    	                                           + Области.П010000307.Текст
    	                                           + Области.П010000407.Текст
    	                                           + Области.П010000507.Текст
    	                                           + Области.П010000607.Текст
    	                                           + Области.П010000707.Текст
    	                                           + Области.П010000807.Текст
    	                                           + Области.П010000907.Текст
    	                                           + Области.П010001007.Текст
    	                                           + Области.П010001107.Текст), "ЧН=' '", "ЧН=");
    		Области.П010000107.Формат = РегламентированнаяОтчетностьКлиентСервер.ЗаменитьПредставлениеНуляВСтрокеФормата(Области.П010000107.Формат, ФорматПредставленияНуля);
    	КонецЕсли;

    zoebis

    TOPT, 11 Марта 2021

    Комментарии (34)
  10. 1C / Говнокод #27248

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    Запрос = Новый Запрос;
    	Запрос.УстановитьПараметр("Регистратор",              ЭтотОбъект.Отбор.Регистратор.Значение);
    	Запрос.УстановитьПараметр("НачалоПериода",            ЭтотОбъект.Отбор.Регистратор.Значение.МоментВремени());
    	Запрос.УстановитьПараметр("КонецПериода",             ЭтотОбъект.Отбор.Регистратор.Значение.МоментВремени());
    
    	Запрос.Текст = 
    	"ВЫБРАТЬ
    	|	ТаблицаСоставаДокумента.Склад,
    	|	ТаблицаСоставаДокумента.Номенклатура,
    	|	ТаблицаСоставаДокумента.Качество,
    	|	ТаблицаСоставаДокумента.ХарактеристикаНоменклатуры,
    	|	ТаблицаСоставаДокумента.СерияНоменклатуры
    	|ПОМЕСТИТЬ ВТ_Состава_Документа
    	|ИЗ
    	|	&ТаблицаСоставаДокумента КАК ТаблицаСоставаДокумента
    	|;
    	|
    	|////////////////////////////////////////////////////////////////////////////////
    	|ВЫБРАТЬ
    	|	СвободныеОстаткиОстаткиИОбороты.Склад,
    	|	СвободныеОстаткиОстаткиИОбороты.Номенклатура,
    	|	СвободныеОстаткиОстаткиИОбороты.Качество,
    	|	СвободныеОстаткиОстаткиИОбороты.ХарактеристикаНоменклатуры,
    	|	СвободныеОстаткиОстаткиИОбороты.СерияНоменклатуры,
    	|	СвободныеОстаткиОстаткиИОбороты.КоличествоНачальныйОстаток,
    	|	СвободныеОстаткиОстаткиИОбороты.КоличествоКонечныйОстаток
    	|ИЗ
    	|	РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
    	|			&НачалоПериода,
    	|			&КонецПериода,
    	|			Запись,
    	|			Движения,
    	|			НЕ Номенклатура.ВидНоменклатуры = ЗНАЧЕНИЕ(Справочник.ВидыНоменклатуры.Продукция)
    	|				И НЕ Номенклатура.ВестиУчетПоСериям
    	|				И (Склад, Номенклатура, Качество, ХарактеристикаНоменклатуры, СерияНоменклатуры) В
    	|					(ВЫБРАТЬ
    	|						ВТ_СоставаДокумента.Склад,
    	|						ВТ_СоставаДокумента.Номенклатура,
    	|						ВТ_СоставаДокумента.Качество,
    	|						ВТ_СоставаДокумента.ХарактеристикаНоменклатуры,
    	|						ВТ_СоставаДокумента.СерияНоменклатуры
    	|					ИЗ
    	|						ВТ_Состава_Документа КАК ВТ_СоставаДокумента)) КАК СвободныеОстаткиОстаткиИОбороты
    	|ГДЕ
    	|	СвободныеОстаткиОстаткиИОбороты.Регистратор = &Регистратор
    	|	И СвободныеОстаткиОстаткиИОбороты.КоличествоКонечныйОстаток < 0";

    Проверка на отрицательные остатки.....

    timm00, 11 Февраля 2021

    Комментарии (7)